Description:
A 10 warehouse DBT2 run with 32 concurrent users shows a crash, sometimes.
How to repeat:
mysqld: my_new.cc:50: int __cxa_pure_virtual(): Assertion `"Pure virtual method called." == "Aborted"' failed.
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(print_stacktrace+0x27)[0x786017]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(handle_segfault+0x336)[0x63b0b6]
/lib64/libpthread.so.0[0x2b14de800c10]
/lib64/libc.so.6(gsignal+0x35)[0x2b14deeaeb95]
/lib64/libc.so.6(abort+0x110)[0x2b14deeaff90]
/lib64/libc.so.6(__assert_fail+0xf6)[0x2b14deea8256]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(__cxa_pure_virtual+0x2a)[0x9e1f0a]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(Sync::lock(LockType, int)+0x4d)[0x7ea65d]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(Transaction::waitForTransaction()+0x41)[0x7fb251]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(Transaction::getRelativeState(Transaction*, unsigned int, unsigned int)+0x126)[0x7fc526]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(Transaction::getRelativeState(Record*, unsigned int)+0x4e)[0x7fc64e]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(Table::fetchForUpdate(Transaction*, Record*, bool)+0x60)[0x7f0c70]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(StorageDatabase::nextIndexed(StorageTable*, void*, int, bool)+0x64)[0x7e0e94]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(StorageInterface::index_next(unsigned char*)+0xaf)[0x7d747f]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(StorageInterface::read_range_first(st_key_range const*, st_key_range const*, bool, bool)+0x181)[0x7d5641]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(handler::multi_range_read_next(char**)+0x8f)[0x72d96f]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(QUICK_RANGE_SELECT::get_next()+0x36)[0x715a56]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld[0x72a29d]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(mysql_update(THD*, TABLE_LIST*, List<Item>&, List<Item>&, Item*, unsigned int, st_order*, unsigned long long, enum_duplicates, bool)+0x7cb)[0x6d58fb]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(mysql_execute_command(THD*)+0x4bc2)[0x64e5e2]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(mysql_parse(THD*, char const*, unsigned int, char const**)+0x331)[0x651771]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0x913)[0x652093]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(do_command(THD*)+0xc6)[0x652cc6]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(handle_one_connection+0xf4)[0x6438e4]
/lib64/libpthread.so.0[0x2b14de7f9143]
/lib64/libc.so.6(__clone+0x6d)[0x2b14def3e74d]
080523 14:00:41 - mysqld 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.
key_buffer_size=8388608
read_buffer_size=1048576
max_used_connections=32
max_threads=1601
thread_count=32
connection_count=32
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 4942961 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
thd: 0x1350b80
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...
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x135c100 = UPDATE warehouse
SET w_ytd = w_ytd + 4219.589844
WHERE w_id = 6
thd->thread_id=49
thd->killed=NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
Suggested fix:
Don't crash.