[Pidgin] #17408: Crash (SIGABRT) when connecting to new IRC server

Pidgin trac at pidgin.im
Tue Aug 27 11:21:28 EDT 2019


#17408: Crash (SIGABRT) when connecting to new IRC server
--------------------+--------------------------
 Reporter:  äxl     |      Owner:  EionRobb
     Type:  defect  |     Status:  new
Milestone:          |  Component:  unclassified
  Version:  2.13.0  |   Keywords:  irc, sigabrt
--------------------+--------------------------
 Hi, I'm on Debian Buster with Gnome 3.30, pidgin 2.13.0-2+b1 and GTK+2
 2.24.32-3.

 This SIGABRT happened when I restarted Gnome Shell with killall -3 gnome-
 shell. Pidgin was running for a longer time (~24h) and collected some IRC
 logs.

 (This log is from a 'continue' from GDB console because else I would get
 errors like "SSL Connection Failed" when trying to connect to a new
 server. With SSL disabled it would say "Unable to create new resolver
 process" every time.)


 {{{
 $ gdb pidgin 4866
 GNU gdb (Debian 8.2.1-2) 8.2.1
 Copyright (C) 2018 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 pidgin...Reading symbols from /usr/lib/debug/.build-
 id/08/55315171036acd2c7bdd760a1092371b8bc7eb.debug...done.
 done.
 Attaching to program: /usr/bin/pidgin, process 4866
 [New LWP 6080]
 [New LWP 6112]
 [New LWP 6113]
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
 0x00007f029858a819 in __GI___poll (fds=0x55d29f90e860, nfds=11,
 timeout=11769) at ../sysdeps/unix/sysv/linux/poll.c:29
 29      ../sysdeps/unix/sysv/linux/poll.c: No such file or directory.
 (gdb) handle SIGPIPE nostop noprint
 Signal        Stop      Print   Pass to program Description
 SIGPIPE       No        No      Yes             Broken pipe
 Continuing.
 [Detaching after fork from child process 25414]
 [Detaching after fork from child process 25424]
 [Detaching after fork from child process 25428]
 ...
 [Detaching after fork from child process 22719]
 [Detaching after fork from child process 22754]
 [Detaching after fork from child process 22873]

 Thread 1 "pidgin" received signal SIGABRT, Aborted.
 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
 50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
 #0  0x00007fd8c3c757bb in __GI_raise (sig=sig at entry=6) at
 ../sysdeps/unix/sysv/linux/raise.c:50
         set = {__val = {0, 10539809407003593984, 93930232793312, 0, 128,
 128, 128, 128, 0, 140568979296180, 93930228370304, 7883563760,
 93930204847376, 0, 140568979574798, 140568979574798}}
         pid = <optimized out>
         tid = <optimized out>
 #1  0x00007fd8c3c60535 in __GI_abort () at abort.c:79
         save_stage = 1
         act = {__sigaction_handler = {sa_handler = 0x65e, sa_sigaction =
 0x65e}, sa_mask = {__val = {140568975975914, 140729412708348, 0, 1,
 140568979395029, 22873, 0, 0, 140729412708368, 140729412708348,
 140568979560431, 93930243635424, 0, 140729412708640, 140729412708352,
 140729412708752}}, sa_flags = 514287616, sa_restorer = 0x1000}
         sigs = {__val = {32, 0 <repeats 15 times>}}
 #2  0x00007fd8c3cb7508 in __libc_message (action=<optimized out>,
 fmt=fmt at entry=0x7fd8c3dc207b "*** %s ***: %s terminated\n")
 at ../sysdeps/posix/libc_fatal.c:181
         ap = {{gp_offset = 32, fp_offset = 4294967295, overflow_arg_area =
 0x7ffe1ea769a0, reg_save_area = 0x7ffe1ea76930}}
         fd = 24
         list = <optimized out>
         nlist = <optimized out>
         cp = <optimized out>
         written = <optimized out>
 #3  0x00007fd8c3d4880d in __GI___fortify_fail_abort
 (need_backtrace=need_backtrace at entry=true, msg=msg at entry=0x7fd8c3dc1ff8
 "buffer overflow detected") at fortify_fail.c:28
 #4  0x00007fd8c3d48841 in __GI___fortify_fail
 (msg=msg at entry=0x7fd8c3dc1ff8 "buffer overflow detected") at
 fortify_fail.c:44
 #5  0x00007fd8c3d46940 in __GI___chk_fail () at chk_fail.c:28
 #6  0x00007fd8c3d48737 in __fdelt_chk (d=<optimized out>) at
 fdelt_chk.c:25
 #7  0x00007fd8c417e1f4 in g_spawn_sync () at /usr/lib/x86_64-linux-
 gnu/libglib-2.0.so.0
 #8  0x00007fd8c417e997 in g_spawn_command_line_sync () at /usr/lib/x86_64
 -linux-gnu/libglib-2.0.so.0
 #9  0x00007fd8c402d794 in purple_gnome_proxy_get_parameter
 (parameter=parameter at entry=0 '\000', gnome_version=gnome_version at entry=1
 '\001') at ././libpurple/proxy.c:270
         param = 0x0
         err = 0x0
         param_len = <optimized out>
 #10 0x00007fd8c402de2b in purple_gnome_proxy_get_parameter
 (gnome_version=<optimized out>, parameter=0 '\000') at
 ././libpurple/proxy.c:307
         use_same_proxy = 0
         tmp = <optimized out>
         gnome_version = <optimized out>
         info = {type = PURPLE_PROXY_NONE, host = 0x0, port = 0, username =
 0x0, password = 0x0}
         gpi = <optimized out>
         tmp = <optimized out>
         tmp_none_proxy_info = 0x556dd6ce2060
 #11 0x00007fd8c402de2b in purple_gnome_proxy_get_info () at
 ././libpurple/proxy.c:307
         use_same_proxy = 0
         tmp = <optimized out>
         gnome_version = <optimized out>
         info = {type = PURPLE_PROXY_NONE, host = 0x0, port = 0, username =
 0x0, password = 0x0}
         gpi = <optimized out>
         tmp = <optimized out>
         tmp_none_proxy_info = 0x556dd6ce2060
 #12 0x00007fd8c402de2b in purple_proxy_get_setup
 (account=account at entry=0x556dd5f69170) at ././libpurple/proxy.c:2243
         gpi = <optimized out>
         tmp = <optimized out>
         tmp_none_proxy_info = 0x556dd6ce2060
 #13 0x00007fd8c402e3cf in purple_proxy_connect (handle=handle at entry=0x0,
 account=account at entry=0x556dd5f69170, host=host at entry=0x556dd7a1a2f0
 "irc.xxx.net", port=port at entry=6697,
 connect_cb=connect_cb at entry=0x7fd8c40440b0 <purple_ssl_connect_cb>,
 data=data at entry=0x556dd6f64b60) at ././libpurple/proxy.c:2326
         connecthost = 0x556dd7a1a2f0 "irc.xxx.net"
         connectport = 6697
         connect_data = 0x556dd6cfff70
         __func__ = "purple_proxy_connect"
 #14 0x00007fd8c4043e02 in purple_ssl_connect_with_ssl_cn
 (account=account at entry=0x556dd5f69170, host=0x556dd7a1a2f0 "irc.xxx.net",
 port=6697, func=func at entry=0x7fd8b9ae8ea0 <irc_login_cb_ssl>,
 error_func=error_func at entry=0x7fd8b9ae8020 <irc_ssl_connect_failure>,
 ssl_cn=ssl_cn at entry=0x0, data=0x556dd6ce1c20) at
 ././libpurple/sslconn.c:137
         gsc = 0x556dd6f64b60
         __func__ = "purple_ssl_connect_with_ssl_cn"
 #15 0x00007fd8c4043eee in purple_ssl_connect
 (account=account at entry=0x556dd5f69170, host=<optimized out>,
 port=<optimized out>, func=func at entry=0x7fd8b9ae8ea0 <irc_login_cb_ssl>,
 error_func=error_func at entry=0x7fd8b9ae8020 <irc_ssl_connect_failure>,
 data=data at entry=0x556dd6ce1c20) at ././libpurple/sslconn.c:103
 #16 0x00007fd8b9ae7d10 in irc_login (account=0x556dd5f69170) at
 ././libpurple/protocols/irc/irc.c:378
         gc = 0x556dd6ce1c20
         irc = 0x556dd6d325d0
         userparts = <optimized out>
         username = <optimized out>
 #17 0x0000556dd47d0e75 in do_signon (data=0x556dd5f69170) at
 ././pidgin/gtkconn.c:131
         account = 0x556dd5f69170
         info = <optimized out>
         status = <optimized out>
         __func__ = "do_signon"
 #18 0x00007fd8c4136863 in  () at /usr/lib/x86_64-linux-
 gnu/libglib-2.0.so.0
 #19 0x00007fd8c4135dd8 in g_main_context_dispatch () at /usr/lib/x86_64
 -linux-gnu/libglib-2.0.so.0
 #20 0x00007fd8c41361c8 in  () at /usr/lib/x86_64-linux-
 gnu/libglib-2.0.so.0
 #21 0x00007fd8c41364c2 in g_main_loop_run () at /usr/lib/x86_64-linux-
 gnu/libglib-2.0.so.0
 #22 0x00007fd8c45ff8e7 in gtk_main () at /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #23 0x0000556dd47b298b in main (argc=<optimized out>, argv=<optimized
 out>) at ././pidgin/gtkmain.c:939
         opt_force_online = 0
         opt_help = <optimized out>
         opt_login = 0
         opt_nologin = 0
         opt_version = <optimized out>
         opt_si = <optimized out>
         opt_config_dir_arg = <optimized out>
         opt_login_arg = <optimized out>
         opt_session_arg = <optimized out>
         search_path = <optimized out>
         accounts = <optimized out>
         sig_indx = 1
         sigset = {__val = {91142, 0 <repeats 15 times>}}
         errmsg = '\000' <repeats 1256 times>...
         signal_channel = <optimized out>
         signal_status = <optimized out>
         signal_channel_watcher = 1
         segfault_message_tmp = <optimized out>
         error = 0x0
         opt = <optimized out>
         gui_check = <optimized out>
         debug_enabled = <optimized out>
         migration_failed = 0
         active_accounts = <optimized out>
         long_options = {{name = 0x556dd4850c31 "config", has_arg = 1, flag
 = 0x0, val = 99}, {name = 0x556dd483ef79 "debug", has_arg = 0, flag = 0x0,
 val = 100}, {name = 0x556dd484cbc2 "force-online", has_arg = 0, flag =
 0x0, val = 102}, {name = 0x556dd4840ab8 "help", has_arg = 0, flag = 0x0,
 val = 104}, {name = 0x556dd484ca6e "login", has_arg = 2, flag = 0x0, val =
 108}, {name = 0x556dd484cbcf "multiple", has_arg = 0, flag = 0x0, val =
 109}, {name = 0x556dd484cbd8 "nologin", has_arg = 0, flag = 0x0, val =
 110}, {name = 0x556dd4850c27 "session", has_arg = 1, flag = 0x0, val =
 115}, {name = 0x556dd48432dd "version", has_arg = 0, flag = 0x0, val =
 118}, {name = 0x556dd4850c3a "display", has_arg = 1, flag = 0x0, val =
 68}, {name = 0x556dd484d70a "sync", has_arg = 0, flag = 0x0, val = 83},
 {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
 Continuing.
 Couldn't get registers: No such process.
 Couldn't get registers: No such process.
 [Thread 0x7fd8b4faf700 (LWP 24871) exited]
 [Thread 0x7fd8b57b0700 (LWP 24870) exited]
 [Thread 0x7fd8b6709700 (LWP 24846) exited]

 Program terminated with signal SIGABRT, Aborted.
 The program no longer exists.
 The program is not being run.
 }}}

--
Ticket URL: <https://developer.pidgin.im/ticket/17408>
Pidgin <https://pidgin.im>
Pidgin


More information about the Tracker mailing list