[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#707733: pygobject: FTBFS on kfreebsd



On 12/05/13 15:40, Christoph Egger wrote:
Emilio Pozuelo Monfort <pochu@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


Reply to: