On Mon, 2010-03-22 at 19:36 +0100, Andreas Mock wrote:
> -----Ursprüngliche Nachricht-----
> Von: Steven Dake <[email protected]>
> Gesendet: 22.03.2010 18:12:34
> An: Andreas Mock <[email protected]>
> Betreff: Re: [Openais] Strange behaviour of corosync
>
> >you can verify that if you would like by doing the following:
> >install corosync-debuginfo package:
> >gdb
> >attach 7211
> >thread apply all bt
>
>
> I did it. Look at
> http://paste.org/pastebin/view/16610
>
> Is this the proof of your assumption?
>
> Best regards
> Andreas Mock
Thank you for going to the trouble of gathering a backtrace. This is a
different defect fixed in openais which we couldn't duplicate in
corosync. The problem is line #18 pthread_join() after an exit
function. This means pthread_join() was called in an atexit() handler
which posix is iffy on.
The attached patch resolves your problem and will be in the flatiron
update.
Regards
-steve
Index: services/Makefile.am
===================================================================
--- services/Makefile.am (revision 2685)
+++ services/Makefile.am (working copy)
@@ -71,7 +71,7 @@
$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
service_%.lcrso: %.o
- $(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
+ $(CC) $(CFLAGS) -rdynamic -shared -Wl,-soname=$@ $^ -o $@
endif
endif
Index: exec/util.c
===================================================================
--- exec/util.c (revision 2718)
+++ exec/util.c (working copy)
@@ -94,6 +94,7 @@
"with status %d at %s:%u.\n", err, file, line);
logsys_fork_completed ();
logsys_flush ();
+ logsys_atexit ();
exit (err);
}
Index: exec/logsys.c
===================================================================
--- exec/logsys.c (revision 2718)
+++ exec/logsys.c (working copy)
@@ -1076,7 +1076,6 @@
if (((logsys_loggers[LOGSYS_MAX_SUBSYS_COUNT].mode & LOGSYS_MODE_FORK) == 0) &&
((logsys_loggers[LOGSYS_MAX_SUBSYS_COUNT].mode & LOGSYS_MODE_THREADED) != 0)) {
wthread_create();
- atexit (logsys_atexit);
}
return (0);
}
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais