GNOME Bugzilla – Bug 571830
g_main_context_iterate blocks forever
Last modified: 2009-02-15 16:37:26 UTC
For some reason which I totally don't understand, I can't start AbiWord these days anymore, with glib blocking immediately on startup in g_main_context_iterate. No relevant AbiWord code has been touched in this area, making me believe that a glib update is the problem. I've tested with glib 2.18.4 and 2.19.6. Backtrace below, any pointers towards resolving this issue would be helpful. DEBUG: End _draw DEBUG: Scroll Adjustment set to 0 DEBUG: End _draw DEBUG: Scroll Adjustment set to 0 ^C Program received signal SIGINT, Interrupt. pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 261 movl (%rsp), %edi Current language: auto; currently asm Missing separate debuginfos, use: debuginfo-install libtdb-1.1.2-25.fc11.x86_64 (gdb) bt
+ Trace 212571
Not calling g_thread_init fixes the issue. However in practice that kinda sucks, as we need thread support for several plugins (AbiWord's core is non-threaded).
No immediate idea, it works fine here. Did you say it works with 2.18.4, but not with 2.19.6 ? In that case, could you try to narrow it down ? (I know svn is not exactly convenient like git for bisection, but as I said, it works here, so I can't really do this myself...)
I *think* it worked in 2.18.3, and the update in F10 to 2.18.4 broke it. It's broken in F11's 2.19.6 as well. When I find some time I'll try to bisect it.
OK, this was broken in AbiWord since forever: g_thread_init() could be called after other glib functions had been called. No clue what suddenly caused it to misbehave, but we were wrong all along. Sorry for the noise.