Bug #38004 Running DBT2 is hitting assertion in Transaction.cpp
Submitted: 9 Jul 2008 22:34 Modified: 14 Jul 2008 19:21
Reporter: Hakan Küçükyılmaz Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0 bzr OS:Linux (RHEL5)
Assigned to: CPU Architecture:Any

[9 Jul 2008 22:34] Hakan Küçükyılmaz
Description:
Running DBT2 is hitting assertion in Transaction.cpp.

How to repeat:
I saw this assertion on our last DBT2 run on walldorf with -c128 -w20 run:

080705 11:20:39 [Note] /data0/work/mysql/mysql-6.0-falcon/sql/mysqld: ready for connections.
Version: '6.0.6-alpha'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(my_print_stacktrace+0x2c)[0xa3fcb4]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(handle_segfault+0x366)[0x638128]
/lib64/libpthread.so.0[0x372ae0de60]
/lib64/libpthread.so.0(raise+0x2d)[0x372ae0dd3d]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(Error::error(char const*, ...)+0xf9)[0x8503b9]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(Transaction::releaseDependencies()+0xc2)[0x8257fa]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(Transaction::commit()+0x1b5)[0x8263bb]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(Connection::commit()+0x5b)[0x8382b9]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(StorageConnection::commit()+0x53)[0x80888b]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(StorageInterface::commit(handlerton*, THD*, bool)+0x38)[0x80039e]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(ha_commit_one_phase(THD*, bool)+0x7c)[0x723d7e]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(ha_commit_trans(THD*, bool)+0x1a2)[0x7247ee]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(end_trans(THD*, enum_mysql_completiontype)+0x13f)[0x6453d3]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(mysql_execute_command(THD*)+0x9bc)[0x646a80]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(mysql_parse(THD*, char const*, unsigned int, char const**)+0x1d5)[0x64c607]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0xbd7)[0x64d1e3]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(do_command(THD*)+0xb7)[0x64da31]
/data0/work/mysql/mysql-6.0-falcon/sql/mysqld(handle_one_connection+0x109)[0x640511]
/lib64/libpthread.so.0[0x372ae062e7]
/lib64/libc.so.6(clone+0x6d)[0x372a2ce3bd]
[Falcon] Error: assertion (transaction->transactionId == state->transactionId || transaction->state == Available) failed at line 779 in file Transaction.cpp

080705 11:51:17 - mysqld got signal 6 ;
[9 Jul 2008 22:45] Vladislav Vaintroub
Olav sees the same assertion in Bug#35932
[9 Jul 2008 22:48] Vladislav Vaintroub
suspect duplicate of Bug#35932
[14 Jul 2008 18:15] Hakan Küçükyılmaz
Vlad,

the stack traces look slightly different. What do you think?

Bug#38004
    Transaction::releaseDependencies()
    Transaction::commit()
    Connection::commit()
    StorageConnection::commit()
    StorageInterface::commit()

Bug#35932
    Transaction::releaseDependencies()
    Transaction::commitNoUpdates()
    Transaction::commit()
    Connection::commit()
    StorageConnection::commit()
    StorageInterface::commit()
[14 Jul 2008 19:13] Vladislav Vaintroub
Hakan, you are right saying that callstacks is slightly different, the intuition
says that the cause is the same (the intuition can be wrong however) and the ASSERT is also the same. if you're think that this problem has different  cause,
feel free to set the problem status to whatever you think is appropriate.
[14 Jul 2008 19:21] Hakan Küçükyılmaz
Same assertion. Setting back to duplicate.