Bug #39703 Assertion in Section.cpp failed during recovery after falcon_limit test
Submitted: 27 Sep 2008 18:40 Modified: 27 Apr 2009 17:40
Reporter: John Embretsen Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S1 (Critical)
Version: OS:Solaris
Assigned to: Olav Sandstå CPU Architecture:Any
Tags: F_RECOVERY, pb2, pushbuild, test failure
Triage: Triaged: D1 (Critical)

[27 Sep 2008 18:40] John Embretsen
Description:
Error: assertion (locatorPage->section == sectionId || locatorPage->section == 0) failed at line 1295 in file Section.cpp

Seen in Random Query Generator test falcon_limit in "Pushbuild 2", on Solaris 10 SPARC (32-bit).

# 16:12:20 Sending SIGKILL to mysqld with pid 23406 in order to force a recovery.
# 16:12:32 Attempting database recovery...
# 16:12:32 Executing /export/home/pb2/test/sb-41742-1222523539.62/mysql-6.0.8-alpha-solaris10-sparc-test/libexec/mysqld --core-file --loose-console --loose-falcon-debug-mask=65535 --language=/export/home/pb2/test/sb-41742-1222523539.62/mysql-6.0.8-alpha-solaris10-sparc-test/share/mysql/english/ --datadir="/export/home/pb2/test/sb-41742-1222523539.62/mysql-6.0.8-alpha-solaris10-sparc-test/vardirs/master-data_recovery" --socket="/tmp/8Kwr16JIcS/master.sock" --port=19306 2>&1 .
# 16:12:32 New table space FALCON_USER, id 1, type 0, filename falcon_user.fts
# 16:12:32 New table space FALCON_TEMPORARY, id 2, type 0, filename falcon_temporary.fts
# 16:12:32 Recovering database /export/home/pb2/test/sb-41742-1222523539.62/mysql-6.0.8-alpha-solaris10-sparc-test/vardirs/master-data_recovery/falcon_master.fts ...
# 16:12:32 first recovery block is 1
# 16:12:32 last recovery block is 26500
# 16:12:32 recovery read block is 1490
# 16:12:33 [Falcon] Error: assertion (locatorPage->section == sectionId || locatorPage->section == 0) failed at line 1295 in file Section.cpp
# 16:12:33 
# 16:12:33 Bugcheck: assertion (locatorPage->section == sectionId || locatorPage->section == 0) failed at line 1295 in file Section.cpp
# 16:12:33 
# 16:12:33 080927 16:12:33 - mysqld got signal 6 ;
# 16:12:33 This could be because you hit a bug. It is also possible that this binary
# 16:12:33 or one of the libraries it was linked against is corrupt, improperly built,
# 16:12:33 or misconfigured. This error can also be caused by malfunctioning hardware.
# 16:12:33 We will try our best to scrape up some info that will hopefully help diagnose
# 16:12:33 the problem, but since we have already crashed, something is definitely wrong
# 16:12:33 and this may fail.
# 16:12:33 
# 16:12:33 key_buffer_size=8388600
# 16:12:33 read_buffer_size=131072
# 16:12:33 max_used_connections=0
# 16:12:33 max_threads=151
# 16:12:33 thread_count=0
# 16:12:33 connection_count=0
# 16:12:33 It is possible that mysqld could use up to 
# 16:12:33 key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 337793 K
# 16:12:33 bytes of memory
# 16:12:33 Hope that's ok; if not, decrease some variables in the equation.
# 16:12:33 
# 16:12:33 Writing a core file
Abort - core dumped

How to repeat:
Branch or checkout the mysql-test-extra-6.0 bazaar tree and run:

$ cd mysql-test/gentest
$ ./runall.pl \
 --basedir=/path/to/mysql-6.0-falcon-team \
 --reporters=Deadlock,ErrorLog,Backtrace,Recovery,WinPackage \
 --mysqld=--loose-falcon-lock-wait-timeout=1 \
 --engine=Falcon \
 --grammar=conf/falcon_limit.yy \ 
 --queries=100000 \
 --duration=1200