[libqb] qb_ipcs_connection_unref() errors while using QB_IPC_SOCKET

Andrei Belov defanator at gmail.com
Wed Apr 10 06:46:53 UTC 2013


On Apr 10, 2013, at 10:00 , Andrei Belov <defanator at gmail.com> wrote:

> Angus,
> 
> On Apr 10, 2013, at 9:24 , Angus Salkeld <asalkeld at redhat.com> wrote:
> 
>> On 10/04/13 08:52 +0400, Andrei Belov wrote:
>>> Hello,
>>> 
>>> I'm facing the issue with qp_ipcs_connection_unref() errors while
>>> using libqb (0.14.4) with pacemaker (1.1.8) under SunOS
>>> with QB_IPC_SOCKET.
>>> 
>>> Pacemaker's daemons are being aborted on shutdown with the following in logs:
>>> 
>>> pr 10 04:05:06 [47131]      attrd:    error: qb_ipcs_connection_unref:         ref:0 state:3 (47131-47133-11)
>>> Apr 10 04:05:13 [47130]       lrmd:    error: qb_ipcs_connection_unref:         ref:0 state:3 (47130-47133-9)
>>> Apr 10 04:05:20 [47129] stonith-ng:    error: qb_ipcs_connection_unref:         ref:0 state:3 (47129-47133-13)
>>> Apr 10 04:05:27 [47128]        cib:    error: qb_ipcs_connection_unref:         ref:0 state:3 (47128-47131-19)
>>> 
>>> What does it mean?
>>> 
>>> 
>>> Backtraces:
>>> 
>>> Core was generated by `/opt/local/libexec/pacemaker/attrd'.
>>> Program terminated with signal 6, Aborted.
>>> #0  0xfffffd7fff0e061a in _lwp_kill () from /lib/64/libc.so.1
>>> (gdb) bt
>>> #0  0xfffffd7fff0e061a in _lwp_kill () from /lib/64/libc.so.1
>>> #1  0xfffffd7fff0d4ddd in thr_kill () from /lib/64/libc.so.1
>>> #2  0xfffffd7fff06a971 in raise () from /lib/64/libc.so.1
>>> #3  0xfffffd7fff0400a1 in abort () from /lib/64/libc.so.1
>>> #4  0xfffffd7fff0403f5 in _assert () from /lib/64/libc.so.1
>>> #5  0xfffffd7fc021274e in qb_ipcs_connection_unref () from /opt/local/lib/libqb.so.0
>>> #6  0x00000000004044f9 in main ()
>> 
>> Hi
>> 
>> The connection is reference counted, and it is getting dereferenced
>> one too many times. This is due to differences in the behaviour of
>> sockets on solaris and linux. Basically the code path for solaris
>> shutdown is not well tested by me.
>> 
>> (patches welcome)
> 
> Thanks, I'll try to examine this deeper.
> 
> I see "tests" subdirectory in libqb - what is the right way to run those?

Just tried "distcheck" target, IPC test failed with the following:

../../tests/check_ipc.c:704:E:ipc_event_on_created_us:test_ipc_event_on_created_us:0: (after this point) Test timeout expired
../../tests/check_ipc.c:757:E:ipc_disconnect_after_created_us:test_ipc_disconnect_after_created_us:0: (after this point) Test timeout expired

Full output is here:
http://defan.pp.ru/libqb-sunos-distcheck.txt


Still trying to understand what happens.


>> -Angus
>> 
>>> 
>>> Core was generated by `/opt/local/libexec/pacemaker/cib'.
>>> Program terminated with signal 6, Aborted.
>>> #0  0xfffffd7fff0f061a in _lwp_kill () from /lib/64/libc.so.1
>>> (gdb) bt
>>> #0  0xfffffd7fff0f061a in _lwp_kill () from /lib/64/libc.so.1
>>> #1  0xfffffd7fff0e4ddd in thr_kill () from /lib/64/libc.so.1
>>> #2  0xfffffd7fff07a971 in raise () from /lib/64/libc.so.1
>>> #3  0xfffffd7fff0500a1 in abort () from /lib/64/libc.so.1
>>> #4  0xfffffd7fff0503f5 in _assert () from /lib/64/libc.so.1
>>> #5  0xfffffd7fc021274e in qb_ipcs_connection_unref () from /opt/local/lib/libqb.so.0
>>> #6  0x0000000000410438 in cib_shutdown ()
>>> #7  0xfffffd7fbfc5533f in crm_signal_dispatch (source=0x49be80, callback=<optimized out>, userdata=<optimized out>)
>>>  at mainloop.c:203
>>> #8  0xfffffd7fc555f9e0 in g_main_context_dispatch () from /opt/local/lib/libglib-2.0.so.0
>>> #9  0xfffffd7fc555fd40 in g_main_context_iterate.isra.24 () from /opt/local/lib/libglib-2.0.so.0
>>> #10 0xfffffd7fc5560152 in g_main_loop_run () from /opt/local/lib/libglib-2.0.so.0
>>> #11 0x0000000000411056 in cib_init ()
>>> #12 0x000000000041163e in main ()
>>> 
>>> Core was generated by `/opt/local/libexec/pacemaker/lrmd'.
>>> Program terminated with signal 6, Aborted.
>>> #0  0xfffffd7fff0e061a in _lwp_kill () from /lib/64/libc.so.1
>>> (gdb) bt
>>> #0  0xfffffd7fff0e061a in _lwp_kill () from /lib/64/libc.so.1
>>> #1  0xfffffd7fff0d4ddd in thr_kill () from /lib/64/libc.so.1
>>> #2  0xfffffd7fff06a971 in raise () from /lib/64/libc.so.1
>>> #3  0xfffffd7fff0400a1 in abort () from /lib/64/libc.so.1
>>> #4  0xfffffd7fff0403f5 in _assert () from /lib/64/libc.so.1
>>> #5  0xfffffd7fc021274e in qb_ipcs_connection_unref () from /opt/local/lib/libqb.so.0
>>> #6  0xfffffd7fc02128a4 in qb_ipcs_disconnect () from /opt/local/lib/libqb.so.0
>>> #7  0xfffffd7fc0212995 in qb_ipcs_unref () from /opt/local/lib/libqb.so.0
>>> #8  0xfffffd7fc02129c7 in qb_ipcs_destroy () from /opt/local/lib/libqb.so.0
>>> #9  0xfffffd7fbfc55a3f in mainloop_del_ipc_server (server=<optimized out>) at mainloop.c:517
>>> #10 0x00000000004041cd in lrmd_shutdown ()
>>> #11 0xfffffd7fbfc5533f in crm_signal_dispatch (source=0x48ad40, callback=<optimized out>, userdata=<optimized out>)
>>>  at mainloop.c:203
>>> #12 0xfffffd7fc555f9e0 in g_main_context_dispatch () from /opt/local/lib/libglib-2.0.so.0
>>> #13 0xfffffd7fc555fd40 in g_main_context_iterate.isra.24 () from /opt/local/lib/libglib-2.0.so.0
>>> #14 0xfffffd7fc5560152 in g_main_loop_run () from /opt/local/lib/libglib-2.0.so.0
>>> #15 0x00000000004045e3 in main ()
>>> 
>>> Core was generated by `/opt/local/libexec/pacemaker/stonithd'.
>>> Program terminated with signal 6, Aborted.
>>> #0  0xfffffd7fff11061a in _lwp_kill () from /lib/64/libc.so.1
>>> (gdb) bt
>>> #0  0xfffffd7fff11061a in _lwp_kill () from /lib/64/libc.so.1
>>> #1  0xfffffd7fff104ddd in thr_kill () from /lib/64/libc.so.1
>>> #2  0xfffffd7fff09a971 in raise () from /lib/64/libc.so.1
>>> #3  0xfffffd7fff0700a1 in abort () from /lib/64/libc.so.1
>>> #4  0xfffffd7fff0703f5 in _assert () from /lib/64/libc.so.1
>>> #5  0xfffffd7fc021274e in qb_ipcs_connection_unref () from /opt/local/lib/libqb.so.0
>>> #6  0xfffffd7fc02128a4 in qb_ipcs_disconnect () from /opt/local/lib/libqb.so.0
>>> #7  0xfffffd7fc0212995 in qb_ipcs_unref () from /opt/local/lib/libqb.so.0
>>> #8  0xfffffd7fc02129c7 in qb_ipcs_destroy () from /opt/local/lib/libqb.so.0
>>> #9  0x0000000000405e60 in ?? ()
>>> #10 0x0000000000407d28 in main ()
>>> 
>>> 
>>> PS:
>>> while reproducing the above, just caught the same with corosync (2.3.0):
>>> 
>>> Core was generated by `corosync'.
>>> Program terminated with signal 6, Aborted.
>>> #0  0xfffffd7fff1e061a in _lwp_kill () from /lib/64/libc.so.1
>>> (gdb) bt
>>> #0  0xfffffd7fff1e061a in _lwp_kill () from /lib/64/libc.so.1
>>> #1  0xfffffd7fff1d4ddd in thr_kill () from /lib/64/libc.so.1
>>> #2  0xfffffd7fff16a971 in raise () from /lib/64/libc.so.1
>>> #3  0xfffffd7fff1400a1 in abort () from /lib/64/libc.so.1
>>> #4  0xfffffd7fff1403f5 in _assert () from /lib/64/libc.so.1
>>> #5  0xfffffd7fc021274e in qb_ipcs_connection_unref () from /opt/local/lib/libqb.so.0
>>> #6  0xfffffd7fc02128a4 in qb_ipcs_disconnect () from /opt/local/lib/libqb.so.0
>>> #7  0xfffffd7fc0212995 in qb_ipcs_unref () from /opt/local/lib/libqb.so.0
>>> #8  0xfffffd7fc02129c7 in qb_ipcs_destroy () from /opt/local/lib/libqb.so.0
>>> #9  0x00000000004264e2 in cs_ipcs_service_destroy ()
>>> #10 0x00000000004270e0 in ?? ()
>>> #11 0xfffffd7fc0210ff4 in job_dispatch () from /opt/local/lib/libqb.so.0
>>> #12 0xfffffd7fc020fcb4 in qb_loop_run () from /opt/local/lib/libqb.so.0
>>> #13 0x000000000042b551 in main ()
>>> 
>>> so it looks like libqb related issue for me.
>>> 
>>> 
>>> Any help would be greatly appreciated!
>>> 
>>> 
>>> Best regards,
>>> Andrei
>>> _______________________________________________
>>> quarterback-devel mailing list
>>> quarterback-devel at lists.fedorahosted.org
>>> https://lists.fedorahosted.org/mailman/listinfo/quarterback-devel
>> _______________________________________________
>> quarterback-devel mailing list
>> quarterback-devel at lists.fedorahosted.org
>> https://lists.fedorahosted.org/mailman/listinfo/quarterback-devel
> 



More information about the quarterback-devel mailing list