crash on STRAIGHT_JOIN query - lt-drizzled: drizzled/diagnostics_area.cc:119: void drizzled::Diagnostics_area::set_eof_status(drizzled::Session*): Assertion `! is_set()' failed.

Bug #929266 reported by Patrick Crews
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Drizzle
Confirmed
Undecided
Unassigned

Bug Description

This randgen-generated monstrosity:
(will work on simplification as time permits)

SELECT STRAIGHT_JOIN table2 . `col_bigint_not_null_key` AS field1 , table2 . `pk` AS field2 , table1 . `col_enum_key` AS field3 , table1 . `pk` AS field4 FROM ( C AS table1 INNER JOIN ( ( DD AS table2 STRAIGHT_JOIN BB AS table3 ON (table3 . `col_char_1024_key` = table2 . `col_char_10_not_null_key` ) ) ) ON (table3 . `col_char_1024_not_null` = table2 . `col_char_10_key` ) ) WHERE ( ( table1 . `col_int_not_null` , table3 . `col_bigint_key` ) IN ( SELECT SUBQUERY1_t1 . `col_int_not_null` AS SUBQUERY1_field1 , SUM( SUBQUERY1_t1 . `col_int_not_null_key` ) AS SUBQUERY1_field2 FROM ( AA AS SUBQUERY1_t1 INNER JOIN AA AS SUBQUERY1_t2 ON (SUBQUERY1_t2 . `col_int_not_null_key` = SUBQUERY1_t1 . `col_int_not_null` ) ) WHERE ( SUBQUERY1_t1 . `col_char_1024` >= SUBQUERY1_t1 . `col_char_1024_key` AND SUBQUERY1_t2 . `col_bigint` = 8 ) ) ) AND table3 . `col_char_1024_not_null_key` <= 'r'

is causing this crash output:
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: 127 rollback segment(s) active.
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
lt-drizzled: drizzled/diagnostics_area.cc:119: void drizzled::Diagnostics_area::set_eof_status(drizzled::Session*): Assertion `! is_set()' failed.
120208 21:16:40 - drizzled got signal 6;
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.

read_buffer_size=131072
max_used_connections=3
connection_count=2
It is possible that drizzled could use up to
(read_buffer_size + sort_buffer_size)*thread_count
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

call_backtrace() began at drizzled/signal_handler.cc:156 for drizzled_handle_segfault()
Number of stack frames obtained: 28
/drizzle/drizzled/.libs/lt-drizzled() [0x6cd40e]
()
gsignal()
abort()
__assert_fail()
/drizzle/drizzled/.libs/lt-drizzled() [0x525cd9]
drizzled::Session::my_eof()
/drizzle/drizzled/.libs/lt-drizzled() [0x6f3d2f]
/drizzle/drizzled/.libs/lt-drizzled() [0x6faf2e]
/drizzle/drizzled/.libs/lt-drizzled() [0x60fee7]
/drizzle/drizzled/.libs/lt-drizzled() [0x6f4bf7]
/drizzle/drizzled/.libs/lt-drizzled() [0x6f44cc]
/drizzle/drizzled/.libs/lt-drizzled() [0x6f0ae3]
/drizzle/drizzled/.libs/lt-drizzled() [0x743a73]
/drizzle/drizzled/.libs/lt-drizzled() [0x6f05cb]
/drizzle/drizzled/.libs/lt-drizzled() [0x6f148a]
/drizzle/drizzled/.libs/lt-drizzled() [0x6efd5b]
drizzled::Session::executeStatement()
drizzled::Session::run()
()
()
()
()
()
thread_proxy()
()
clone()

Related branches

Changed in drizzle:
status: New → Confirmed
description: updated
Revision history for this message
Patrick Crews (patrick-crews) wrote :

To repeat it - from the attached branch, one can run:
make test-randgen
or cd tests/kewpie ; ./kewpie.py --suite=randgen_basic optimizerSubquery_test

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.