[Users] [Bug 3749] New: Claws-mail 3.14.1 only runs with LD_PRELOAD=/lib64/libpthread.so.0

noreply at thewildbeast.co.uk noreply at thewildbeast.co.uk
Wed Dec 21 16:23:03 CET 2016


http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=3749

            Bug ID: 3749
           Summary: Claws-mail 3.14.1 only runs with
                    LD_PRELOAD=/lib64/libpthread.so.0
    Classification: Unclassified
           Product: Claws Mail
           Version: 3.14.1
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: Other
          Assignee: users at lists.claws-mail.org
          Reporter: fragabr at gmail.com

I'm not sure if it is exactly a bug, but I decided to report just in case. This
happens just with Claws (all other GTK2 apps run fine...).

Claws-mail 3.14.1 was running fine (on Linux). Then I made a massive clean up
on my system, a huge upgrade and now I'm left with Claws stalling at the start
(details below). The workaround was to preload libpthread:

LD_PRELOAD=/lib64/libpthread.so.0 claws-mail

so it seems I'm having a problem linking libpthread. Running it with strace
gives me different results each time:

1) fails with "tpp.c:84: __pthread_tpp_change_priority: Assertion `new_prio ==
-1 || (new_prio >= fifo_min_prio && new_prio <= fifo_max_prio)"

open("/usr/share/locale/en_US/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
futex(0x7f74ad5e0468, 0x81 /* FUTEX_??? */, 2147483647) = 0
open("/usr/local/share/locale/en_US/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/local/share/locale/en/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
futex(0x7f74abcc50a8, 0x81 /* FUTEX_??? */, 2147483647) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
futex(0x7f74ad5e0468, 0x81 /* FUTEX_??? */, 2147483647) = 0
sched_getparam(11701, { 0 })            = 0
sched_getscheduler(11701)               = 0 (SCHED_OTHER)
sched_get_priority_max(SCHED_FIFO)      = 99
sched_get_priority_min(SCHED_FIFO)      = 1
write(2, "claws-mail: tpp.c:84: __pthread_"..., 148claws-mail: tpp.c:84:
__pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >=
fifo_min_prio && new_prio <= fifo_max_prio)' failed.
) = 148
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f74b46a1000
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
getpid()                                = 11701
gettid()                                = 11701
tgkill(11701, 11701, SIGABRT)           = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT +++
Process 11701 detached

***

2) stalls at FUTEX:

access("/usr/xorg/share/X11/locale/en_US.UTF-8/XLC_LOCALE", R_OK) = 0
open("/usr/xorg/share/X11/locale/en_US.UTF-8/XLC_LOCALE", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=4250, ...}) = 0
read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 4096) =
4096
read(4, " \n#\tcs20 class\ncs15\t{\n\tside\t\tGR\n"..., 4096) = 154
read(4, "", 4096)                       = 0
close(4)                                = 0
getresuid([501], [501], [501])          = 0
getresgid([100], [100], [100])          = 0
open("/usr/share/locale/en_US/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
futex(0x7f450702a468, 0x81 /* FUTEX_??? */, 2147483647) = 0
open("/usr/local/share/locale/en_US/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/local/share/locale/en/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
futex(0x7f450570f0a8, 0x81 /* FUTEX_??? */, 2147483647) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
futex(0x7f450702a468, 0x81 /* FUTEX_??? */, 2147483647) = 0
futex(0x2322250, FUTEX_WAIT, 2, NULL

3) stalls at rt_sigsuspend:

open("/usr/share/locale/en_US/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/messages.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
futex(0x7f97589a8468, 0x81 /* FUTEX_??? */, 2147483647) = 0
open("/usr/local/share/locale/en_US/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/local/share/locale/en/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
futex(0x7fff0737157c, 0x7 /* FUTEX_??? */, 0) = -1 EPERM (Operation not
permitted)
futex(0x7f975708d0a8, 0x81 /* FUTEX_??? */, 2147483647) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
futex(0x7f97589a8468, 0x81 /* FUTEX_??? */, 2147483647) = 0
futex(0x269d250, 0x6 /* FUTEX_??? */, 1) = -1 EDEADLK (Resource deadlock
avoided)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigsuspend([]

***

Here's the output of ldd (as you can see, libpthread is here):

        linux-vdso.so.1 (0x00007fff4e6c1000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f11b05a9000)
        libgtk-x11-2.0.so.0 => /usr/local/lib/libgtk-x11-2.0.so.0
(0x00007f11afe79000)
        libgdk-x11-2.0.so.0 => /usr/local/lib/libgdk-x11-2.0.so.0
(0x00007f11afba1000)
        libatk-1.0.so.0 => /usr/local/lib/libatk-1.0.so.0 (0x00007f11af97b000)
        libpangocairo-1.0.so.0 => /usr/local/lib/libpangocairo-1.0.so.0
(0x00007f11af76d000)
        libpangoft2-1.0.so.0 => /usr/local/lib/libpangoft2-1.0.so.0
(0x00007f11af556000)
        libgdk_pixbuf-2.0.so.0 => /usr/local/lib/libgdk_pixbuf-2.0.so.0
(0x00007f11af32b000)
        libcairo.so.2 => /usr/local/lib/libcairo.so.2 (0x00007f11aefdd000)
        libpixman-1.so.0 => /usr/xorg/lib64/libpixman-1.so.0
(0x00007f11aed14000)
        libxcb-shm.so.0 => /usr/xorg/lib64/libxcb-shm.so.0 (0x00007f11aeb11000)
        libxcb-render.so.0 => /usr/xorg/lib64/libxcb-render.so.0
(0x00007f11ae903000)
        libXrender.so.1 => /usr/xorg/lib64/libXrender.so.1 (0x00007f11ae6f9000)
        libXext.so.6 => /usr/xorg/lib64/libXext.so.6 (0x00007f11ae4e4000)
        libpango-1.0.so.0 => /usr/local/lib/libpango-1.0.so.0
(0x00007f11ae291000)
        libgthread-2.0.so.0 => /usr/local/lib/libgthread-2.0.so.0
(0x00007f11ae08f000)
        libfontconfig.so.1 => /usr/xorg/lib64/libfontconfig.so.1
(0x00007f11ade3b000)
        libexpat.so.1 => /usr/local/lib/libexpat.so.1 (0x00007f11adc0c000)
        libpng16.so.16 => /usr/local/lib/libpng16.so.16 (0x00007f11ad9d0000)
        libharfbuzz.so.0 => /usr/local/lib/libharfbuzz.so.0
(0x00007f11ad766000)
        libfreetype.so.6 => /usr/local/lib/libfreetype.so.6
(0x00007f11ad490000)
        libgnutls.so.30 => /usr/local/lib/libgnutls.so.30 (0x00007f11ad167000)
        libidn.so.11 => /usr/local/lib/libidn.so.11 (0x00007f11acf33000)
        libtasn1.so.6 => /usr/local/lib/libtasn1.so.6 (0x00007f11acd1f000)
        libnettle.so.6 => /usr/local/lib/../lib64/libnettle.so.6
(0x00007f11acae3000)
        libhogweed.so.4 => /usr/local/lib/../lib64/libhogweed.so.4
(0x00007f11ac8ae000)
        libgmp.so.10 => /usr/local/lib/libgmp.so.10 (0x00007f11ac628000)
        libSM.so.6 => /usr/xorg/lib64/libSM.so.6 (0x00007f11ac41f000)
        libICE.so.6 => /usr/xorg/lib64/libICE.so.6 (0x00007f11ac202000)
        libstartup-notification-1.so.0 =>
/usr/local/lib/libstartup-notification-1.so.0 (0x00007f11abff8000)
        libxcb-util.so.1 => /usr/xorg/lib64/libxcb-util.so.1
(0x00007f11abdf2000)
        libX11-xcb.so.1 => /usr/xorg/lib64/libX11-xcb.so.1 (0x00007f11abbf0000)
        libX11.so.6 => /usr/xorg/lib64/libX11.so.6 (0x00007f11ab89f000)
        libxcb.so.1 => /usr/xorg/lib64/libxcb.so.1 (0x00007f11ab677000)
        libpthread-stubs.so.0 => /usr/xorg/lib64/libpthread-stubs.so.0
(0x00007f11ab475000)
        libXau.so.6 => /usr/xorg/lib64/libXau.so.6 (0x00007f11ab271000)
        libXdmcp.so.6 => /usr/xorg/lib64/libXdmcp.so.6 (0x00007f11ab06b000)
        libdbus-glib-1.so.2 => /usr/local/lib/libdbus-glib-1.so.2
(0x00007f11aae40000)
        libgio-2.0.so.0 => /usr/local/lib/libgio-2.0.so.0 (0x00007f11aaa91000)
        libgmodule-2.0.so.0 => /usr/local/lib/libgmodule-2.0.so.0
(0x00007f11aa88d000)
        libmount.so.1 => /lib64/libmount.so.1 (0x00007f11aa645000)
        libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f11aa403000)
        libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f11aa1ff000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f11a9ff7000)
        libdbus-1.so.3 => /usr/local/lib/libdbus-1.so.3 (0x00007f11a9da0000)
        libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0
(0x00007f11a9b4c000)
        libffi.so.6 => /usr/local/lib/../lib64/libffi.so.6 (0x00007f11a9941000)
        libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0
(0x00007f11a9618000)
        libpcre.so.1 => /usr/local/lib/libpcre.so.1 (0x00007f11a93d2000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f11a91b5000)
        libetpan.so.17 => /usr/local/lib/libetpan.so.17 (0x00007f11a8ee2000)
        libstdc++.so.6 => /usr/local/lib/../lib64/libstdc++.so.6
(0x00007f11a8b4c000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f11a8851000)
        libdb-6.1.so => /usr/local/BerkeleyDB/lib/libdb-6.1.so
(0x00007f11a8459000)
        libz.so.1 => /usr/local/lib/libz.so.1 (0x00007f11a8242000)
        libsasl2.so.3 => /usr/local/lib/libsasl2.so.3 (0x00007f11a8025000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f11a7e21000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f11a7c0a000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f11a786c000)
        libXinerama.so.1 => /usr/xorg/lib/libXinerama.so.1 (0x00007f11a7669000)
        libXrandr.so.2 => /usr/xorg/lib/libXrandr.so.2 (0x00007f11a745e000)
        libXcursor.so.1 => /usr/xorg/lib/libXcursor.so.1 (0x00007f11a7252000)
        libXcomposite.so.1 => /usr/xorg/lib/libXcomposite.so.1
(0x00007f11a704f000)
        libXdamage.so.1 => /usr/xorg/lib/libXdamage.so.1 (0x00007f11a6e4c000)
        libXfixes.so.3 => /usr/xorg/lib/libXfixes.so.3 (0x00007f11a6c46000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f11b07e0000)
        libgcc_s.so.1 => /usr/local/lib/../lib64/libgcc_s.so.1
(0x00007f11a6a2e000)

Output of --version-full:

Claws Mail version 3.14.1
runtime GTK+ 2.24.31 / GLib 2.50.2
buildtime GTK+ 2.24.31 / GLib 2.50.2
Compiled-in features:
 GnuTLS
 IPv6
 iconv
 libetpan 1.6
 libSM

I even tried to compile with debug symbols and run it through gdb, but since
gdb complains about libpthread, the only way to run it is forcing gdb to
preload the libpthread (so I can't figure it out why libpthread isn't being
linked first of all).

If it's not a bug, sorry about posting it here. I think it's interesting since
other GTK2 apps don't show this behaviour. Or maybe I just broke something
here. In this case you can close it and I will try the mailing list instead.

Thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Users mailing list