Steven Dake wrote: > Find attached a patch which fixes the segfault you are seeing with > objctl. > > The issue was that strncpy was not null terminating a string if the src > length and the copy length were the same (as per manpage). This > resulted in negative length memcpy (which is actually a pretty big > memcpy:) operations in the formatting routines which caused all kinds of > havoc. > > This patch also increases the subsystem width to 6 bytes wide instead of > 5. I had forgotten about the added length of confdb in our subsystems. >
Thanks Steve, Both of those patches work find for me. I wonder if it's worth adding a warning about long logsys names. I did have one called "TESTQUORUM" for a while ! Chrissie > > On Mon, 2008-11-03 at 14:35 +0000, Christine Caulfield wrote: >> Since logsys2 was committed I can easily make corosync crash with any >> corosync-objctl command. It crashes in a very unhelpful way ... with >> mention of a GDB bug. So it might be stack related I suppose. In >> particular 'corosync-objctl -a' or 'corosync-objctl -w quorum.quorate=1' >> >> Also sometimes I see startup hangs where corosync doesn't even get >> going. These look to be threads deadlocked on logsys condition variables: >> >> (gdb) thr a a bt >> >> >> Thread 3 (Thread 0xb7b39b90 (LWP 6929)): >> #0 0x00110416 in __kernel_vsyscall () >> #1 0x009f6ba5 in pthread_cond_wait@@GLIBC_2.3.2 () from >> /lib/libpthread.so.0 >> #2 0x0806e3e9 in wthread_wait () at logsys.c:434 >> #3 0x0806e27a in logsys_worker_thread (data=0x0) at logsys.c:452 >> #4 0x009f332f in start_thread () from /lib/libpthread.so.0 >> #5 0x0092e20e in clone () from /lib/libc.so.6 >> >> Thread 2 (Thread 0xb7f36230 (LWP 6928)): >> #0 0x00110416 in __kernel_vsyscall () >> #1 0x00923a57 in poll () from /lib/libc.so.6 >> #2 0x080532be in prioritized_timer_thread (data=0x0) at timer.c:123 >> #3 0x009f332f in start_thread () from /lib/libpthread.so.0 >> #4 0x0092e20e in clone () from /lib/libc.so.6 >> >> Thread 1 (Thread 0xb7f0b6c0 (LWP 6925)): >> #0 0x00110416 in __kernel_vsyscall () >> #1 0x009f6ba5 in pthread_cond_wait@@GLIBC_2.3.2 () from >> /lib/libpthread.so.0 >> #2 0x0806e3e9 in wthread_wait () at logsys.c:434 >> #3 0x0806e47f in wthread_create () at logsys.c:511 >> ---Type <return> to continue, or q <return> to quit--- >> #4 0x0806e554 in _logsys_wthread_create () at logsys.c:540 >> #5 0x0806ef8e in logsys_fork_completed () at logsys.c:790 >> #6 0x0804dd89 in main (argc=2, argv=0xbfa36124) at main.c:644 >> (gdb) >> >> >> Neither of these happened to me before the logsys2 commit. >> _______________________________________________ Openais mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/openais
