Bug 466209 - Crash corosync on libais_disconnect_request()
Crash corosync on libais_disconnect_request()
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: corosync (Show other bugs)
10
All Other
medium Severity medium
: ---
: ---
Assigned To: Steven Dake
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-10-09 04:12 EDT by Mathieu Virbel
Modified: 2016-04-26 21:50 EDT (History)
1 user (show)

See Also:
Fixed In Version: corosync-0.94-5
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-06-23 21:11:19 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Mathieu Virbel 2008-10-09 04:12:46 EDT
Description of problem:
I've got a crash on libais_disconnect_request() on a restart of corosync. The conn_info->conn_info_partner are NULL.

------- Here is the backtrace :
Core was generated by `corosync'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libthr.so.3...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/libexec/lcrso/objdb.lcrso...done.
Loaded symbols for /usr/libexec/lcrso/objdb.lcrso
Reading symbols from /usr/libexec/lcrso/openaisserviceenable.lcrso...done.
Loaded symbols for /usr/libexec/lcrso/openaisserviceenable.lcrso
Reading symbols from /usr/libexec/lcrso/openaisparser.lcrso...done.
Loaded symbols for /usr/libexec/lcrso/openaisparser.lcrso
Reading symbols from /usr/libexec/lcrso/service_clm.lcrso...done.
Loaded symbols for /usr/libexec/lcrso/service_clm.lcrso
Reading symbols from /usr/libexec/lcrso/service_ckpt.lcrso...done.
Loaded symbols for /usr/libexec/lcrso/service_ckpt.lcrso
Reading symbols from /usr/libexec/lcrso/service_lck.lcrso...done.
Loaded symbols for /usr/libexec/lcrso/service_lck.lcrso
Reading symbols from /usr/libexec/lcrso/service_evs.lcrso...done.
Loaded symbols for /usr/libexec/lcrso/service_evs.lcrso
Reading symbols from /usr/libexec/lcrso/service_cfg.lcrso...done.
Loaded symbols for /usr/libexec/lcrso/service_cfg.lcrso
Reading symbols from /usr/libexec/lcrso/service_cpg.lcrso...done.
Loaded symbols for /usr/libexec/lcrso/service_cpg.lcrso
Reading symbols from /usr/libexec/lcrso/service_confdb.lcrso...done.
Loaded symbols for /usr/libexec/lcrso/service_confdb.lcrso
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x08051a4d in libais_disconnect_request (conn_info=0x821a110) at ipc.c:406
406     ipc.c: No such file or directory.
        in ipc.c
[New Thread 0x8203200 (LWP 100092)]
(... snip ...)
[New Thread 0x8201100 (LWP 100064)]
(gdb) p conn_info
$1 = (struct conn_info *) 0x821a110
(gdb) p *conn_info
$2 = {
  fd = 12, 
  events = 37, 
  state = CONN_STATE_REQUESTED, 
  thread = 0x8201500, 
  thread_attr = 0x820aac0, 
  inb = 0x8300000 "\030", 
  inb_nextheader = 0, 
  inb_start = 0, 
  inb_inuse = 0, 
  outq = {
    head = 1, 
    tail = 799, 
    used = 1, 
    usedhw = 1, 
    size = 800, 
    items = 0x8218000, 
    size_per_item = 8, 
    iterator = 0, 
    mutex = 0x8205900
  }, 
  byte_start = 0, 
  service = CPG_SERVICE, 
  authenticated = 1, 
  private_data = 0x0, 
  conn_info_partner = 0x0, <<<<<<<<<<<<<<<<<<<<
  flow_control_handle = 0, 
  flow_control_enabled = 0, 
  flow_control_local_count = 0, 
  flow_control = 0, 
  flow_control_mutex = 0x8205a40, 
  lib_exit_fn = 0, 
  timerlist = {
    timer_head = {
      next = 0x0, 
      prev = 0x0
    }, 
    timer_iter = 0x0
  }, 
  mutex = 0x8205940, 
  shared_mutex = 0x8216150, 
  list = {
    next = 0x821a198, 
    prev = 0x821a198
  }
}
(gdb) 

--------- Here is the actual code
 402 static void libais_disconnect_request (struct conn_info *conn_info)
 403 {
 404     if (conn_info->state == CONN_STATE_ACTIVE) {
 405         conn_info->state = CONN_STATE_REQUESTED;
 406         conn_info->conn_info_partner->state = CONN_STATE_REQUESTED; <<<<<
 407     }

Version-Release number of selected component (if applicable):
corosync-trunk, rev 1667

How reproducible:
Random crash, don't known >_<
Comment 1 John Poelstra 2008-10-17 19:45:25 EDT
What is the package version from Fedora that you were running?

Can you provide the steps to reproduce some of the time or did this just happen once?
Comment 2 Steven Dake 2008-10-17 19:49:55 EDT
This is a known issue and is fixed in whitetank.

The next version of corosync will include a fix for this issue.
Comment 3 Bug Zapper 2008-11-25 22:41:27 EST
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 4 Steven Dake 2009-03-10 11:45:00 EDT
fixed in f10/f11.

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