Bug#707733: pygobject: FTBFS on kfreebsd

Emilio Pozuelo Monfort pochu at debian.org
Mon May 13 19:05:28 UTC 2013


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




More information about the pkg-gnome-maintainers mailing list