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

Re: libsoup2.4: FTBFS on kfreebsd-*: test-suite FAIL: context-test



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@pyro.eu.org


Reply to: