Bug 771184 - Assert on exit of corosync if clients are connected (probably libqb)
Summary: Assert on exit of corosync if clients are connected (probably libqb)
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Corosync Cluster Engine
Classification: Retired
Component: unknown
Version: 1.4
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Angus Salkeld
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-02 11:24 UTC by Jan Friesse
Modified: 2012-01-11 07:38 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-01-11 07:38:02 UTC


Attachments (Terms of Use)

Description Jan Friesse 2012-01-02 11:24:32 UTC
Steps to Reproduce:
1. valgrind corosync -f
2. cpgbench
3. ctrl+c on valgrind corosync -f
  
Actual results:
Jan 02 12:21:44 info    [MAIN  ] cs_ipcs_connection_destroyed()
Jan 02 12:21:44 notice  [SERV  ] Service engine unloaded: corosync cluster closed process group service v1.01
==31042== Invalid read of size 4
==31042==    at 0x547C020: qb_ipcs_dispatch_connection_request (ipcs.c:656)
==31042==    by 0x54782BD: _poll_dispatch_and_take_back_ (loop_poll.c:208)
==31042==    by 0x5477B8C: qb_loop_run_level (loop.c:43)
==31042==    by 0x5477F97: qb_loop_run (loop.c:150)
==31042==    by 0x407A65: main (main.c:1295)
==31042==  Address 0xa377ce0 is 1,184 bytes inside a block of size 1,264 free'd
==31042==    at 0x4C2695D: free (vg_replace_malloc.c:366)
==31042==    by 0x547B9D2: qb_ipcs_connection_unref (ipcs.c:483)
==31042==    by 0x547BB04: qb_ipcs_disconnect (ipcs.c:515)
==31042==    by 0x547B1A0: qb_ipcs_unref (ipcs.c:223)
==31042==    by 0x547B1F8: qb_ipcs_destroy (ipcs.c:233)
==31042==    by 0x407DF7: cs_ipcs_service_destroy (ipc_glue.c:201)
==31042==    by 0x40B427: service_unlink_schedwrk_handler (service.c:471)
==31042==    by 0x547A067: job_dispatch (loop_job.c:38)
==31042==    by 0x5477B8C: qb_loop_run_level (loop.c:43)
==31042==    by 0x5477F97: qb_loop_run (loop.c:150)
==31042==    by 0x407A65: main (main.c:1295)
==31042==
==31042== Invalid read of size 8
==31042==    at 0x547BEAB: _request_q_len_get (ipcs.c:618)
==31042==    by 0x547C03F: qb_ipcs_dispatch_connection_request (ipcs.c:659)
==31042==    by 0x54782BD: _poll_dispatch_and_take_back_ (loop_poll.c:208)
==31042==    by 0x5477B8C: qb_loop_run_level (loop.c:43)
==31042==    by 0x5477F97: qb_loop_run (loop.c:150)
==31042==    by 0x407A65: main (main.c:1295)
...
corosync: ipcs.c:473: qb_ipcs_connection_unref: Assertion `0' failed.


Expected results:
No assert

Additional info:
Newest coolest corosync (39ff78c803e76559396bf6707ebd84eac85a4335) with newest coolest libqb (c8e97a1c2e260c65eed520e5fe04995f74ab562a)

Comment 1 Angus Salkeld 2012-01-03 02:46:45 UTC
Confirmed to be libqb:

https://github.com/asalkeld/libqb/issues/26

Comment 2 Angus Salkeld 2012-01-11 06:16:51 UTC
Fixed in libqb > 0.8.1

Comment 3 Jan Friesse 2012-01-11 07:38:02 UTC
(In reply to comment #2)
> Fixed in libqb > 0.8.1

Angus,
this is upstream bug so POST state is not needed. Simply close as upstream.


Note You need to log in before you can comment on or make changes to this bug.