Bug #34715 Falcon crash in SerialLog::reportStatistics
Submitted: 21 Feb 2008 5:21 Modified: 13 Jun 2008 16:14
Reporter: Philip Stoev Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S2 (Serious)
Version:6.0-falcon-team OS:Any
Assigned to: Ann Harrison CPU Architecture:Any

[21 Feb 2008 5:21] Philip Stoev
Description:
When running iuds6 for 3 hours on the new 6.0.4 binary (optimized, compiled with GCC: (GNU) 4.1.0 (SUSE Linux)), Falcon crashed with the following backtrace:

#0  0x0000003ba880b132 in pthread_kill () from /lib64/libpthread.so.0
(gdb) bt
#0  0x0000003ba880b132 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000665203 in handle_segfault ()
#2  <signal handler called>
#3  0x000000000089a418 in SerialLog::reportStatistics ()
#4  0x000000000084c388 in Database::scavenge ()
#5  0x000000000088e5b4 in Scavenger::execute ()
#6  0x000000000088f6e2 in Scheduler::schedule ()
#7  0x0000000000826bf4 in Thread::thread ()
#8  0x0000000000826db9 in Thread::thread ()
#9  0x0000003ba88062f7 in start_thread () from /lib64/libpthread.so.0
#10 0x0000003ba80ce85d in clone () from /lib64/libc.so.6

How to repeat:
I will now run this test with the debug binary to obtain a debug core.
[9 Apr 2008 9:36] Philip Stoev
Test case for bug 34715

Attachment: bug34715.zip (application/x-zip-compressed, text), 1.83 KiB.

[9 Apr 2008 9:38] Philip Stoev
To reproduce , please place the .txt files in mysql-test and the .test files in mysql-test/t. Then run:

$ perl ./mysql-test-run.pl --stress --stress-init-file=bug34715_init.txt \
--stress-test-file=bug34715_run.txt --stress-test-duration=48200 \
--stress-threads=10  --skip-ndb --mysqld=--log-output=none \
--mysqld=--falcon-debug-mask=65535

Please ignore the output of the test. The crash will happen within 30 seconds. The actual queries do not seem to matter that much -- please let me know if you want me to simplify the test case further. Backtrace is:

#0  0x00110402 in __kernel_vsyscall ()
#1  0x00bdc617 in pthread_kill () from /lib/libpthread.so.0
#2  0x08449d93 in write_core (sig=11) at stacktrace.c:305
#3  0x082a37eb in handle_segfault (sig=11) at mysqld.cc:2621
#4  <signal handler called>
#5  0x00ab512b in strlen () from /lib/libc.so.6
#6  0x00a851e9 in vfprintf () from /lib/libc.so.6
#7  0x00aa5b44 in vsnprintf () from /lib/libc.so.6
#8  0x08530aa3 in Log::log (mask=4, text=0x889ab80 "%lld: Activity on %s: %d fetches, %d reads, %d writes, %d flushWrites\n", args=0xafa2f248 "\026")
    at Log.cpp:213
#9  0x08530af7 in Log::log (mask=4, txt=0x889ab80 "%lld: Activity on %s: %d fetches, %d reads, %d writes, %d flushWrites\n") at Log.cpp:143
#10 0x0850c11f in Dbb::reportStatistics (this=0xb703e648) at Dbb.cpp:1159
#11 0x0850276c in Database::scavenge (this=0xb723f628) at Database.cpp:1742
#12 0x0855be90 in Scavenger::scavenge (this=0xb7045f30) at Scavenger.cpp:58
#13 0x0855bea3 in Scavenger::execute (this=0xb7045f30, scheduler=0xb7045ea0) at Scavenger.cpp:68
#14 0x0855d3c3 in Scheduler::schedule (this=0xb7045ea0) at Scheduler.cpp:136
#15 0x0855d50d in Scheduler::schedule (lpParameter=0xb7045ea0) at Scheduler.cpp:158
#16 0x084d7723 in Thread::thread (this=0xb706b678) at Thread.cpp:161
#17 0x084d791f in Thread::thread (parameter=0xb706b678) at Thread.cpp:140
#18 0x00bd750b in start_thread () from /lib/libpthread.so.0
#19 0x00b18b2e in clone () from /lib/libc.so.6
[11 Apr 2008 17:12] Philip Stoev
This bug is still reproducible with 6.0-falcon-team. Please note that you need to set --falcon-debug-mask.

[philips@philips mysql-test]$ uname -a
Linux philips 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:55:12 EDT 2007 i686 i686 i386 GNU/Linux
[16 Apr 2008 0:09] Kevin Lewis
Jim Starkey wrote;
It certainly isn't a feature.  It's also fixed and pushed.
[23 Apr 2008 7:17] Hakan Küçükyılmaz
Kevin,

is this in 6.0.4 already? Or will it be in upcoming 6.0.5?
[23 Apr 2008 14:44] Kevin Lewis
This code change was made April 12 and the Bug database was updated April 16.  This was not in 6.0.4.  But it may be in 6.0.5 depending on when the last merge was done before the clone-off.  Please look for this changeset;

ChangeSet 1.2597.41.3 2008/04/11 22:22:50 jas@pendragon.
storage/falcon/Dbb.cpp 1.27 2008/04/11 22:22:42 jas@pendragon.
  Change Database::deltaTime from "time_t" to "int" for portability.
  Also change all formatting referecnes to Database::deltaTime back
  to "%d" from the recent change to INT64FORMAT.
[23 May 2008 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[13 Jun 2008 16:14] Philip Stoev
The test case no longer produces the crash in 6.0.5.