Bug 30565

Summary: test failures if Python was built without IPv6
Product: Telepathy Reporter: Pacho Ramos <pachoramos1>
Component: gabbleAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED MOVED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: minor    
Priority: lowest CC: gnome
Version: git master   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Full build.log (search "src_test" to go directly to the failure)
Updated build.log

Description Pacho Ramos 2010-10-02 08:55:10 UTC
Created attachment 39117 [details]
Full build.log (search "src_test" to go directly to the failure)

This is a bit strange, attached is a full build.log generated downstream on Gentoo showing that "make check" fails because of some problem in twisted tests, but I am unable to see what exact test is failing.

I have also tried to run tests on a manually compiled telepathy-gabble using upstream sources and tests fail in the same way:
...

PASS: vcard/test-set-alias.py
PASS: vcard/test-vcard-cache.py
PASS: vcard/test-vcard-race.py
PASS: vcard/update-get-failed.py
PASS: vcard/update-rejected.py
====================
All 156 tests passed
====================
make[6]: Leaving directory `/home/pacho/telepathy-gabble-0.10.2/tests/twisted'
Killing temporary bus daemon: 20891
Core dump exists: tools/core
make[5]: *** [check-twisted] Error 1
make[5]: Leaving directory `/home/pacho/telepathy-gabble-0.10.2/tests/twisted'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory `/home/pacho/telepathy-gabble-0.10.2/tests/twisted'
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory `/home/pacho/telepathy-gabble-0.10.2/tests/twisted'
make[2]: *** [check] Error 2
make[2]: Leaving directory `/home/pacho/telepathy-gabble-0.10.2/tests/twisted'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/pacho/telepathy-gabble-0.10.2/tests'
make: *** [check-recursive] Error 1


Thanks for your help
Comment 1 Pacho Ramos 2010-10-02 09:43:52 UTC
core file reported in errors:
http://dev.gentoo.org/~pacho/telepathy-gabble/core.xz
Comment 2 Will Thompson 2010-10-04 04:01:53 UTC
(In reply to comment #1)
> core file reported in errors:
> http://dev.gentoo.org/~pacho/telepathy-gabble/core.xz

Any chance you can get the backtrace from that core dump?
Comment 3 Pacho Ramos 2010-10-05 01:33:25 UTC
Yes:

# gdb ../telepathy-gabble-debug --core ./core --batch --quiet -ex "thread apply all bt full" -ex "quit"

warning: Can not parse XML syscalls information; XML support was disabled at compile time.

warning: core file may not match specified executable file.

warning: Can't read pathname for load map: Error de entrada/salida.

warning: .dynamic section for "/usr/lib/libdbus-glib-1.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libdbus-1.so.3" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libtelepathy-glib.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations
Core was generated by `../telepathy-gabble-debug'.
Program terminated with signal 6, Aborted.
#0  0x00000032776321b5 in raise () from /lib/libc.so.6

Thread 1 (Thread 9021):
#0  0x00000032776321b5 in raise () from /lib/libc.so.6
No symbol table info available.
#1  0x00000032776335e0 in abort () from /lib/libc.so.6
No symbol table info available.
#2  0x00002b7c96441925 in _dbus_abort () at dbus-sysdeps.c:88
        s = <value optimized out>
#3  0x00002b7c9642fc15 in _dbus_warn_check_failed (format=<value optimized out>) at dbus-internals.c:283
        args = Could not find the frame base for "_dbus_warn_check_failed".
#
Comment 4 Simon McVittie 2010-10-13 10:57:53 UTC
A full backtrace (i.e. down to main()) would be useful; so would (the end of) tests/twisted/tools/gabble-testing.log.
Comment 5 Pacho Ramos 2010-10-25 11:53:09 UTC
Updated output:

# gdb ../telepathy-gabble-debug --core core --batch --quiet -ex "thread apply all bt full" -ex "quit"

warning: Can not parse XML syscalls information; XML support was disabled at compile time.

warning: core file may not match specified executable file.

warning: Can't read pathname for load map: Error de entrada/salida.

warning: .dynamic section for "/usr/lib/libsoup-2.4.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libsqlite3.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libxml2.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libgnutls.so.26" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libtelepathy-glib.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libdbus-glib-1.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libdbus-1.so.3" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libgio-2.0.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libgobject-2.0.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libgmodule-2.0.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libgthread-2.0.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libglib-2.0.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib/libpthread.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib/libc.so.6" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib/libdl.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib/libz.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libgcrypt.so.11" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib/librt.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib/libm.so.6" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libtasn1.so.3" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib/libresolv.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/ld-linux-x86-64.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libgpg-error.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib/libgcc_s.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib/libexpat.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib/libudev.so.0" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib/libnsl.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations
Core was generated by `../telepathy-gabble-debug'.
Program terminated with signal 6, Aborted.
#0  0x00002b867a934165 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	../nptl/sysdeps/unix/sysv/linux/raise.c: No existe el fichero o el directorio.
	in ../nptl/sysdeps/unix/sysv/linux/raise.c

Thread 1 (Thread 30317):
#0  0x00002b867a934165 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        pid = <value optimized out>
        selftid = <value optimized out>
#1  0x00002b867a935580 in *__GI_abort () at abort.c:92
        act = Could not find the frame base for "*__GI_abort".
Comment 6 Pacho Ramos 2010-10-25 11:59:04 UTC
(In reply to comment #4)
> (the end of)
> tests/twisted/tools/gabble-testing.log.


(telepathy-gabble:30317): wocky-DEBUG: 2010-10-25 20:49:29.684287: wocky_porter_finalize: wocky-porter.c:626: finalize porter 0x92fe80
tp-glib-Message: 2010-10-25 20:49:29.775383: Got disconnected from the session bus
tp-glib-Message: 2010-10-25 20:49:29.775723: Exiting
(telepathy-gabble:30317): tp-glib/proxy-DEBUG: 2010-10-25 20:49:29.775785: tp_proxy_dispose: 0x9268f0
(telepathy-gabble:30317): tp-glib/proxy-DEBUG: 2010-10-25 20:49:29.775808: tp_proxy_invalidate: 0x9268f0: Proxy unreferenced
(telepathy-gabble:30317): tp-glib/proxy-DEBUG: 2010-10-25 20:49:29.775837: tp_proxy_finalize: 0x9268f0
process 30317: pthread function pthread_mutex_lock failed with 22 Invalid argument in _dbus_pthread_mutex_lock
  /usr/lib/libdbus-1.so.3(+0x5550c) [0x2b867984e50c]
  /usr/lib/libdbus-1.so.3(+0x54979) [0x2b867984d979]
  /usr/lib/libdbus-1.so.3(+0x42c75) [0x2b867983bc75]
  /usr/lib/libdbus-1.so.3(+0x54b89) [0x2b867984db89]
  /usr/lib/libdbus-1.so.3(+0x561a6) [0x2b867984f1a6]
  /usr/lib/libdbus-1.so.3(dbus_free+0x23) [0x2b8679842fb3]
  /usr/lib/libdbus-1.so.3(+0x3a18b) [0x2b867983318b]
  /usr/lib/libdbus-1.so.3(dbus_shutdown+0x21) [0x2b8679843071]
  ../telepathy-gabble-debug(main+0xf6) [0x430b86]
  /lib/libc.so.6(__libc_start_main+0xfd) [0x2b867a920bbd]
  ../telepathy-gabble-debug() [0x4309c9]
No handles were leaked
Comment 7 Will Thompson 2011-06-02 08:42:27 UTC
> warning: core file may not match specified executable file.

This could explain why the backtrace is not very helpful.

Can you reproduce this with recent Gabble releases?
Comment 8 Pacho Ramos 2013-06-03 18:34:14 UTC
Created attachment 80241 [details]
Updated build.log

Yes, I am still getting failures
Comment 9 Pacho Ramos 2013-06-03 18:34:47 UTC
That is with 0.16.6
Comment 10 Simon McVittie 2013-06-03 19:45:18 UTC
Are the tests being run automatically, or because you have specifically asked for them?

I do not recommend running the telepathy-gabble regression tests in an automated build system like Debian buildds, even if there is a policy of "usually" running regression tests: they're too prone to race conditions.

I particularly do not recommend running these regression tests in an end-user build system like Gentoo portage or BSD ports. in their current state, they should only be run by people who're willing and able to debug them.

>     assert len(debug.GetMessages()) > 0
> AssertionError
> FAIL: test-debug.py

Bug #45986. Workaround: don't configure telepathy-glib with --disable-debug-cache.

> TimeoutError
> FAIL: jingle-share/test-send-file-send-before-accept.py

Bug #49595. I'm probably going to knock out that test until someone has time to find and fix its race conditions.

>   File "/usr/lib64/python2.7/socket.py", line 224, in meth
>     return getattr(self._sock,name)(*args)
> error: getsockaddrarg: bad family

Er... wild guess: did you configure Python without IPv6 support? (If so, "don't do that, then".)

Let's use this bug number to represent the "getsockaddrarg" stuff, since the rest already has another bug.
Comment 11 Pacho Ramos 2013-06-03 20:29:45 UTC
(In reply to comment #10)
[...]
> >   File "/usr/lib64/python2.7/socket.py", line 224, in meth
> >     return getattr(self._sock,name)(*args)
> > error: getsockaddrarg: bad family
> 
> Er... wild guess: did you configure Python without IPv6 support? (If so,
> "don't do that, then".)

Yes, I have it built without ipv6 support, maybe the test could be skipped when ipv6 support is not available :/

> 
> Let's use this bug number to represent the "getsockaddrarg" stuff, since the
> rest already has another bug.
Comment 12 Simon McVittie 2013-06-03 20:46:03 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > Er... wild guess: did you configure Python without IPv6 support? (If so,
> > "don't do that, then".)
> 
> Yes, I have it built without ipv6 support, maybe the test could be skipped
> when ipv6 support is not available :/

I'd accept a patch if it's not too horrible to detect, but I'm not going to spend any time on this myself; I don't consider partial-functionality Python builds to be a supported platform for our regression tests.

(We should already be skipping all the relevant tests if Python has IPv6 support but no IPv6 addresses are configured, so most of the infrastructure is already in place.)
Comment 13 GitLab Migration User 2019-12-03 19:49:15 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-gabble/issues/103.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.