[Pidgin] #10147: SIGFPE/SIGSEGV on SILC reconnect

Pidgin trac at pidgin.im
Sun Aug 30 03:16:28 EDT 2009


#10147: SIGFPE/SIGSEGV on SILC reconnect
--------------------+-------------------------------------------------------
 Reporter:  kardan  |     Owner:  elb  
     Type:  defect  |    Status:  new  
Component:  SILC    |   Version:  2.6.1
 Keywords:          |  
--------------------+-------------------------------------------------------
 Hey pidgin developers,

 this is what I did:[[br]]
 * pidgin -n[[br]]
 * deactivate all accounts[[br]]
 * set status: online[[br]]
 * connect 1st and 2nd silc account[[br]]
 * deactivate one silc account[[br]]
 * reconnect it[[br]]

 = debug =

 {{{
 (07:17:19) account: Disconnecting account 0x1449890
 (07:17:19) connection: Disconnecting connection 0x1752cf0
 (07:17:19) connection: Deactivating keepalive.
 (07:17:20) GLib: g_source_remove: assertion `tag > 0' failed
 (07:17:20) connection: Destroying connection 0x1752cf0
 dns[17885]: nobody needs me... =(
 (07:17:30) account: Connecting to account xx at silc.xx.net.
 (07:17:30) connection: Connecting. gc = 0x1ac16c0
 (07:17:30) dns: DNS query for 'silc.xx.net' queued
 (07:17:30) dns: Wait for DNS child 17885 failed: No child processes
 (07:17:30) dns: Created new DNS child 17890, there are now 1 children.
 (07:17:30) dns: Successfully sent DNS request to child 17890
 (07:17:30) dns: Got response for 'silc.riseup.net'
 (07:17:30) dnsquery: IP resolved for silc.xx.net
 (07:17:30) proxy: Attempting connection to 204.13.164.
 (07:17:30) proxy: Connecting to silc.xx.net:706 with no proxy
 (07:17:30) proxy: Connection in progress
 (07:17:30) proxy: Connecting to silc.xx.net:706.
 (07:17:30) proxy: Connected to silc.xx.net:706.
 (07:17:32) connection: Activating keepalive.
 (07:17:42) account: Disconnecting account 0x1449890
 (07:17:42) connection: Disconnecting connection 0x1ac16c0
 (07:17:42) connection: Deactivating keepalive.
 (07:17:43) GLib: g_source_remove: assertion `tag > 0' failed
 (07:17:43) connection: Destroying connection 0x1ac16c0
 (07:17:49) account: Connecting to account me at silc.xx.net.
 (07:17:49) connection: Connecting. gc = 0x177e390
 (07:17:49) dns: DNS query for 'silc.xx.net' queued
 (07:17:49) dns: Successfully sent DNS request to child 17890
 (07:17:49) dns: Got response for 'silc.xx.net'
 (07:17:49) dnsquery: IP resolved for silc.xx.net
 (07:17:49) proxy: Attempting connection to 204.13.164.
 (07:17:49) proxy: Connecting to silc.xx.net:706 with no proxy
 (07:17:49) proxy: Connection in progress
 (07:17:49) proxy: Connecting to silc.xx.net:706.
 (07:17:49) proxy: Connected to silc.xx.net:706.
 (07:17:51) connection: Activating keepalive.
 (07:18:00) account: Disconnecting account 0x1449890
 (07:18:00) connection: Disconnecting connection 0x177e390
 (07:18:00) connection: Deactivating keepalive.
 (07:18:01) GLib: g_source_remove: assertion `tag > 0' failed
 (07:18:01) connection: Destroying connection 0x177e390
 (07:18:02) account: Connecting to account me at silc.xx.net.
 (07:18:02) connection: Connecting. gc = 0x1ac1640
 (07:18:02) dns: DNS query for 'silc.xx.net' queued
 (07:18:02) dns: Successfully sent DNS request to child 17890
 (07:18:02) dns: Got response for 'silc.xx.net'
 (07:18:02) dnsquery: IP resolved for silc.xx.net
 (07:18:02) proxy: Attempting connection to 204.13.164.
 (07:18:02) proxy: Connecting to silc.xx.net:706 with no proxy
 (07:18:02) proxy: Connection in progress
 (07:18:02) proxy: Connecting to silc.xx.net:706.
 (07:18:02) proxy: Connected to silc.xx.net:706.
 (07:18:04) connection: Activating keepalive.
 (07:18:08) account: Connecting to account me at silc.yy.net.
 (07:18:08) connection: Connecting. gc = 0x246dc70
 (07:18:08) dns: DNS query for 'silc.yy.net' queued
 (07:18:08) dns: Successfully sent DNS request to child 17890
 (07:18:08) dns: Got response for 'silc.yy.net'
 (07:18:08) dnsquery: IP resolved for silc.yy.net
 (07:18:08) proxy: Attempting connection to 83.223.73.
 (07:18:08) proxy: Connecting to silc.so36.net:706 with no proxy
 (07:18:08) proxy: Connection in progress
 (07:18:08) proxy: Connecting to silc.so36.net:706.
 (07:18:08) proxy: Connected to silc.so36.net:706.
 (07:18:09) connection: Activating keepalive.
 (07:18:11) dbus: Need to register an object with the dbus subsystem. (If
 you are not a developer, please ignore this message.)
 (07:18:11) dbus: The signal "conversation-displayed" caused some dbus
 error. (If you are not a developer, please ignore this message.)
 (07:18:17) account: Disconnecting account 0x144afc0
 (07:18:17) connection: Disconnecting connection 0x246dc70
 (07:18:17) connection: Deactivating keepalive.
 (07:18:18) GLib: g_source_remove: assertion `tag > 0' failed
 (07:18:18) connection: Destroying connection 0x246dc70
 (07:18:19) account: Connecting to account me at silc.yy.net.
 (07:18:19) connection: Connecting. gc = 0x1e4bb00
 (07:18:19) dns: DNS query for 'silc.yy.net' queued
 (07:18:19) dns: Successfully sent DNS request to child 17890
 (07:18:19) dns: Got response for 'silc.yy.net'
 (07:18:19) dnsquery: IP resolved for silc.yy.net
 (07:18:19) proxy: Attempting connection to 83.223.73.
 (07:18:19) proxy: Connecting to silc.so36.net:706 with no proxy
 (07:18:19) proxy: Connection in progress
 (07:18:19) proxy: Connecting to silc.yy.net:706.
 (07:18:19) proxy: Connected to silc.yy.net:706.
 (07:18:20) connection: Activating keepalive.
 dns[17890]: Oops, father has gone, wait for me, wait...!
 Floating point exception
 }}}

 = backtrace =

 {{{
 Reading symbols from /usr/local/bin/pidgin...done.
 (gdb)
 (gdb) handle SIGPIPE nostop noprint
 Signal        Stop      Print   Pass to program Description
 SIGPIPE       No        No      Yes             Broken pipe
 (gdb) run
 Starting program: /usr/local/bin/pidgin
 [Thread debugging using libthread_db enabled]
 [New Thread 0x7fffdde5c950 (LWP 18394)]
 [Thread 0x7fffdde5c950 (LWP 18394) exited]
 [New Thread 0x7fffdde5c950 (LWP 18398)]
 [Thread 0x7fffdde5c950 (LWP 18398) exited]
 [New Thread 0x7fffdde5c950 (LWP 18402)]
 [Thread 0x7fffdde5c950 (LWP 18402) exited]

 Program received signal SIGFPE, Arithmetic exception.
 0x00007fffe9279a1a in silc_packet_read_process (stream=0xb97400) at
 silcpacket.c:2227
 2227    silcpacket.c: No such file or directory.
         in silcpacket.c
 #0  0x00007fffe9279a1a in silc_packet_read_process (stream=0xb97400) at
 silcpacket.c:2227
         inbuf = 0x13304a0
         cipher = 0xb97c90
         hmac = 0xb21130
         packet = 0xb97400
         sid = <value optimized out>
         flags = 0 '\0'
         type = 0 '\0'
         packetlen = <value optimized out>
         paddedlen = 0
         mac_len = 0
         block_len = 0
         ivlen = 0
         psnlen = 0
         tmp = "\0\0\0\0\0\0\0\0PR\271\0\0\0\0"
         header = 0x7fffffffbd20 ""
         iv = "\0\0\0\0\0\0\0\0\16l)\351\377\177\0"
         packet_seq = 0x0
         normal = 1 '\1'
         __FUNCTION__ = "silc_packet_read_process"
 #1  0x00007fffe927b85a in silc_packet_stream_io (stream=<value optimized
 out>, status=<value optimized out>, context=<value optimized out>) at
 silcpacket.c:436
         remote = 0x5f
         ps = 0xb97400
         __FUNCTION__ = "silc_packet_stream_io"
 #2  0x00007fffe928fb32 in silc_socket_stream_io (schedule=<value optimized
 out>, app_context=<value optimized out>, type=<value optimized out>, fd=0,
 context=0x7fffffffbd10)
     at silcunixsocketstream.c:36
         stream = 0x7fffffffbd10
 #3  0x00007fffe9287ace in silc_schedule_dispatch_fd (schedule=0xb6fef0) at
 silcschedule.c:61
         task = 0xb95be0
 #4  0x00007fffe92894bb in silc_schedule_iterate (schedule=0xb6fef0,
 timeout_usecs=0) at silcschedule.c:455
         ret = 1
         __FUNCTION__ = "silc_schedule_iterate"
 #5  0x00007fffe9289604 in silc_schedule_one (schedule=0xb6fef0,
 timeout_usecs=0) at silcschedule.c:484
         ret = <value optimized out>
 #6  0x00007fffe95598d9 in silc_client_run_one () from
 /usr/lib/libsilcclient-1.1.so.3
 No symbol table info available.
 #7  0x000000000046da1e in pidgin_io_invoke (source=<value optimized out>,
 condition=<value optimized out>, data=<value optimized out>) at
 gtkeventloop.c:78
         closure = 0xb97550
         purple_cond = PURPLE_INPUT_READ
 #8  0x00007ffff39637aa in g_main_context_dispatch () from
 /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #9  0x00007ffff3966df8 in ?? () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #10 0x00007ffff39672cd in g_main_loop_run () from
 /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #11 0x00007ffff5b00b97 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.
 #12 0x00000000004852e0 in main (argc=1, argv=0x7fffffffe4b8) at
 gtkmain.c:915
         opt_force_online = 0
         opt_help = <value optimized out>
         opt_login = 0
         opt_nologin = 0
         opt_version = <value optimized out>
         opt_si = 1
         opt_config_dir_arg = 0x0
         opt_login_arg = 0x0
         opt_session_arg = 0x0
         accounts = <value optimized out>
         sigset = {__val = {82951, 0 <repeats 15 times>}}
         prev_sig_disp = 0
         errmsg =
 "\350\35\f\365\377\177\0\0\0\0\0\0\0\0\0\0\320T\375\367\377\177\0\0\r\331\336\367\377\177",
 '\0' <repeats 18 times>"\350,
 \\\354\367\377\177\0\0\302\312\336\367\377\177\0\0\320D\375\367\377\177\0\0\270i\375\367\377\177\0\0\240I\375\367\377\177\0\0\300\71\375\367\377\177\0\0\0
 \375\367\377\177\0\0\340$\375\367\377\177\0\0\320T\375\367\377\177\0\0\0\60\375\367\377\177\0\0P\332\374\367\377\177\0\0\340\64\375\367\377\177\0\0\300\4\375\367\377\177\0\0\0\0\0\0\0\0\0\0\350\35\f\365\377\177\0\0\0\0\0\0\0\0\0\0\320T\375\367\377\177\0\0\0\0
 \203\377\377\377\377\0\0vŽ\357\377\377\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\20\342\377\377\377\177\0\0\200\342\377\377\377\177\0\0\0\0\0\0\0\0\0\0\330\322-\365\377\177\0\0\5\0\0\0\0\0\0\0\0P\375\367\377\177\0\0\r\331\336\367\377\177",
 '\0' <repeats 26 times>"\326,
 \342\336\367\377\177\0\0\20\342\377\377\377\177\0\0\320\330\336\367\377\177\0\0O\342\377\377\377\177\0\0@\342\377\377\377\177\0\0\70\342\377\377\377\177\0\0\0\0\0\0\0\0\0\0\200"...
         error = 0x0
         opt = <value optimized out>
         gui_check = <value optimized out>
         debug_enabled = <value optimized out>
         migration_failed = <value optimized out>
         active_accounts = <value optimized out>
         long_options = {{name = 0x4d0382 "config", has_arg = 1, flag =
 0x0, val = 99}, {name = 0x4bbec1 "debug", has_arg = 0, flag = 0x0, val =
 100}, {name = 0x4cb975 "force-online", has_arg = 0,
             flag = 0x0, val = 100}, {name = 0x4bf206 "help", has_arg = 0,
 flag = 0x0, val = 104}, {name = 0x4cb702 "login", has_arg = 2, flag = 0x0,
 val = 108}, {name = 0x4cb982 "multiple",
             has_arg = 0, flag = 0x0, val = 109}, {name = 0x4cb98b
 "nologin", has_arg = 0, flag = 0x0, val = 110}, {name = 0x4d0378
 "session", has_arg = 1, flag = 0x0, val = 115}, {
             name = 0x4c2453 "version", has_arg = 0, flag = 0x0, val =
 118}, {name = 0x4d038b "display", has_arg = 1, flag = 0x0, val = 68},
 {name = 0x4cb993 "sync", has_arg = 0, flag = 0x0,
             val = 83}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
 }}}

 * this just happened one time, after this I only got segfaults[[br]]
 * apt-file search silcpacket.c > found nothing[[br]]

 {{{
 Starting program: /usr/local/bin/pidgin
 [Thread debugging using libthread_db enabled]
 [New Thread 0x7fffdde5a950 (LWP 19241)]
 [Thread 0x7fffdde5a950 (LWP 19241) exited]
 [New Thread 0x7fffdde5a950 (LWP 19245)]
 [Thread 0x7fffdde5a950 (LWP 19245) exited]
 [New Thread 0x7fffdde5a950 (LWP 19247)]
 [Thread 0x7fffdde5a950 (LWP 19247) exited]

 Program received signal SIGSEGV, Segmentation fault.
 0x0000000001856f30 in ?? ()
 (gdb) bt full
 #0  0x0000000001856f30 in ?? ()
 No symbol table info available.
 #1  0x00007fffe92b2b3f in silc_cipher_decrypt (cipher=<value optimized
 out>, src=0x13608b0
 "\220\305\345R\332=e\25\346\341\256#[G\305\21\256\214:\30\262\67*\211",
 <incomplete sequence \351>,
     dst=0x7fffffffbd20 "", len=81, iv=0x7fffffffbd10
 "%\245\27\366\231݁ȇ\217\377\273") at silccipher.c:325
 No locals.
 #2  0x00007fffe92798db in silc_packet_read_process (stream=0x13603d0) at
 silcpacket.c:2189
         inbuf = 0x1352f50
         cipher = 0x13715b0
         hmac = 0x13724a0
         packet = 0x13603d0
         sid = <value optimized out>
         flags = 214 '\326'
         type = 33 '!'
         packetlen = 62126
         paddedlen = 32767
         mac_len = 12114000
         block_len = 81
         ivlen = <value optimized out>
         psnlen = 0
         tmp = "\0\0\0\0\0\0\0\0!\0\0\0\0\0\0"
         header = 0xa80970 "\200\244R\351\377\177"
         iv = "%\245\27\366\231݁ȇ\217\377\273\0\0\0\5"
         packet_seq = 0x0
         normal = 0 '\0'
         __FUNCTION__ = "silc_packet_read_process"
 #3  0x00007fffe927b85a in silc_packet_stream_io (stream=<value optimized
 out>, status=<value optimized out>, context=<value optimized out>) at
 silcpacket.c:436
         remote = 0x80f
         ps = 0x0
         __FUNCTION__ = "silc_packet_stream_io"
 #4  0x00007fffe928fb32 in silc_socket_stream_io (schedule=<value optimized
 out>, app_context=<value optimized out>, type=<value optimized out>,
 fd=81, context=0x7fffffffbd10)
     at silcunixsocketstream.c:36
         stream = 0x7fffffffbd10
 #5  0x00007fffe9287ace in silc_schedule_dispatch_fd (schedule=0x1350240)
 at silcschedule.c:61
         task = 0x135dd60
 #6  0x00007fffe92894bb in silc_schedule_iterate (schedule=0x1350240,
 timeout_usecs=0) at silcschedule.c:455
         ret = 1
         __FUNCTION__ = "silc_schedule_iterate"
 #7  0x00007fffe9289604 in silc_schedule_one (schedule=0x1350240,
 timeout_usecs=0) at silcschedule.c:484
         ret = <value optimized out>
 #8  0x00007fffe95598d9 in silc_client_run_one () from
 /usr/lib/libsilcclient-1.1.so.3
 No symbol table info available.
 #9  0x000000000046da1e in pidgin_io_invoke (source=<value optimized out>,
 condition=<value optimized out>, data=<value optimized out>) at
 gtkeventloop.c:78
         closure = 0xa8f0f0
         purple_cond = PURPLE_INPUT_READ
 #10 0x00007ffff39637aa in g_main_context_dispatch () from
 /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #11 0x00007ffff3966df8 in ?? () from /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #12 0x00007ffff39672cd in g_main_loop_run () from
 /usr/lib/libglib-2.0.so.0
 No symbol table info available.
 #13 0x00007ffff5b00b97 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
 No symbol table info available.
 #14 0x00000000004852e0 in main (argc=1, argv=0x7fffffffe4b8) at
 gtkmain.c:915
         opt_force_online = 0
         opt_help = <value optimized out>
         opt_login = 0
         opt_nologin = 0
         opt_version = <value optimized out>
         opt_si = 1
         opt_config_dir_arg = 0x0
 =
 }}}

 To find the missing symbol a installed libsilc-dev
 {{{
 The following extra packages will be installed:
   libsilc-1.1-2 libsilc-1.1-2-dbg libsilcclient-1.1-3
 The following packages will be upgraded:
   libsilc-1.1-2 libsilc-1.1-2-dbg libsilc-dev libsilcclient-1.1-3
 }}}

 .. which changed nothing. I can't get clear with all the different output.
 Hope you will.

 I am running 2.6.2-devel / 2.6.31-rc7-0xb5 #4 SMP x86_64

-- 
Ticket URL: <http://developer.pidgin.im/ticket/10147>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list