Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Cannot Reproduce
-
10.5.8
-
Windows
Description
Server crashes on Windows with the following stack trace:
Thread pointer: 0x20e647bafb8
|
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...
|
server.dll!Field_long::cmp()[field.cc:4438]
|
server.dll!ha_innobase::cmp_ref()[ha_innodb.cc:16831]
|
server.dll!_downheap()[queues.c:307]
|
server.dll!merge_buffers()[filesort.cc:1982]
|
server.dll!merge_many_buff()[filesort.cc:1636]
|
server.dll!Unique::merge()[uniques.cc:749]
|
server.dll!Unique::get()[uniques.cc:826]
|
server.dll!read_keys_and_merge_scans()[opt_range.cc:11847]
|
server.dll!QUICK_INDEX_INTERSECT_SELECT::read_keys_and_merge()[opt_range.cc:11920]
|
server.dll!join_init_read_record()[sql_select.cc:21547]
|
server.dll!JOIN_CACHE::join_matching_records()[sql_join_cache.cc:2260]
|
server.dll!JOIN_CACHE::join_records()[sql_join_cache.cc:2092]
|
server.dll!sub_select_cache()[sql_select.cc:20414]
|
server.dll!evaluate_join_record()[sql_select.cc:20843]
|
server.dll!sub_select()[sql_select.cc:20619]
|
server.dll!evaluate_join_record()[sql_select.cc:20843]
|
server.dll!sub_select()[sql_select.cc:20619]
|
server.dll!evaluate_join_record()[sql_select.cc:20843]
|
server.dll!sub_select()[sql_select.cc:20619]
|
server.dll!evaluate_join_record()[sql_select.cc:20843]
|
server.dll!sub_select()[sql_select.cc:20658]
|
server.dll!do_select()[sql_select.cc:20153]
|
server.dll!JOIN::exec_inner()[sql_select.cc:4459]
|
server.dll!JOIN::exec()[sql_select.cc:4241]
|
server.dll!mysql_select()[sql_select.cc:4657]
|
server.dll!handle_select()[sql_select.cc:417]
|
server.dll!execute_sqlcom_select()[sql_parse.cc:6266]
|
server.dll!mysql_execute_command()[sql_parse.cc:3968]
|
server.dll!mysql_parse()[sql_parse.cc:8048]
|
server.dll!dispatch_command()[sql_parse.cc:1875]
|
server.dll!do_command()[sql_parse.cc:1353]
|
server.dll!threadpool_process_request()[threadpool_common.cc:363]
|
server.dll!tp_callback()[threadpool_common.cc:194]
|
ntdll.dll!RtlReleaseSRWLockExclusive()
|
ntdll.dll!RtlReleaseSRWLockExclusive()
|
KERNEL32.DLL!BaseThreadInitThunk()
|
ntdll.dll!RtlUserThreadStart()
|
|
Trying to get some variables.
|
Some pointers may be invalid and cause the dump to abort.
|
Query (0x20e647c8510): SELECT DISTINCTROW ...
|
while executing a complex SELECT query with many tables and index_merge used in the plan. The crash happens here it seems:
4433 int Field_long::cmp(const uchar *a_ptr, const uchar *b_ptr) const
|
4434 {
|
4435 int32 a,b;
|
4436 a=sint4korr(a_ptr);
|
4437 b=sint4korr(b_ptr);
|
4438 if (unsigned_flag) -- < HERE
|
4439 return ((uint32) a < (uint32) b) ? -1 : ((uint32) a > (uint32) b) ? 1 : 0;
|
4440 return (a < b) ? -1 : (a > b) ? 1 : 0;
|
4441 }
|
and Windows mindump reports this:
CONTEXT: (.ecxr)
|
.ecxr
|
rax=00007ff9d90e6488 rbx=0000020e5d587ef0 rcx=0000020e5971cca0
|
rdx=4148214a00000000 rsi=4148214a00000000 rdi=0000020e6af3debc
|
rip=00007ff9d87bf6f7 rsp=00000076df8ad128 rbp=0000020e5d587f10
|
r8=0000020e6af3debc r9=0000000000192813 r10=0000020e6af3deb4
|
r11=0000020e6af87058 r12=0000000000000000 r13=0000000000000007
|
r14=0000020e5971cca0 r15=0000000000000003
|
iopl=0 nv up ei pl nz na pe nc
|
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010202
|
server!Field_long::cmp+0x7:
|
00007ff9`d87bf6f7 448b0a mov r9d,dword ptr [rdx] ds:4148214a`00000000=????????
|
.cxr
|
Resetting default scope
|
|
FAULTING_IP:
|
server!Field_long::cmp+7 [D:\winx64-packages\build\src\sql\field.cc @ 4438]
|
00007ff9`d87bf6f7 448b0a mov r9d,dword ptr [rdx]
|
|
EXCEPTION_RECORD: (.exr -1)
|
.exr -1
|
ExceptionAddress: 00007ff9d87bf6f7 (server!Field_long::cmp+0x0000000000000007)
|
ExceptionCode: c0000005 (Access violation)
|
ExceptionFlags: 00000000
|
NumberParameters: 2
|
Parameter[0]: 0000000000000000
|
Parameter[1]: ffffffffffffffff
|
Attempt to read from address ffffffffffffffff
|
not sure why.