Details
Description
I have got a segmentation fault error with query.
A client take a message - Error Code: 2013. Lost connection to MySQL server during query.
Query
insert into _tmp (id, r) select id,p from ( select id, d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d as p from ( select id, if(r=r,1,2) as d from _tmp ) a ) b on duplicate key update r=p;
Table _tmp has a structure:
CREATE TABLE `_tmp` ( `id` int(10) unsigned NOT NULL, `r` float NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
But if simplify query the error will go away.
For example: replace one or more '+d' on '+1'
or replace 'r=r' on 'r=1'
or replace 'r=p' on 'r=1'.
The error is repeatable on MariaDB 5.5.45, 10.0.21, 10.1.6.
There is no error on Mysql 5.5 and 5.0.
Error log shows:
150817 4:15:17 [ERROR] mysqld got signal 11 ; Server version: 10.1.6-MariaDB-1~wheezy-log key_buffer_size=134217728 read_buffer_size=2097152 max_used_connections=3 max_threads=102 thread_count=2 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 759823 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x0x7f333dbde008 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... stack_bottom = 0x7f3370172e30 thread_stack 0x48000 /usr/sbin/mysqld(my_print_stacktrace+0x2b)[0x7f3370cb658b] /usr/sbin/mysqld(handle_fatal_signal+0x455)[0x7f337084de05] /lib/x86_64-linux-gnu/libpthread.so.0(+0xf0a0)[0x7f336fe3f0a0] Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (0x7f335602d020): is an invalid pointer Connection ID (thread ID): 5 Status: NOT_KILLED
------------------------------------------
Binary log mariadb-bin.000001 is in the private uploads.
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Thanks for the report and the test case.