| Bug #39456 | Falcon: assertion (false) failed at line 258 in file RecordLocatorPage.cpp | ||
|---|---|---|---|
| Submitted: | 15 Sep 2008 18:01 | Modified: | 13 Dec 2008 7:02 | 
| Reporter: | Alexey Stroganov | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Falcon storage engine | Severity: | S1 (Critical) | 
| Version: | 6.0.7 | OS: | Any | 
| Assigned to: | Sergey Vojtovich | CPU Architecture: | Any | 
| Tags: | F_PAGE IO, pb2, pushbuild, test failure | ||
   [28 Oct 2008 14:55]
   John Embretsen        
  This assertion fails consistently in the falcon_pagesize_32K test of Pushbuild 2, in the mysql-6.0-falcon-team branch (Linux and Windows). I have reproduced it by running the following command on a linux host, from a copy of the (internal) mysql-test-extra-6.0 bzr repository (directory mysql-test/gentest): perl runall.pl \ --basedir=/export/home/tmp/je159969/mysql/bzr-repos/mysql-6.0-falcon-team \ --reporters=Deadlock,ErrorLog,Backtrace,Recovery,WinPackage \ --mysqld=--loose-falcon-lock-wait-timeout=1 \ --mysqld=--loose-falcon-debug-mask=2 \ --mysqld=--log-output=none \ --mysqld=--log=off \ --mysqld=--skip-safemalloc \ --duration=1200 \ --engine=falcon \ --grammar=conf/falcon_pagesize.yy \ --mysqld=--falcon-page-size=32K \ --gendata=conf/falcon_pagesize32K.zz \ --queries=100000 See also Bug#33068 (Closed) (MySQL/Falcon crashes due to corruption of RecordLocatorPage).
   [25 Nov 2008 17:55]
   Kevin Lewis        
  Sergey, In order to distribute the BETA bugs better, I thought you might want to take a look at this. It seems to be limited to 32k pages. Maybe you can figure out what causes the page corruption.
   [3 Dec 2008 15:32]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/60503 2922 Sergey Vojtovich 2008-12-03 BUG#39456 - Falcon: assertion (false) failed at line 258 in file RecordLocatorPage.cpp Falcon in-memory data page structures may get corrupt and cause assertion failures in certain cases. Fixed two integer overruns.
   [4 Dec 2008 13:24]
   Bugs System        
  A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/60600 2922 Sergey Vojtovich 2008-12-04 BUG#39456 - Falcon: assertion (false) failed at line 258 in file RecordLocatorPage.cpp Falcon in-memory data page structures may get corrupt and cause assertion failures in certain cases. Fixed two integer overruns.
   [11 Dec 2008 14:20]
   Bugs System        
  Pushed into 6.0.9-alpha (revid:svoj@mysql.com-20081204122204-2qd3h26aefbxdjey) (version source revid:hky@sun.com-20081205164847-vbocpvlyf6fbxkkj) (pib:5)
   [13 Dec 2008 7:02]
   MC Brown        
  No documentation needed.


Description: Following assert happened during run of mysql-bench test: [Falcon] Error: assertion (false) failed at line 258 in file RecordLocatorPage.cpp bt: (gdb) bt #0 0x00002add8d7b74c5 in pthread_kill () from /lib64/libpthread.so.0 #1 0x0000000000644dbe in handle_segfault (sig=6) at mysqld.cc:2660 #2 <signal handler called> #3 0x00002add8d7b9fed in raise () from /lib64/libpthread.so.0 #4 0x000000000087ef2f in Error::error (string=<value optimized out>) at Error.cpp:94 #5 0x000000000090b714 in RecordLocatorPage::corrupt (this=0x2aaaaca14000) at RecordLocatorPage.cpp:258 #6 0x000000000090b8e1 in RecordLocatorPage::insertSpaceSlot (this=0x2aaaaca14000, slot=0, availableSpace=6) at RecordLocatorPage.cpp:207 #7 0x00000000008cd208 in Section::storeRecord (this=0x2aaab4ef0d28, recordLocatorPage=0x2aaaaca14000, indexPageNumber=21015, index=<value optimized out>, stream=0x428033d0, transId=2517, earlyWrite=false) at Section.cpp:724 #8 0x00000000008ce32b in Section::updateRecord (this=0x2aaab4ef0d28, recordNumber=<value optimized out>, stream=0x428033d0, transId=2517, earlyWrite=false) at Section.cpp:586 #9 0x0000000000874265 in Dbb::updateRecord (this=0x2aaaab4b8060, sectionId=<value optimized out>, recordId=99764, stream=0x428033d0, transId=2517, earlyWrite=false) at Dbb.cpp:350 #10 0x00000000008c6bc3 in SRLUpdateRecords::commit (this=0x42803e78) at SRLUpdateRecords.cpp:369 #11 0x00000000008db561 in SerialLogTransaction::commit (this=0x2aaaab681cd8) at SerialLogTransaction.cpp:92 #12 0x00000000008fe348 in Gopher::gopherThread (this=0x2aaaab4aeb10) at Gopher.cpp:71 #13 0x000000000084bb83 in Thread::thread (this=0x2aaaab4ba010) at Thread.cpp:167 #14 0x000000000084bd49 in Thread::thread (parameter=0x5b63) at Thread.cpp:146 #15 0x00002add8d7b3193 in start_thread () from /lib64/libpthread.so.0 #16 0x00002add8e13645d in clone () from /lib64/libc.so.6 How to repeat: Working on test-case. For now assert looks like sporadic one. After several runs can't reproduce issue.