Bug#922273: [hexchat] Thread 1 closes for missing raise.c

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug#922273: [hexchat] Thread 1 closes for missing raise.c

Synthea
Package: hexchat
Version: 2.14.2-3~bpo9+1
Severity: important

Noticed this problem while running hexchat in gdb
Thread 1 "hexchat" received signal SIGTERM, Terminated.
raise (sig=15) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

--- System information. ---
Architecture: 
Kernel:       Linux 4.9.0-5-amd64

Debian Release: 9.5
  500 stable-updates  deb.debian.org 
  500 stable          security.debian.org 
  500 stable          repo.skype.com 
  500 stable          dl.google.com 
  500 stable          deb.debian.org 
  500 newstable       deb.i2p2.de 
  100 stretch-backports deb.debian.org 

--- Package information. ---
Depends                          (Version) | Installed
==========================================-+-====================
hexchat-common         (= 2.14.2-3~bpo9+1) | 2.14.2-3~bpo9+1
libc6                            (>= 2.14) | 
libcanberra0                      (>= 0.2) | 
libdbus-glib-1-2                 (>= 0.88) | 
libgdk-pixbuf2.0-0             (>= 2.25.2) | 
libglib2.0-0                   (>= 2.35.9) | 
libgtk2.0-0                    (>= 2.24.0) | 
libnotify4                      (>= 0.7.0) | 
libpango-1.0-0                 (>= 1.29.4) | 
libproxy1v5                    (>= 0.4.14) | 
libssl1.1                       (>= 1.1.0) | 
libx11-6                                   | 


Recommends           (Version) | Installed
==============================-+-===========
hexchat-perl                   | 2.12.4-3
hexchat-plugins                | 2.12.4-3
hexchat-python3                | 2.12.4-3
libglib2.0-bin                 | 2.50.3-2


Suggests         (Version) | Installed
==========================-+-===========
hexchat-otr                | 
unifont                    | 




signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#922273: [hexchat] Thread 1 closes for missing raise.c

James Clarke-2
Control: tags -1 moreinfo
Control: retitle -1 [hexchat] Receives unexpected SIGTERM

On Thu, Feb 14, 2019 at 03:06:32AM +0100, Synthea wrote:
> Package: hexchat
> Version: 2.14.2-3~bpo9+1
> Severity: important
>
> Noticed this problem while running hexchat in gdb
> Thread 1 "hexchat" received signal SIGTERM, Terminated.
> raise (sig=15) at ../sysdeps/unix/sysv/linux/raise.c:51

So this is telling you something (maybe hexchat itself, though likely
not) sent a SIGTERM signal to hexchat. Are you low on memory (since that
could cause the OOM killer to send a SIGTERM to hexchat)? Please run the
"thread apply all bt" command to get a backtrace so we can have more of
an idea what's going on

> 51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

This is not the error. This is just GDB trying to print out the source
code corresponding to where the debugger as stopped, but since you don't
have glibc's source code unpacked in a location it can find, it instead
prints this message to tell you it can't find the source.

James

Reply | Threaded
Open this post in threaded view
|

Bug#922273: [hexchat] Thread 1 closes for missing raise.c

Synthea
Here's the full backtrace with the command you asked:

GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from hexchat...(no debugging symbols found)...done.
(gdb) thread apply all bt
(gdb) run
Starting program: /usr/bin/hexchat 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-
gnu/libthread_db.so.1".
[New Thread 0x7fffe7781700 (LWP 22788)]
[New Thread 0x7fffe6f80700 (LWP 22789)]

** (hexchat:22778): WARNING **: Invalid borders specified for theme
pixmap:
        /usr/share/themes/Breeze-Dark/gtk-2.0/../assets/line-h.png,
borders don't fit within the image

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

** (hexchat:22778): WARNING **: invalid source position for vertical
gradient

Thread 1 "hexchat" received signal SIGTERM, Terminated.
raise (sig=15) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#922273: [hexchat] Thread 1 closes for missing raise.c

James Clarke-2
On 14 Feb 2019, at 03:07, Synthea <[hidden email]> wrote:

>
> Here's the full backtrace with the command you asked:
>
> GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
> Copyright (C) 2016 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
> .html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from hexchat...(no debugging symbols found)...done.
> (gdb) thread apply all bt
> (gdb) run

You need to run it at the point when the SIGTERM is received, otherwise it
won't do anything.

James

Reply | Threaded
Open this post in threaded view
|

Bug#922273: [hexchat] Thread 1 closes for missing raise.c

Synthea
(gdb) thread apply all bt

Thread 3 (Thread 0x7fffe6f80700 (LWP 22789)):
#0  0x00007ffff4dec67d in poll () at ../sysdeps/unix/syscall-
template.S:84
#1  0x00007ffff75269f6 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#2  0x00007ffff7526d82 in g_main_loop_run () from /lib/x86_64-linux-
gnu/libglib-2.0.so.0
#3  0x00007ffff7b0e656 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-
2.0.so.0
#4  0x00007ffff754e3d5 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#5  0x00007ffff50b3494 in start_thread (arg=0x7fffe6f80700) at
pthread_create.c:333
#6  0x00007ffff4df5acf in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 2 (Thread 0x7fffe7781700 (LWP 22788)):
#0  0x00007ffff4dec67d in poll () at ../sysdeps/unix/syscall-
template.S:84
#1  0x00007ffff75269f6 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#2  0x00007ffff7526b0c in g_main_context_iteration () from /lib/x86_64-
linux-gnu/libglib-2.0.so.0
#3  0x00007ffff7526b51 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#4  0x00007ffff754e3d5 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#5  0x00007ffff50b3494 in start_thread (arg=0x7fffe7781700) at
pthread_create.c:333
#6  0x00007ffff4df5acf in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7ffff7f07a80 (LWP 22778)):
#0  raise (sig=15) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff4263038 in ffi_call_unix64 () from /usr/lib/x86_64-
linux-gnu/libffi.so.6
#2  0x00007ffff4262a9a in ffi_call () from /usr/lib/x86_64-linux-
gnu/libffi.so.6
#3  0x00007ffff7800c8a in g_cclosure_marshal_generic_va () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff78001a4 in ?? () from /usr/lib/x86_64-linux-
gnu/libgobject-2.0.so.0
#5  0x00007ffff781a8cd in g_signal_emit_valist () from /usr/lib/x86_64-
linux-gnu/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#6  0x00007ffff781afbf in g_signal_emit () from /usr/lib/x86_64-linux-
gnu/libgobject-2.0.so.0
#7  0x00007ffff7afa165 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-
2.0.so.0
#8  0x00007ffff75266aa in g_main_context_dispatch () from /lib/x86_64-
linux-gnu/libglib-2.0.so.0
#9  0x00007ffff7526a60 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#10 0x00007ffff7526d82 in g_main_loop_run () from /lib/x86_64-linux-
gnu/libglib-2.0.so.0
#11 0x00007ffff6dbe3b7 in gtk_main () from /usr/lib/x86_64-linux-
gnu/libgtk-x11-2.0.so.0
#12 0x000055555558ec29 in fe_main ()
#13 0x0000555555582c6b in main ()
(gdb) 

It should be what you want

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#922273: [hexchat] Thread 1 closes for missing raise.c

Synthea
In reply to this post by James Clarke-2
Just downgraded hexchat from backports to stable (2.12.4-3), I still
encounter the same problem. If you won't solve that I will feel obliged
to use another client, I just cannot use a client that crashes
everytime in minus that one minute

GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from hexchat...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/hexchat 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-
gnu/libthread_db.so.1".
[New Thread 0x7fffe76e6700 (LWP 22421)]
[New Thread 0x7fffe6ee5700 (LWP 22422)]

** (hexchat:22413): WARNING **: Invalid borders specified for theme
pixmap:
        /usr/share/themes/Breeze-Dark/gtk-2.0/../assets/line-h.png,
borders don't fit within the image

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

** (hexchat:22413): WARNING **: invalid source position for vertical
gradient

Thread 1 "hexchat" received signal SIGTERM, Terminated.
raise (sig=15) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: File o directory non
esistente.
(gdb) thread apply all bt

Thread 3 (Thread 0x7fffe6ee5700 (LWP 22422)):
#0  0x00007ffff3e9067d in poll () at ../sysdeps/unix/syscall-
template.S:84
#1  0x00007ffff45c99f6 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#2  0x00007ffff45c9d82 in g_main_loop_run () from /lib/x86_64-linux-
gnu/libglib-2.0.so.0
#3  0x00007ffff5b4a656 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-
2.0.so.0
#4  0x00007ffff45f13d5 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#5  0x00007ffff4157494 in start_thread (arg=0x7fffe6ee5700) at
pthread_create.c:333
#6  0x00007ffff3e99acf in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 2 (Thread 0x7fffe76e6700 (LWP 22421)):
#0  0x00007ffff3e9067d in poll () at ../sysdeps/unix/syscall-
template.S:84
#1  0x00007ffff45c99f6 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#2  0x00007ffff45c9b0c in g_main_context_iteration () from /lib/x86_64-
linux-gnu/libglib-2.0.so.0
#3  0x00007ffff45c9b51 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#4  0x00007ffff45f13d5 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#5  0x00007ffff4157494 in start_thread (arg=0x7fffe76e6700) at
pthread_create.c:333
#6  0x00007ffff3e99acf in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7ffff7f08a80 (LWP 22413)):
#0  raise (sig=15) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007fffefef0038 in ffi_call_unix64 () from /usr/lib/x86_64-
linux-gnu/libffi.so.6
#2  0x00007fffefeefa9a in ffi_call () from /usr/lib/x86_64-linux-
gnu/libffi.so.6
#3  0x00007ffff4aa5c8a in g_cclosure_marshal_generic_va () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff4aa51a4 in ?? () from /usr/lib/x86_64-linux-
gnu/libgobject-2.0.so.0
#5  0x00007ffff4abf8cd in g_signal_emit_valist () from /usr/lib/x86_64-
linux-gnu/libgobject-2.0.so.0
#6  0x00007ffff4abffbf in g_signal_emit () from /usr/lib/x86_64-linux-
gnu/libgobject-2.0.so.0
#7  0x00007ffff5b36165 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-
2.0.so.0
#8  0x00007ffff45c96aa in g_main_context_dispatch () from /lib/x86_64-
linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#9  0x00007ffff45c9a60 in ?? () from /lib/x86_64-linux-gnu/libglib-
2.0.so.0
#10 0x00007ffff45c9d82 in g_main_loop_run () from /lib/x86_64-linux-
gnu/libglib-2.0.so.0
#11 0x00007ffff78bf3b7 in gtk_main () from /usr/lib/x86_64-linux-
gnu/libgtk-x11-2.0.so.0
#12 0x000055555558e6c9 in fe_main ()
#13 0x00005555555829e8 in main ()
(gdb) quit
A debugging session is active.

        Inferior 1 [process 22413] will be killed.

Quit anyway? (y or n) y

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#922273: [hexchat] Thread 1 closes for missing raise.c

James Clarke-2
On 16 Feb 2019, at 21:38, Synthea <[hidden email]> wrote:
>
> Just downgraded hexchat from backports to stable (2.12.4-3), I still
> encounter the same problem. If you won't solve that I will feel obliged
> to use another client, I just cannot use a client that crashes
> everytime in minus that one minute

Please install libglib2.0-0-dbg so the stack trace is clearer.

My initial suspicion though is something about your Breeze-Dark theme is
breaking GLib2.0. You might like to try with Adwaita.

James

> GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
> Copyright (C) 2016 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
> .html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from hexchat...(no debugging symbols found)...done.
> (gdb) run
> Starting program: /usr/bin/hexchat
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-
> gnu/libthread_db.so.1".
> [New Thread 0x7fffe76e6700 (LWP 22421)]
> [New Thread 0x7fffe6ee5700 (LWP 22422)]
>
> ** (hexchat:22413): WARNING **: Invalid borders specified for theme
> pixmap:
>         /usr/share/themes/Breeze-Dark/gtk-2.0/../assets/line-h.png,
> borders don't fit within the image
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:22413): WARNING **: invalid source position for vertical
> gradient
>
> Thread 1 "hexchat" received signal SIGTERM, Terminated.
> raise (sig=15) at ../sysdeps/unix/sysv/linux/raise.c:51
> 51      ../sysdeps/unix/sysv/linux/raise.c: File o directory non
> esistente.
> (gdb) thread apply all bt
>
> Thread 3 (Thread 0x7fffe6ee5700 (LWP 22422)):
> #0  0x00007ffff3e9067d in poll () at ../sysdeps/unix/syscall-
> template.S:84
> #1  0x00007ffff45c99f6 in ?? () from /lib/x86_64-linux-gnu/libglib-
> 2.0.so.0
> #2  0x00007ffff45c9d82 in g_main_loop_run () from /lib/x86_64-linux-
> gnu/libglib-2.0.so.0
> #3  0x00007ffff5b4a656 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-
> 2.0.so.0
> #4  0x00007ffff45f13d5 in ?? () from /lib/x86_64-linux-gnu/libglib-
> 2.0.so.0
> #5  0x00007ffff4157494 in start_thread (arg=0x7fffe6ee5700) at
> pthread_create.c:333
> #6  0x00007ffff3e99acf in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
>
> Thread 2 (Thread 0x7fffe76e6700 (LWP 22421)):
> #0  0x00007ffff3e9067d in poll () at ../sysdeps/unix/syscall-
> template.S:84
> #1  0x00007ffff45c99f6 in ?? () from /lib/x86_64-linux-gnu/libglib-
> 2.0.so.0
> #2  0x00007ffff45c9b0c in g_main_context_iteration () from /lib/x86_64-
> linux-gnu/libglib-2.0.so.0
> #3  0x00007ffff45c9b51 in ?? () from /lib/x86_64-linux-gnu/libglib-
> 2.0.so.0
> #4  0x00007ffff45f13d5 in ?? () from /lib/x86_64-linux-gnu/libglib-
> 2.0.so.0
> #5  0x00007ffff4157494 in start_thread (arg=0x7fffe76e6700) at
> pthread_create.c:333
> #6  0x00007ffff3e99acf in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
>
> Thread 1 (Thread 0x7ffff7f08a80 (LWP 22413)):
> #0  raise (sig=15) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1  0x00007fffefef0038 in ffi_call_unix64 () from /usr/lib/x86_64-
> linux-gnu/libffi.so.6
> #2  0x00007fffefeefa9a in ffi_call () from /usr/lib/x86_64-linux-
> gnu/libffi.so.6
> #3  0x00007ffff4aa5c8a in g_cclosure_marshal_generic_va () from
> /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
> #4  0x00007ffff4aa51a4 in ?? () from /usr/lib/x86_64-linux-
> gnu/libgobject-2.0.so.0
> #5  0x00007ffff4abf8cd in g_signal_emit_valist () from /usr/lib/x86_64-
> linux-gnu/libgobject-2.0.so.0
> #6  0x00007ffff4abffbf in g_signal_emit () from /usr/lib/x86_64-linux-
> gnu/libgobject-2.0.so.0
> #7  0x00007ffff5b36165 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-
> 2.0.so.0
> #8  0x00007ffff45c96aa in g_main_context_dispatch () from /lib/x86_64-
> linux-gnu/libglib-2.0.so.0
> ---Type <return> to continue, or q <return> to quit---
> #9  0x00007ffff45c9a60 in ?? () from /lib/x86_64-linux-gnu/libglib-
> 2.0.so.0
> #10 0x00007ffff45c9d82 in g_main_loop_run () from /lib/x86_64-linux-
> gnu/libglib-2.0.so.0
> #11 0x00007ffff78bf3b7 in gtk_main () from /usr/lib/x86_64-linux-
> gnu/libgtk-x11-2.0.so.0
> #12 0x000055555558e6c9 in fe_main ()
> #13 0x00005555555829e8 in main ()
> (gdb) quit
> A debugging session is active.
>
>         Inferior 1 [process 22413] will be killed.
>
> Quit anyway? (y or n) y

Reply | Threaded
Open this post in threaded view
|

Bug#922273: [hexchat] Thread 1 closes for missing raise.c

Synthea
Here's the result after installing that lib
Note: this error seems more likely to happen with notifications

GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from hexchat...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/hexchat 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-
gnu/libthread_db.so.1".
[New Thread 0x7fffe76e6700 (LWP 25681)]
[New Thread 0x7fffe6ee5700 (LWP 25682)]

** (hexchat:25675): WARNING **: Invalid borders specified for theme
pixmap:
        /usr/share/themes/Breeze-Dark/gtk-2.0/../assets/line-h.png,
borders don't fit within the image

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

** (hexchat:25675): WARNING **: invalid source position for vertical
gradient

Thread 1 "hexchat" received signal SIGTERM, Terminated.
raise (sig=15) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: File o directory non
esistente.
(gdb) thread apply all bt

Thread 3 (Thread 0x7fffe6ee5700 (LWP 25682)):
#0  0x00007ffff3e9067d in poll () at ../sysdeps/unix/syscall-
template.S:84
#1  0x00007ffff45c99f6 in g_main_context_poll (priority=<optimized
out>, n_fds=1, fds=0x7fffd80010c0, timeout=<optimized out>,
context=0x555556fc6b80) at ././glib/gmain.c:4228
#2  0x00007ffff45c99f6 in g_main_context_iterate
(context=0x555556fc6b80, block=block@entry=1, dispatch=dispatch@entry=1
, self=<optimized out>) at ././glib/gmain.c:3924
#3  0x00007ffff45c9d82 in g_main_loop_run (loop=0x55555597d6f0) at
././glib/gmain.c:4125
#4  0x00007ffff5b4a656 in gdbus_shared_thread_func
(user_data=0x55555597d730) at ././gio/gdbusprivate.c:247
#5  0x00007ffff45f13d5 in g_thread_proxy (data=0x555556d64590) at
././glib/gthread.c:784
#6  0x00007ffff4157494 in start_thread (arg=0x7fffe6ee5700) at
pthread_create.c:333
#7  0x00007ffff3e99acf in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 2 (Thread 0x7fffe76e6700 (LWP 25681)):
#0  0x00007ffff3e9067d in poll () at ../sysdeps/unix/syscall-
template.S:84
#1  0x00007ffff45c99f6 in g_main_context_poll (priority=<optimized
out>, n_fds=1, fds=0x7fffe00008c0, timeout=<optimized out>,
context=0x555556fc5e50) at ././glib/gmain.c:4228
#2  0x00007ffff45c99f6 in g_main_context_iterate (context=context@entry
=0x555556fc5e50, block=block@entry=1, dispatch=dispatch@entry=1,
self=<optimized out>) at ././glib/gmain.c:3924
#3  0x00007ffff45c9b0c in g_main_context_iteration
(context=0x555556fc5e50, may_block=may_block@entry=1) at
././glib/gmain.c:3990
#4  0x00007ffff45c9b51 in glib_worker_main (data=<optimized out>) at
././glib/gmain.c:5783
#5  0x00007ffff45f13d5 in g_thread_proxy (data=0x555556d646d0) at
././glib/gthread.c:784
#6  0x00007ffff4157494 in start_thread (arg=0x7fffe76e6700) at
pthread_create.c:333
#7  0x00007ffff3e99acf in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7ffff7f08a80 (LWP 25675)):
#0  0x00007ffff4160f9f in raise (sig=15) at
../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007fffefef0038 in ffi_call_unix64 () at /usr/lib/x86_64-linux-
gnu/libffi.so.6
#2  0x00007fffefeefa9a in ffi_call () at /usr/lib/x86_64-linux-
gnu/libffi.so.6
---Type <return> to continue, or q <return> to quit---
#3  0x00007ffff4aa5c8a in g_cclosure_marshal_generic_va
(closure=0x555556fbc820, return_value=0x0, instance=<optimized out>,
args_list=<optimized out>, marshal_data=<optimized out>, n_params=2,
param_types=0x555556fbc870) at ././gobject/gclosure.c:1604
#4  0x00007ffff4aa51a4 in _g_closure_invoke_va (closure=closure@entry=0
x555556fbc820, return_value=return_value@entry=0x0, instance=instance@e
ntry=0x555556d43aa0, args=args@entry=0x7fffffffce30,
n_params=<optimized out>, param_types=0x555556fbc870)
    at ././gobject/gclosure.c:867
#5  0x00007ffff4abf8cd in g_signal_emit_valist
(instance=0x555556d43aa0, signal_id=<optimized out>, detail=0, var_args
=var_args@entry=0x7fffffffce30) at ././gobject/gsignal.c:3300
#6  0x00007ffff4abffbf in g_signal_emit (instance=<optimized out>,
signal_id=<optimized out>, detail=detail@entry=0)
    at ././gobject/gsignal.c:3447
#7  0x00007ffff5b36165 in emit_closed_in_idle
(user_data=0x7fffd8002fc0) at ././gio/gdbusconnection.c:1358
#8  0x00007ffff45c96aa in g_main_dispatch (context=0x55555589cff0) at
././glib/gmain.c:3203
#9  0x00007ffff45c96aa in g_main_context_dispatch (context=context@entr
y=0x55555589cff0) at ././glib/gmain.c:3856
#10 0x00007ffff45c9a60 in g_main_context_iterate
(context=0x55555589cff0, block=block@entry=1, dispatch=dispatch@entry=1
, self=<optimized out>) at ././glib/gmain.c:3929
#11 0x00007ffff45c9d82 in g_main_loop_run (loop=0x55555594b530) at
././glib/gmain.c:4125
#12 0x00007ffff78bf3b7 in gtk_main () at /usr/lib/x86_64-linux-
gnu/libgtk-x11-2.0.so.0
#13 0x000055555558e6c9 in fe_main ()
#14 0x00005555555829e8 in main ()
(gdb) quit
A debugging session is active.

        Inferior 1 [process 25675] will be killed.

Quit anyway? (y or n) y

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#922273: [hexchat] Thread 1 closes for missing raise.c

James Clarke-2
On 16 Feb 2019, at 22:52, Synthea <[hidden email]> wrote:
>
> Here's the result after installing that lib
> Note: this error seems more likely to happen with notifications

Thanks, that makes it clear what's happening. The DBus connection is being
closed by the remote end, and the exit-on-close property defaults to true,
which causes GLib to send a SIGTERM to the process. This is the intended
behaviour of applications using the session bus as per the documentation, so
you need to figure out why the remote is closing the bus, but it's very much
not HexChat's fault. Maybe GLib is doing something wrong, but more likely
there's something weird in your local setup affecting DBus, given there are no
other reports I know of of people encountering this.

Regards,
James

> GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
> Copyright (C) 2016 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl
> .html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from hexchat...(no debugging symbols found)...done.
> (gdb) run
> Starting program: /usr/bin/hexchat
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-
> gnu/libthread_db.so.1".
> [New Thread 0x7fffe76e6700 (LWP 25681)]
> [New Thread 0x7fffe6ee5700 (LWP 25682)]
>
> ** (hexchat:25675): WARNING **: Invalid borders specified for theme
> pixmap:
>         /usr/share/themes/Breeze-Dark/gtk-2.0/../assets/line-h.png,
> borders don't fit within the image
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> ** (hexchat:25675): WARNING **: invalid source position for vertical
> gradient
>
> Thread 1 "hexchat" received signal SIGTERM, Terminated.
> raise (sig=15) at ../sysdeps/unix/sysv/linux/raise.c:51
> 51      ../sysdeps/unix/sysv/linux/raise.c: File o directory non
> esistente.
> (gdb) thread apply all bt
>
> Thread 3 (Thread 0x7fffe6ee5700 (LWP 25682)):
> #0  0x00007ffff3e9067d in poll () at ../sysdeps/unix/syscall-
> template.S:84
> #1  0x00007ffff45c99f6 in g_main_context_poll (priority=<optimized
> out>, n_fds=1, fds=0x7fffd80010c0, timeout=<optimized out>,
> context=0x555556fc6b80) at ././glib/gmain.c:4228
> #2  0x00007ffff45c99f6 in g_main_context_iterate
> (context=0x555556fc6b80, block=block@entry=1, dispatch=dispatch@entry=1
> , self=<optimized out>) at ././glib/gmain.c:3924
> #3  0x00007ffff45c9d82 in g_main_loop_run (loop=0x55555597d6f0) at
> ././glib/gmain.c:4125
> #4  0x00007ffff5b4a656 in gdbus_shared_thread_func
> (user_data=0x55555597d730) at ././gio/gdbusprivate.c:247
> #5  0x00007ffff45f13d5 in g_thread_proxy (data=0x555556d64590) at
> ././glib/gthread.c:784
> #6  0x00007ffff4157494 in start_thread (arg=0x7fffe6ee5700) at
> pthread_create.c:333
> #7  0x00007ffff3e99acf in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
>
> Thread 2 (Thread 0x7fffe76e6700 (LWP 25681)):
> #0  0x00007ffff3e9067d in poll () at ../sysdeps/unix/syscall-
> template.S:84
> #1  0x00007ffff45c99f6 in g_main_context_poll (priority=<optimized
> out>, n_fds=1, fds=0x7fffe00008c0, timeout=<optimized out>,
> context=0x555556fc5e50) at ././glib/gmain.c:4228
> #2  0x00007ffff45c99f6 in g_main_context_iterate (context=context@entry
> =0x555556fc5e50, block=block@entry=1, dispatch=dispatch@entry=1,
> self=<optimized out>) at ././glib/gmain.c:3924
> #3  0x00007ffff45c9b0c in g_main_context_iteration
> (context=0x555556fc5e50, may_block=may_block@entry=1) at
> ././glib/gmain.c:3990
> #4  0x00007ffff45c9b51 in glib_worker_main (data=<optimized out>) at
> ././glib/gmain.c:5783
> #5  0x00007ffff45f13d5 in g_thread_proxy (data=0x555556d646d0) at
> ././glib/gthread.c:784
> #6  0x00007ffff4157494 in start_thread (arg=0x7fffe76e6700) at
> pthread_create.c:333
> #7  0x00007ffff3e99acf in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
>
> Thread 1 (Thread 0x7ffff7f08a80 (LWP 25675)):
> #0  0x00007ffff4160f9f in raise (sig=15) at
> ../sysdeps/unix/sysv/linux/raise.c:51
> #1  0x00007fffefef0038 in ffi_call_unix64 () at /usr/lib/x86_64-linux-
> gnu/libffi.so.6
> #2  0x00007fffefeefa9a in ffi_call () at /usr/lib/x86_64-linux-
> gnu/libffi.so.6
> ---Type <return> to continue, or q <return> to quit---
> #3  0x00007ffff4aa5c8a in g_cclosure_marshal_generic_va
> (closure=0x555556fbc820, return_value=0x0, instance=<optimized out>,
> args_list=<optimized out>, marshal_data=<optimized out>, n_params=2,
> param_types=0x555556fbc870) at ././gobject/gclosure.c:1604
> #4  0x00007ffff4aa51a4 in _g_closure_invoke_va (closure=closure@entry=0
> x555556fbc820, return_value=return_value@entry=0x0, instance=instance@e
> ntry=0x555556d43aa0, args=args@entry=0x7fffffffce30,
> n_params=<optimized out>, param_types=0x555556fbc870)
>     at ././gobject/gclosure.c:867
> #5  0x00007ffff4abf8cd in g_signal_emit_valist
> (instance=0x555556d43aa0, signal_id=<optimized out>, detail=0, var_args
> =var_args@entry=0x7fffffffce30) at ././gobject/gsignal.c:3300
> #6  0x00007ffff4abffbf in g_signal_emit (instance=<optimized out>,
> signal_id=<optimized out>, detail=detail@entry=0)
>     at ././gobject/gsignal.c:3447
> #7  0x00007ffff5b36165 in emit_closed_in_idle
> (user_data=0x7fffd8002fc0) at ././gio/gdbusconnection.c:1358
> #8  0x00007ffff45c96aa in g_main_dispatch (context=0x55555589cff0) at
> ././glib/gmain.c:3203
> #9  0x00007ffff45c96aa in g_main_context_dispatch (context=context@entr
> y=0x55555589cff0) at ././glib/gmain.c:3856
> #10 0x00007ffff45c9a60 in g_main_context_iterate
> (context=0x55555589cff0, block=block@entry=1, dispatch=dispatch@entry=1
> , self=<optimized out>) at ././glib/gmain.c:3929
> #11 0x00007ffff45c9d82 in g_main_loop_run (loop=0x55555594b530) at
> ././glib/gmain.c:4125
> #12 0x00007ffff78bf3b7 in gtk_main () at /usr/lib/x86_64-linux-
> gnu/libgtk-x11-2.0.so.0
> #13 0x000055555558e6c9 in fe_main ()
> #14 0x00005555555829e8 in main ()
> (gdb) quit
> A debugging session is active.
>
>         Inferior 1 [process 25675] will be killed.
>
> Quit anyway? (y or n) y

Reply | Threaded
Open this post in threaded view
|

Bug#922273: [hexchat] Thread 1 closes for missing raise.c

Synthea
I got more informations while putting my hands randomly on hexchat.
This bug happens if the following conditions are satisfied:
1- Hexchat tries to connect to a server, gets a DNS answer, tries to
contact the server ip and the server won't answer, but the connection
attempt won't end either
2- The connection attempt is terminated manually (Server > Disconnect)
3- Another server is chosen and the connection is successful
4- (Not certain but seems in 90% of cases to be related) Hexchat
receives a message which triggers a dbus notification
Something makes me suspect that in this particular situation the
notification method isn't handled correctly, resulting in dbus closing
the connection and libdbus-glib killing hexchat

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#922273: hexchat: Receives unexpected SIGTERM

Simon McVittie-7
On Sun, 03 Mar 2019 at 22:17:24 +0100, Synthea wrote:

> I got more informations while putting my hands randomly on hexchat.
> This bug happens if the following conditions are satisfied:
> 1- Hexchat tries to connect to a server, gets a DNS answer, tries to
> contact the server ip and the server won't answer, but the connection
> attempt won't end either
> 2- The connection attempt is terminated manually (Server > Disconnect)
> 3- Another server is chosen and the connection is successful
> 4- (Not certain but seems in 90% of cases to be related) Hexchat
> receives a message which triggers a dbus notification
> Something makes me suspect that in this particular situation the
> notification method isn't handled correctly, resulting in dbus closing
> the connection

My guess would be that hexchat, or a library or plugin that was loaded
by hexchat, is sending a corrupted D-Bus message. The dbus-daemon responds
to such messages by disconnecting the sender, and GDBus normally responds
to being disconnected by raising SIGTERM.

The most common form of corrupted D-Bus message is a supposedly UTF-8
string (the 's' type) that is not valid UTF-8 - either a valid string
in some non-UTF-8 character set that should have been transcoded to
UTF-8 before sending but was not, or a pointer that is pointing to
uninitialized or freed memory.

A less common form of corrupted D-Bus message is a boolean value
(the 'b' type) with a value other than 0 or 1. This usually happens as
a result of uninitialized or freed memory.

Does hexchat have code that interacts with o.fd.Notifications,
AppIndicator, or a similar D-Bus-based mechanism? Or are you perhaps
using an external plugin that does something similar?

Possible paths towards a solution:

* Run hexchat under valgrind or compile it with AddressSanitizer to check
  whether it has a use-after-free bug that can be triggered by a server
  not responding to connection attempts
* Check UTF-8 strings for validity before sending
* If the string is in a known non-UTF-8 character set like Latin-1,
  transcode it to UTF-8 before sending it in a D-Bus message
* If the "string" is actually an arbitrary byte blob, send it as a
  byte-array (D-Bus type 'ay', G_VARIANT_TYPE_BYTESTRING) instead of as
  a UTF-8 string (D-Bus type 's', G_VARIANT_TYPE_STRING) - this is only
  applicable if you control both ends of the D-Bus communication (if a
  standard interface like o.fd.Notifications expects a UTF-8 string,
  then that is what you must send)

The GDBusConnection object emits the "closed" signal before raising
SIGTERM, and has an "exit-on-close" property that can be toggled to FALSE
if raising SIGTERM on this class of error is not wanted. However, if
the exit-on-close behaviour is disabled, hexchat will have to be
responsible for exiting when the desktop session ends, for example by
exiting when disconnected from the X11 display or Wayland compositor,
or by watching logind.

> and libdbus-glib killing hexchat

If you're getting a SIGTERM on being disconnected, then that's GDBus,
not dbus-glib. dbus-glib would _exit(1) under the same circumstances
(same idea, different implementation).

    smcv