Bug #22207 falcon_record_cache_memory_leak2.test leads to crash sometimes.
Submitted: 9 Sep 2006 15:35 Modified: 16 Sep 2006 16:27
Reporter: Georg Richter Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:5.2 OS:Linux (Linux)
Assigned to: Kevin Lewis CPU Architecture:Any

[9 Sep 2006 15:35] Georg Richter
Description:
Running falcon_record_cache_memory_leak2.test in mysql-5.1-falcon-kevin leads to crash some times.

 Backtrace:
  1. 8752810
 total: 398835780, threshold 19 -- scavenge
 6289680 bytes reclaimed
Activity on ./test.ndb: 64620 fetches, 0 reads, 2 writes

Program received signal SIGSEGV, Segmentation fault.
0x08635d2c in ~RecordVersion (this=0x942e1b8) at RecordVersion.cpp:53
53 priorVersion->release();

0 0x08635d2c in ~RecordVersion (this=0x942e1b8) at
RecordVersion.cpp:53
1 0x08634a3f in Record::release (this=0x942e1b8) at Record.cpp:489
0000002 0x08635d32 in ~RecordVersion (this=0x942e170) at
RecordVersion.cpp:53
0000003 0x08634a3f in Record::release (this=0x942e170) at Record.cpp:489
0000004 0x08635d32 in ~RecordVersion (this=0x942e368) at
RecordVersion.cpp:53
0000005 0x08634a3f in Record::release (this=0x942e368) at Record.cpp:489
0000006 0x08635d32 in ~RecordVersion (this=0x942e320) at
RecordVersion.cpp:53
0000007 0x08634a3f in Record::release (this=0x942e320) at Record.cpp:489
0000008 0x08635d32 in ~RecordVersion (this=0x942e518) at
RecordVersion.cpp:53
0000009 0x08634a3f in Record::release (this=0x942e518) at Record.cpp:489
0000010 0x08635d32 in ~RecordVersion (this=0x942e4d0) at
RecordVersion.cpp:53
0000011 0x08634a3f in Record::release (this=0x942e4d0) at Record.cpp:489
0000012 0x08635d32 in ~RecordVersion (this=0x942e6c8) at
RecordVersion.cpp:53
0000013 0x08634a3f in Record::release (this=0x942e6c8) at Record.cpp:489
...
...
... The same output

3834 0x086334e7 in ~RecordLeaf (this=0x93741e8) at RecordLeaf.cpp:47
3835 0x085dd45e in ~Table (this=0x9380f40) at Table.cpp:140
3836 0x08604055 in Database::dropTable (this=0x931eef0,
table=0x9380f40,
    transaction=0x0) at Database.cpp:1324
3837 0x0866345c in Nfs::Statement::dropTable (this=0x9317dd8,
    syntax=0x937d1a8) at Statement.cpp:1082
3838 0x08667942 in Nfs::Statement::executeDDL (this=0x9317dd8)
    at Statement.cpp:786
3839 0x08667d40 in Nfs::Statement::execute (this=0x9317dd8,
    sqlString=0x422bd09c "drop table mysql.\"T1\"", isQuery=false)
    at Statement.cpp:2612
3840 0x08667dfa in Nfs::Statement::execute (this=0x9317dd8,
    sqlString=0x422bd09c "drop table mysql.\"T1\"") at Statement.cpp:160
3841 0x085d5a88 in StorageDatabase::deleteTable (this=0x92d6db0,
    storageConnection=0x93182f0, tableName=0x9383fb4 "T1")
    at StorageDatabase.cpp:416
3842 0x085d8b85 in StorageTableShare::deleteTable (this=0x93825d8,
    storageConnection=0x93182f0) at StorageTableShare.cpp:97
3843 0x085d72bc in StorageTable::deleteTable (this=0x9388c18)
    at StorageTable.cpp:66
3844 0x085cbc1e in NfsStorageTable::delete_table (this=0x9323160,
    tableName=0x422be2c4 "./test/t1") at ha_falcon.cpp:476
3845 0x0833604b in ha_delete_table (thd=0x92d53c0,
table_type=0x899d160,
    path=0x422be2c4 "./test/t1", db=0x9323158 "test", alias=0x9322f90
"t1",
    generate_warning=true) at handler.cc:1369
3846 0x083692e6 in mysql_rm_table_part2 (thd=0x92d53c0,
tables=0x9322fb8,
    if_exists=false, drop_temporary=false, drop_view=false,
    dont_log_query=false) at sql_table.cc:1637
3847 0x08369820 in mysql_rm_table (thd=0x92d53c0, tables=0x9322fb8,
    if_exists=0 '\0', drop_temporary=0 '\0') at sql_table.cc:1411
3848 0x08262baf in mysql_execute_command (thd=0x92d53c0) at
sql_parse.cc:3592
3849 0x0826819a in mysql_parse (thd=0x92d53c0,
    inBuf=0x9322f40 "DROP TABLE t1", length=13) at sql_parse.cc:6103
3850 0x08268b98 in dispatch_command (command=COM_QUERY, thd=0x92d53c0,
    packet=0x931aee1 "DROP TABLE t1", packet_length=14) at
sql_parse.cc:1830
3851 0x08269ed3 in do_command (thd=0x92d53c0) at sql_parse.cc:1614
3852 0x0826a2d5 in handle_one_connection (arg=0x92d53c0) at
sql_parse.cc:1228
3853 0x40283297 in start_thread () from /lib/tls/libpthread.so.0
3854 0x4021837e in clone () from /lib/tls/libc.so.6
3855 0x422bfbb0 in ?? ()

How to repeat:
mysql-test-run.pl --gdb  falcon_record_cache_memory_leak2
[14 Sep 2006 12:21] Hakan Küçükyılmaz
Running falcon_record_cache_memory_leak2.test on Linux 32-bit with latest change set 1.2292, 2006-09-14 does not crash anymore.

Also tested:
  - falcon_bug_22207.test
  - falcon_bug_200.test
  - falcon_bug_201.test

which all pass.

Currently running objects_falcon where the creation of the objects was successful. Dropping the objects is now running for three hours already (without crash).

Regards, Hakan
[15 Sep 2006 16:28] Calvin Sun
It passes on both 32- and 64- Linux according to Hakan's latest results.
[16 Sep 2006 16:27] Hakan Küçükyılmaz
With latest change set 1.2295, 2006-09-15 falcon_savepoint passes now.

TEST                           RESULT         TIME (ms)
-------------------------------------------------------

falcon_savepoint               [ pass ]           1255
falcon_bug_22207               [ pass ]         845144
falcon_bug_200                 [ pass ]           1362
falcon_bug_201                 [ pass ]            690
falcon_bug_202                 [ pass ]            748
falcon_record_cache_memory_leak [ pass ]         444039
falcon_record_cache_memory_leak2 [ pass ]         757311
-------------------------------------------------------

Regards, Hakan