Bug #84834 handle_fatal_signal (sig=11) in Gcalc_operation_reducer::get_result_thread
Submitted: 6 Feb 2017 10:43 Modified: 17 Oct 2017 5:41
Reporter: Roel Van de Paar Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: GIS Severity:S6 (Debug Builds)
Version:5.6.35 OS:Any
Assigned to: CPU Architecture:Any
Tags: debug

[6 Feb 2017 10:43] Roel Van de Paar
Description:
Core was generated by `/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/bin/mysqld --no-defaults --core -'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007fa20908a741 in __pthread_kill (threadid=<optimized out>, signo=11) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
61        val = INTERNAL_SYSCALL (tgkill, err, 3, THREAD_GETMEM (THREAD_SELF, pid),
(gdb) bt
#0  0x00007fa20908a741 in __pthread_kill (threadid=<optimized out>, signo=11) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1  0x0000000000a9cf79 in my_write_core (sig=11) at /git/MS-5.6.35_dbg/mysys/stacktrace.c:424
#2  0x000000000072c620 in handle_fatal_signal (sig=11) at /git/MS-5.6.35_dbg/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x000000000092cfd6 in Gcalc_operation_reducer::get_result_thread (this=0x7fa1d4020c30, cur=0x1, storage=0x7fa1d4020bc8, move_upward=1)
    at /git/MS-5.6.35_dbg/sql/gcalc_tools.cc:1137
#5  0x000000000092d280 in Gcalc_operation_reducer::get_line_result (this=0x7fa1d4020c30, cur=0x7fa1d40772c8, storage=0x7fa1d4020bc8) at /git/MS-5.6.35_dbg/sql/gcalc_tools.cc:1206
#6  0x000000000092d6ba in Gcalc_operation_reducer::get_result (this=0x7fa1d4020c30, storage=0x7fa1d4020bc8) at /git/MS-5.6.35_dbg/sql/gcalc_tools.cc:1301
#7  0x00000000006cc61c in Item_func_spatial_operation::val_str (this=0x7fa1d4020a48, str_value=0x7fa20967ab80) at /git/MS-5.6.35_dbg/sql/item_geofunc.cc:1061
#8  0x00000000006c930a in Item_func_as_wkt::val_str_ascii (this=0x7fa1d4020db0, str=0x7fa20967ad40) at /git/MS-5.6.35_dbg/sql/item_geofunc.cc:146
#9  0x00000000006d311c in Item_str_func::val_str_from_val_str_ascii (this=0x7fa1d4020db0, str=0x7fa20967ad40, str2=0x7fa1d4020e80) at /git/MS-5.6.35_dbg/sql/item_strfunc.cc:78
#10 0x00000000006a0396 in Item_str_ascii_func::val_str (this=0x7fa1d4020db0, str=0x7fa20967ad40) at /git/MS-5.6.35_dbg/sql/item_strfunc.h:81
#11 0x00000000006666cd in Item::send (this=0x7fa1d4020db0, protocol=0x7fa1e07874d8, buffer=0x7fa20967ad40) at /git/MS-5.6.35_dbg/sql/item.cc:6898
#12 0x0000000000724484 in Protocol::send_result_set_row (this=0x7fa1e07874d8, row_items=0x7fa1e07895f0) at /git/MS-5.6.35_dbg/sql/protocol.cc:844
#13 0x0000000000791f15 in select_send::send_data (this=0x7fa1d406b010, items=...) at /git/MS-5.6.35_dbg/sql/sql_class.cc:2543
#14 0x00000000007a78fa in JOIN::exec (this=0x7fa1d406b038) at /git/MS-5.6.35_dbg/sql/sql_executor.cc:151
#15 0x0000000000807fb7 in mysql_execute_select (thd=0x7fa1e0787000, select_lex=0x7fa1e07894d0, free_join=true) at /git/MS-5.6.35_dbg/sql/sql_select.cc:1101
#16 0x00000000008082a9 in mysql_select (thd=0x7fa1e0787000, tables=0x0, wild_num=0, fields=..., conds=0x0, order=0x7fa1e0789698, group=0x7fa1e07895d0, having=0x0,
    select_options=2147748608, result=0x7fa1d406b010, unit=0x7fa1e0788e88, select_lex=0x7fa1e07894d0) at /git/MS-5.6.35_dbg/sql/sql_select.cc:1222
#17 0x0000000000806391 in handle_select (thd=0x7fa1e0787000, result=0x7fa1d406b010, setup_tables_done_option=0) at /git/MS-5.6.35_dbg/sql/sql_select.cc:110
#18 0x00000000007e0488 in execute_sqlcom_select (thd=0x7fa1e0787000, all_tables=0x0) at /git/MS-5.6.35_dbg/sql/sql_parse.cc:5181
#19 0x00000000007d918f in mysql_execute_command (thd=0x7fa1e0787000) at /git/MS-5.6.35_dbg/sql/sql_parse.cc:2689
#20 0x00000000007e2ff8 in mysql_parse (thd=0x7fa1e0787000,
    rawbuf=0x7fa1d401f010 "SELECT ST_ASTEXT(ST_SYMDIFFERENCE(LINESTRING(POINT(0,0),POINT(POW(2,32),POW(2,32)),POINT(POW(2,32),70)),ST_ENVELOPE(LINESTRING(POINT(POW(2,64),POWER(2,64)),POINT(4294967211,0)))))", length=179, parser_state=0x7fa20967c590) at /git/MS-5.6.35_dbg/sql/sql_parse.cc:6433
#21 0x00000000007d6110 in dispatch_command (command=COM_QUERY, thd=0x7fa1e0787000, packet=0x7fa1e076b001 "", packet_length=179) at /git/MS-5.6.35_dbg/sql/sql_parse.cc:1372
#22 0x00000000007d50d4 in do_command (thd=0x7fa1e0787000) at /git/MS-5.6.35_dbg/sql/sql_parse.cc:1039
#23 0x000000000079ca7c in do_handle_one_connection (thd_arg=0x7fa1e0787000) at /git/MS-5.6.35_dbg/sql/sql_connect.cc:982
#24 0x000000000079c7ec in handle_one_connection (arg=0x7fa1e0787000) at /git/MS-5.6.35_dbg/sql/sql_connect.cc:899
#25 0x0000000000ae9335 in pfs_spawn_thread (arg=0x7fa2057f46a0) at /git/MS-5.6.35_dbg/storage/perfschema/pfs.cc:1860
#26 0x00007fa209085dc5 in start_thread (arg=0x7fa20967d700) at pthread_create.c:308
#27 0x00007fa2076e873d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

How to repeat:
SELECT ST_ASTEXT(ST_SYMDIFFERENCE(LINESTRING(POINT(0,0),POINT(POW(2,32),POW(2,32)),POINT(POW(2,32),70)),ST_ENVELOPE(LINESTRING(POINT(POW(2,64),POWER(2,64)),POINT(4294967211,0)))));
SELECT ST_ASTEXT(ST_SYMDIFFERENCE(LINESTRING(POINT(0,0),POINT(POW(2,32),POW(2,32)),POINT(POW(2,32),70)),ST_ENVELOPE(LINESTRING(POINT(POW(2,64),POWER(2,64)),POINT(4294967211,0)))));
[6 Feb 2017 11:01] MySQL Verification Team
2017-02-06 08:59:37 13216 [Note] c:\dbs\5.6\bin\mysqld: ready for connections.
Version: '5.6.36-debug'  socket: ''  port: 3560  Source distribution PULL: 2017-FEB-01
10:59:53 UTC - mysqld got exception 0xc0000005 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

key_buffer_size=8388608
read_buffer_size=131072
max_used_connections=1
max_threads=151
thread_count=1
connection_count=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 67958 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x14e31395370
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
7ff635a35f87    mysqld.exe!Gcalc_operation_reducer::get_result_thread()[gcalc_tools.cc:1137]
7ff635a3635b    mysqld.exe!Gcalc_operation_reducer::get_line_result()[gcalc_tools.cc:1207]
7ff635a35038    mysqld.exe!Gcalc_operation_reducer::get_result()[gcalc_tools.cc:1301]
7ff635a4d8ac    mysqld.exe!Item_func_spatial_operation::val_str()[item_geofunc.cc:1061]
7ff635a49ec4    mysqld.exe!Item_func_as_wkt::val_str_ascii()[item_geofunc.cc:146]
7ff635880d10    mysqld.exe!Item_str_func::val_str_from_val_str_ascii()[item_strfunc.cc:78]
7ff6358be500    mysqld.exe!Item_str_ascii_func::val_str()[item_strfunc.h:82]
7ff63582f053    mysqld.exe!Item::send()[item.cc:6896]
7ff635814832    mysqld.exe!Protocol::send_result_set_row()[protocol.cc:844]
7ff6358236dd    mysqld.exe!select_send::send_data()[sql_class.cc:2541]
7ff635b847de    mysqld.exe!JOIN::exec()[sql_executor.cc:151]
7ff635b05d0e    mysqld.exe!mysql_execute_select()[sql_select.cc:1104]
7ff635af8b39    mysqld.exe!mysql_select()[sql_select.cc:1222]
7ff635af874d    mysqld.exe!handle_select()[sql_select.cc:110]
7ff635906a33    mysqld.exe!execute_sqlcom_select()[sql_parse.cc:5182]
7ff6358f82d5    mysqld.exe!mysql_execute_command()[sql_parse.cc:2690]
7ff6358f6d6a    mysqld.exe!mysql_parse()[sql_parse.cc:6434]
7ff635900539    mysqld.exe!dispatch_command()[sql_parse.cc:1375]
7ff6358ff555    mysqld.exe!do_command()[sql_parse.cc:1039]
7ff635950f92    mysqld.exe!do_handle_one_connection()[sql_connect.cc:982]
7ff635950dc2    mysqld.exe!handle_one_connection()[sql_connect.cc:900]
7ff63617ffd5    mysqld.exe!pfs_spawn_thread()[pfs.cc:1862]
7ff635cbe446    mysqld.exe!pthread_start()[my_winthread.c:62]
7ff6362b83e5    mysqld.exe!_callthreadstartex()[threadex.c:376]
7ff6362b8637    mysqld.exe!_threadstartex()[threadex.c:359]
7ffd5c5d8364    KERNEL32.DLL!BaseThreadInitThunk()
7ffd5e5a70d1    ntdll.dll!RtlUserThreadStart()

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (14e3f70bef0): SELECT ST_ASTEXT(ST_SYMDIFFERENCE(LINESTRING(POINT(0,0),POINT(POW(2,32),POW(2,32)),POINT(POW(2,32),70)),ST_ENVELOPE(LINESTRING(POINT(POW(2,64),POWER(2,64)),POINT(4294967211,0)))))Connection ID (thread ID): 1
Status: NOT_KILLED
[6 Feb 2017 11:12] MySQL Verification Team
Thank you for the bug report. Only 5.6 debug version affected.
[19 Feb 2017 11:12] MySQL Verification Team
same as Ramesh's https://bugs.mysql.com/78201
which was duplicate of mine:
Bug 18307923 - CRASH IN GCALC_OPERATION_REDUCER::GET_RESULT_THREAD
[20 Feb 2017 6:39] MySQL Verification Team
Bug #85070 marked as duplicate of this
[17 Oct 2017 5:41] Ajo Robert
Duplicate of 83739.