Bug #38004 Running DBT2 is hitting assertion in Transaction.cpp
Submitted: 10 Jul 2008 0:34 Modified: 14 Jul 2008 21:21
Reporter: Hakan Kuecuekyilmaz
Status: Duplicate
Category:Server: Falcon Severity:S3 (Non-critical)
Version:6.0 bzr OS:Linux (RHEL5)
Assigned to: Target Version:

[10 Jul 2008 0:34] Hakan Kuecuekyilmaz
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 ;
[10 Jul 2008 0:45] Vladislav Vaintroub
Olav sees the same assertion in Bug#35932
[10 Jul 2008 0:48] Vladislav Vaintroub
suspect duplicate of Bug#35932
[14 Jul 2008 20:15] Hakan Kuecuekyilmaz
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 21: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 21:21] Hakan Kuecuekyilmaz
Same assertion. Setting back to duplicate.