Bug #41472 | Falcon crash in MemFreeBlock::findNextLargest | ||
---|---|---|---|
Submitted: | 15 Dec 2008 13:54 | Modified: | 26 May 2010 17:50 |
Reporter: | Philip Stoev | Email Updates: | |
Status: | Unsupported | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S1 (Critical) |
Version: | 6.0-falcon-team | OS: | Any |
Assigned to: | Kevin Lewis | CPU Architecture: | Any |
Tags: | F_MEMORY |
[15 Dec 2008 13:54]
Philip Stoev
[13 May 2009 10:57]
Olav Sandstå
The same crash happened when running the falcon_chill_thaw test using the latest source from the mysql-6.0-falcon-team tree. The call stack is identical for the parts that involves the Falcon memory manager but it is called from a different part of the Falcon code. The new call stack: #3 0x082c2082 in handle_segfault (sig=11) at mysqld.cc:2710 #4 <signal handler called> #5 0x085e2d15 in MemFreeBlock::findNextLargest (this=0x8becf74, size=64) at MemFreeBlock.cpp:153 #6 0x0856533c in MemMgr::alloc (this=0x8becf40, s=64) at MemMgr.cpp:453 #7 0x08565687 in MemMgr::allocateDebug (this=0x8becf40, size=35, fileName=0x8a01160 "Record.cpp", line=1043) at MemMgr.cpp:581 #8 0x085669a3 in MemMgrPoolAllocateDebug (pool=0x8becf40, s=35, file=0x8a01160 "Record.cpp", line=1043) at MemMgr.cpp:126 #9 0x085f91c1 in Record::allocRecordData (this=0xae326fe8, length=35) at MemoryManager.h:75 #10 0x085f95fc in Record::setEncodedRecord (this=0xae326fe8, stream=0xa707f284, interlocked=true) at Record.cpp:728 #11 0x085fde62 in RecordVersion::thaw (this=0xae326fe8) at RecordVersion.cpp:436 #12 0x085fdb4f in RecordVersion::getRecordData (this=0xae326fe8) at RecordVersion.cpp:538 #13 0x085fe38b in RecordVersion::fetchVersion (this=0xae326fe8, trans=0xb72843d0) at RecordVersion.cpp:197 #14 0x0856cbde in StorageDatabase::nextRow (this=0xb70c0158, storageTable=0xb74693c8, recordNumber=0, lockForUpdate=false) at StorageDatabase.cpp:295 #15 0x08572f6a in StorageTable::next (this=0xb74693c8, recordNumber=0, lockForUpdate=false) at StorageTable.cpp:161 #16 0x0855d2b8 in StorageInterface::rnd_next (this=0xbd69898, buf=0xbd69a70 "") at ha_falcon.cpp:653 #17 0x083ff03b in rr_sequential (info=0xbd798dc) at records.cc:390 #18 0x083448a7 in join_init_read_record (tab=0xbd79898) at sql_select.cc:17086 #19 0x08347cf5 in sub_select (join=0xbd7b660, join_tab=0xbd79898, end_of_records=false) at sql_select.cc:16280 #20 0x08354335 in do_select (join=0xbd7b660, fields=0xbd609c4, table=0x0, procedure=0x0) at sql_select.cc:15844 #21 0x0836eee4 in JOIN::exec (this=0xbd7b660) at sql_select.cc:2886 #22 0x08369a8d in mysql_select (thd=0xbd5f5e0, rref_pointer_array=0xbd60a34, tables=0xbd783d8, wild_num=1, fields=@0xbd609c4, conds=0xbd789a8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147764736, result=0xbd78af8, unit=0xbd60694, select_lex=0xbd60930) at sql_select.cc:3067 #23 0x0836f1f4 in handle_select (thd=0xbd5f5e0, lex=0xbd60638, result=0xbd78af8, setup_tables_done_option=0) at sql_select.cc:310 #24 0x082d23af in execute_sqlcom_select (thd=0xbd5f5e0, all_tables=0xbd783d8) at sql_parse.cc:4949 #25 0x082d3482 in mysql_execute_command (thd=0xbd5f5e0) at sql_parse.cc:2157 #26 0x082dbfbb in mysql_parse (thd=0xbd5f5e0, inBuf=0xbd78248 "SELECT * FROM `A` WHERE `date_key` < 'mfmfxnxnokokibibfdfd'", length=59, found_semicolon=0xa7080e80) at sql_parse.cc:5964 #27 0x082dd13d in dispatch_command (command=COM_QUERY, thd=0xbd5f5e0, packet=0xbd6c389 "", packet_length=59) at sql_parse.cc:1049 #28 0x082de3ce in do_command (thd=0xbd5f5e0) at sql_parse.cc:731 #29 0x082cad73 in handle_one_connection (arg=0xbd5f5e0) at sql_connect.cc:1146 #30 0x0089a45b in start_thread () from /lib/libpthread.so.0 #31 0x007f1c4e in clone () from /lib/libc.so.6