GNOME Bugzilla – Bug 566148
vinagre-2.24.2: core dump when pressing "connect"
Last modified: 2010-03-20 19:12:03 UTC
I'm trying to run vinagre-2.24.2 with gtk-vnc-0.3.8 on NetBSD-5.99.5/amd64. When I start vinagre and connect to "localhost", vinagre segfaults. The backtrace is: Program terminated with signal 11, Segmentation fault.
+ Trace 211191
I'm not sure which part (vinagre, gtk-vnc, glib2) is misbehaving here. Ideas on how to debug this?
Hi. This seems to be a GLib/LibC issue. It's better you to ask some glib developer.
doesn't really look glib related to me. I'd suspect some interaction between the coroutine stuff that vnc apparently uses and pthreads...
Hi, Thomas. Could you run vinagre under valgrind? Thanks.
I'm sorry, but valgrind hasn't been ported to NetBSD. Does ktrace (similar to strace) output help?
Daniel, could you comment here please?
Matthias Drochner <drochner@NetBSD.org> explained to me that currently NetBSD's pthread library can't coexist with anything which uses user-defined stacks, and suggested adding "--with-coroutine=gthread" to gtk-vnc's compilation flags. That seems to fix the problem. Perhaps this can be added to gtk-vnc's README, then I guess there's nothing more to do here.
Is there any webpage somewhere describing this restriction with NetBSD pthreads that we can refer to ? Its a little surprising/annoying that using pthreads would break any application use of makecontext/swapcontext(). If this is expected to be a long term limitation of NetBSD, then we should make the configure script automatically pick the gthreads impl when run on NetBSD
The pthread(3) man page on NetBSD now contains a paragraph to this effect in the CAVEATS section. You can look at it online e.g. at http://man.netbsd.org/cgi-bin/man-cgi?pthread++NetBSD-current
I've added a note about this problem in the GTK-VNC README commit 232ba0224e1bf98d7505f2e13c7d80119775b4eb Author: Daniel P. Berrange <berrange@redhat.com> Date: Sat Mar 20 19:11:00 2010 +0000 Add some installation caveats to README Add note about NetBSD swapcontext() problems & Mingw SASL limitation