Bug #39635 mysqld stuck in shutting down cluster binlog thread on wrong command line option
Submitted: 24 Sep 2008 19:58 Modified: 15 Oct 2008 9:47
Reporter: Hartmut Holzgraefe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-5.1.27-ndb-6.3.17 OS:Any
Assigned to: Hartmut Holzgraefe CPU Architecture:Any

[24 Sep 2008 19:58] Hartmut Holzgraefe
Description:
$ mysqld --ndbcluster --foobar

080924 19:53:16 [Note] NDB: NodeID is 4, management server 'localhost:1186'
080924 19:53:16 [Note] NDB[0]: all storage nodes connected
080924 19:53:16 [Warning] NDB: server id set to zero will cause any other mysqld with bin log to log with wrong server id
080924 19:53:16 [Note] Starting Cluster Binlog Thread
080924 19:53:16 [ERROR] libexec/mysqld: unknown option '--foobar'
080924 19:53:16 [ERROR] Aborting
080924 19:53:16 [Note] Stopping Cluster Utility thread
080924 19:53:17 [Note] Stopping Cluster Binlog
[... mysqld gets stuck at this point]

after killing the server with "killall -11 mysqld" i get the following backtrace

#0  0xb7f69410 in __kernel_vsyscall ()
#1  0xb7f42ae7 in pthread_kill () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x08457edf in write_core (sig=11) at stacktrace.c:305
#3  0x082a8ab1 in handle_segfault (sig=11) at mysqld.cc:2510
#4  <signal handler called>
#5  0xb7f69410 in __kernel_vsyscall ()
#6  0xb7f41aa5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#7  0x0861383b in safe_cond_wait (cond=0x8979ce0, mp=0x8979c60, 
    file=0x87f3420 "ha_ndbcluster_binlog.cc", line=658) at thr_mutex.c:237
#8  0x084e1261 in ndbcluster_binlog_end (thd=0x0)
    at ha_ndbcluster_binlog.cc:658
#9  0x084ecfcc in ndbcluster_binlog_func (hton=0x89a0a68, thd=0x0, 
    fn=BFN_BINLOG_END, arg=0x0) at ha_ndbcluster_binlog.cc:739
#10 0x083d7acc in binlog_func_foreach (thd=0x0, bfn=0xbfcb78d0)
    at handler.cc:3871
#11 0x083d7b6a in ha_binlog_end (thd=0x0) at handler.cc:3902
#12 0x082aa0d2 in clean_up (print_message=true) at mysqld.cc:1207
#13 0x082aa5e0 in unireg_abort (exit_code=2) at mysqld.cc:1185
#14 0x082ac2d3 in init_server_components () at mysqld.cc:3863
#15 0x082acc79 in main (argc=6, argv=0xbfcb7d24) at mysqld.cc:4271

How to repeat:
mysqld --ndbcluster --foobar
[13 Oct 2008 15:45] Hartmut Holzgraefe
Fixed in Cluster 6.3.18
[15 Oct 2008 7:53] Jon Stephens
Documented fix in the ndb-6.3.18 changelog as follows:

        Starting the MySQL Server with the --ndbcluster option plus an invalid
        command-line option caused it to hang while shutting down the binlog
        thread.

Set bug status to Need Doc Info pending merge (?) to telco-6.2 tree.
[15 Oct 2008 9:47] Jon Stephens
Also documented in ndb-6.2.16 changelog; closed.