Details
- 
    Bug 
- 
    Status: Closed (View Workflow)
- 
    Major 
- 
    Resolution: Fixed
- 
    5.3.12, 5.5.45, 10.0.21, 10.1.6
- 
    None
- 
    Debian 7.8 (kernel=3.2.0-4-amd64), 16GB RAM
 CentOS 7.1 (kernel=3.10.0-229.11.1.el7.x86_64), 8GB RAM
- 
        10.1.9-2
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.