Opened at 2011-08-17T12:07:49Z
Closed at 2012-12-18T01:28:18Z
#822 closed defect (fixed)
Segfault on jabber file transfers
Reported by: | Owned by: | wilmer | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Jabber | Version: | 3.0.3 |
Keywords: | Cc: | ||
IRC client+version: | Client-independent | Operating System: | Linux |
OS version/distro: |
Description
Bitlbee 3.0.3, without libpurple
(gdb) set args -D -n (gdb) run Starting program: /usr/sbin/bitlbee -D -n [Thread debugging using libthread_db enabled] Error: Could not remove old IPC socket at /var/run/bitlbee.sock: Permission denied
Program received signal SIGSEGV, Segmentation fault. 0x000000000044fde2 in jabber_si_handle_request (ic=0x6ed270, node=0x7affb0, sinode=0x720e50) at si.c:317 317 tf->ft->data = tf; (gdb) bt #0 0x000000000044fde2 in jabber_si_handle_request (ic=0x6ed270, node=0x7affb0, sinode=0x720e50)
at si.c:317
#1 0x0000000000445bf6 in jabber_pkt_iq (node=0x7affb0, data=0x6ed270) at iq.c:160 #2 0x0000000000435029 in xt_handle (xt=0x6ee3a0, node=0x7affb0, depth=0) at xmltree.c:191 #3 0x0000000000434e7e in xt_handle (xt=0x6ee3a0, node=0x6f0fb0, depth=1) at xmltree.c:171 #4 0x0000000000434e3f in xt_handle (xt=0x6ee3a0, node=0x0, depth=1) at xmltree.c:167 #5 0x0000000000444936 in jabber_read_callback (data=0x6ed270, fd=13, cond=B_EV_IO_READ) at io.c:184 #6 0x000000000042c9d8 in gaim_io_invoke (source=0x704d00, condition=G_IO_IN, data=0x6f10f0)
at events_glib.c:85
#7 0x00007ffff77366f2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #8 0x00007ffff773a568 in ?? () from /lib/libglib-2.0.so.0 #9 0x00007ffff773aa75 in g_main_loop_run () from /lib/libglib-2.0.so.0 #10 0x000000000042c95b in b_main_run () at events_glib.c:64 #11 0x000000000042a32d in main (argc=3, argv=0x7fffffffece8) at unix.c:177
The problem here is that inside the check at si.c:273 requestok gets set to false, but is not checked after -- request handling continues assuming everything is fine. I fixed it for me by changing the else-clause to if (!requestok).
Attachments (0)
Change History (4)
comment:1 Changed at 2012-07-13T18:30:55Z by
comment:2 Changed at 2012-12-17T13:15:56Z by
I can also reproduce this.
Full backtrace: http://paste.the-compiler.org/view/b72ac66d
comment:4 Changed at 2012-12-18T01:28:18Z by
Resolution: | → fixed |
---|---|
Status: | new → closed |
I'm pretty sure changeset:devel,950 should fix this.
I'm experiencing the same thing here. Concerning because it disconnects when this happens, so anyone could disconnect you just by attempting to send you a file.
From other user:
Logfile: