Crash / segfault in in drizzled::optimizer::SqlSelect::cleanup (this=0x3f1) at drizzled/optimizer/range.cc:388
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Drizzle |
Fix Released
|
High
|
Andrew Hutchings | ||
7.0 |
Fix Released
|
High
|
Andrew Hutchings |
Bug Description
Crashing bug on this query:
SELECT X . `col_int_key` FROM `c` AS X LEFT JOIN `a` AS Y USING ( `col_enum_key` ) WHERE X . `col_enum_key` = ( SELECT `col_int_
Backtrace:
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000733bbe in drizzled:
388 delete quick;
(gdb) backtrace
#0 0x0000000000733bbe in drizzled:
#1 0x0000000000733cb7 in ~SqlSelect (this=0x3f1, __in_chrg=<value optimized out>) at drizzled/
#2 0x00000000007c118c in drizzled:
#3 0x00000000006f3e9b in drizzled:
#4 0x00000000006f39f4 in drizzled:
#5 0x00000000007dde3b in drizzled:
#6 0x00000000007be835 in drizzled:
order=0x0, group=0x0, having=0x0, select_
#7 0x00000000007be071 in drizzled:
#8 0x00000000007ba67b in drizzled:
#9 0x0000000000813ebb in drizzled:
#10 0x00000000007ba206 in mysql_execute_
#11 0x00000000007bafc8 in drizzled:
inBuf=0x28fc548 "SELECT X . `col_int_key` FROM `c` AS X LEFT JOIN `a` AS Y USING ( `col_enum_key` ) WHERE X . `col_enum_key` = ( SELECT `col_int_
#12 0x00000000007b9b5a in drizzled:
packet=
#13 0x000000000077d2e3 in drizzled:
#14 0x000000000077cb8f in drizzled:
#15 0x00007f80559c3b54 in MultiThreadSche
#16 0x00007f80559c19e2 in session_thread (arg=0x29631c0) at plugin/
#17 0x00007f80596d19ca in start_thread (arg=<value optimized out>) at pthread_
#18 0x00007f805942e6fd in clone () at ../sysdeps/
#19 0x0000000000000000 in ?? ()
Related branches
- Patrick Crews: Approve
-
Diff: 46 lines (+17/-6)1 file modifieddrizzled/optimizer/range.cc (+17/-6)
Strangely enough, this crashes every time with the randgen, but is not working when I try to produce a test case for the test-suite.
The same query and data produces this error (rather than full-on crash):
drizzletest: At line 135: query 'SELECT X . `col_int_key` FROM `c` AS X LEFT JOIN `a` AS Y USING ( `col_enum_key` ) WHERE X . `col_enum_key` = ( SELECT `col_int_ not_null_ key` FROM `aa` WHERE `pk` = 5 ) LIMIT 8 ' failed: 1691: Received an invalid enum value '1963982848'.