Bug#663056: libsoup2.4: FTBFS on kfreebsd-*: test-suite FAIL: context-test
Steven Chamberlain
steven at pyro.eu.org
Tue Mar 20 20:38:04 UTC 2012
Hi again,
I've narrowed down the context-test failures to g_cond_wait_until [1]
returning false without actually waiting until the requested time.
Test case with extra debug info:
> time = g_get_monotonic_time () + 5 * G_TIME_SPAN_SECOND;
> debug_printf (1, " g_cond_wait_until %lu\n", time);
> if (g_cond_wait_until (&test1_cond, &test1_mutex, time))
> g_thread_join (thread);
> else {
> time = g_get_monotonic_time ();
> debug_printf (1, " returned false at %lu\n", time);
> debug_printf (1, " timeout!\n");
> g_thread_unref (thread);
> errors++;
> }
Result:
> Test 1: blocking the main thread does not block other thread
> (Using SOUP_SESSION_ASYNC_CONTEXT)
> g_cond_wait_until 2863968386
> returned false at 2858968977
> timeout!
Under gdb we hit a familiar-looking issue that I'm sure we've seen
before on kfreebsd:
> Starting program: /tmp/tmp.iqfzT2Ty1x/libsoup2.4-2.37.92/tests/.libs/lt-context-test -d
>
> Program received signal ?, Unknown signal.
> 0x28638e67 in __pthread_sigsuspend () from /lib/i386-kfreebsd-gnu/i686/cmov/libpthread.so.0
> (gdb) bt
> #0 0x28638e67 in __pthread_sigsuspend () from /lib/i386-kfreebsd-gnu/i686/cmov/libpthread.so.0
> #1 0x28637e28 in __pthread_wait_for_restart_signal () from /lib/i386-kfreebsd-gnu/i686/cmov/libpthread.so.0
> #2 0x28638d92 in pthread_create@@GLIBC_2.3 () from /lib/i386-kfreebsd-gnu/i686/cmov/libpthread.so.0
> #3 0x2848e67b in g_system_thread_new (thread_func=0x28472290 <g_thread_proxy>, stack_size=<optimized out>, error=0xbfbfe54c)
> at /build/buildd-glib2.0_2.31.22-1-kfreebsd-i386-ziBjzT/glib2.0-2.31.22/./glib/gthread-posix.c:1116
> #4 0x284726b4 in g_thread_new_internal (name=0x804b400 "server_thread", proxy=0x28472290 <g_thread_proxy>, func=0x804aa20 <run_server_thread>, data=0x8066010, stack_size=0,
> error=0xbfbfe54c) at /build/buildd-glib2.0_2.31.22-1-kfreebsd-i386-ziBjzT/glib2.0-2.31.22/./glib/gthread.c:886
> #5 0x284727ce in g_thread_new (name=0x804b400 "server_thread", func=0x804aa20 <run_server_thread>, data=0x8066010)
> at /build/buildd-glib2.0_2.31.22-1-kfreebsd-i386-ziBjzT/glib2.0-2.31.22/./glib/gthread.c:839
> #6 0x0804a9a8 in test_server_new (in_own_thread=1, ssl=<optimized out>) at test-utils.c:299
> #7 0x08049ac2 in main (argc=2, argv=0xbfbfe694) at context-test.c:391
[1]
http://developer.gnome.org/glib/unstable/glib-Threads.html#g-cond-wait-until
Regards,
--
Steven Chamberlain
steven at pyro.eu.org
More information about the pkg-gnome-maintainers
mailing list