On 12/05/13 15:40, Christoph Egger wrote:
Emilio Pozuelo Monfort <po...@debian.org> writes:
Package: pygobject
Version: 3.8.1-2
Severity: serious
(CCing BSD porters, help wanted here)
pygobject currently fails to build on kfreebsd, see [1]
I've tried to debug this on falla. I can reproduce the hang somewhat reliably
by running:
dpkg-buildpackage
And if it doesn't hang or if you want to hang it again:
while true; do xvfb-run dh_auto_test --builddirectory=build-2.7; done
The hanging test is in test_overrides_gtk.py, but running with
TEST_FILES=test_overrides_gtk.py doesn't reproduce the hang so reliably here.
I've run gdb on the hanging python process and I get:
(gdb) thread apply all bt
Thread 1 (process 75189):
#0 0x000000080161ed4a in kevent () at ../sysdeps/unix/syscall-template.S:82
#1 0x0000000802a57bd7 in _kqueue_thread_func (arg=<optimized out>)
at /build/buildd-glib2.0_2.36.1-2-kfreebsd-
amd64-CmfXXB/glib2.0-2.36.1/./gio/kqueue/kqueue-thread.c:226
#2 0x0000000800a91c4a in pthread_start_thread (arg=<optimized out>) at
manager.c:317
#3 0x0000000000000000 in ?? ()
(gdb)
Note that this is with libc0.1-dbg and libglib2.0-0-dbg installed.
After this I'm lost. Any help is welcome. Otherwise I'll just have to stop
running the whole test suite on kfreebsd, but I'd be sad to do that.
Sounds like it could be similar to
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=706276
That patch you have there seems to be work-arounding some deeper problem. The
gdk_threads_enter/leave() calls are deprecated, and gdk/gtk calls must be done
from the main thread, see:
https://developer.gnome.org/gdk3/stable/gdk3-Threads.html#gdk-threads-enter
If something like that fixes the hang here, then we'll at least have a clue, but
it won't be the right fix.
Looking at it right now
Christoph
It'd probably be a good idea looking at the glib2.0 test suite. Some tests there
are failing on kfreebsd and they may be related to this. e.g. the spawn-async
test (and if they are not it'd still be good to fix them. we plan on making the
test suite fatal which will be good to find regressions and to make sure the
ports are working fine)
BTW glib2.0 2.36.2 contains a fix for a hang in g_spawn_sync. It may be
unrelated but I'll give it a try.
Emilio
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org