[Pidgin] #17410: Crash (SIGABRT) when modifying account and trying to connect (IRC)

Pidgin trac at pidgin.im
Sat Sep 7 04:03:41 EDT 2019


#17410: Crash (SIGABRT) when modifying account and trying to connect (IRC)
--------------------+--------------------------
 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 after I modified an already created account in
 "Account management", saved it and then clicked "Enabled".
 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. So the PIDs, LWPs might not be correct.)

 Maybe related: https://developer.pidgin.im/ticket/17408


 {{{
 $ gdb pidgin 13491
 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 13491
 [New LWP 13731]
 [New LWP 13732]
 [New LWP 13733]
 [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 16797]
 [Detaching after fork from child process 16817]
 [Detaching after fork from child process 16827]
 ...
 [Detaching after fork from child process 17695]
 [Detaching after fork from child process 17704]
 [Detaching after fork from child process 17794]

 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  0x00007f42935bc7bb in __GI_raise (sig=sig at entry=6) at
 ../sysdeps/unix/sysv/linux/raise.c:50
         set = {__val = {0, 13119485998051116544, 94850066301840, 0, 128,
 128, 128, 128, 0, 139923921846196, 94850087521616, 4303770144,
 94850035879184, 0, 139923922124814, 139923922124814}}
         pid = <optimized out>
         tid = <optimized out>
 #1  0x00007f42935a7535 in __GI_abort () at abort.c:79
         save_stage = 1
         act = {__sigaction_handler = {sa_handler = 0x69e, sa_sigaction =
 0x69e}, sa_mask = {__val = {139923918525930, 140723442837628, 0, 1,
 139923921945045, 7794, 0, 0, 140723442837648, 140723442837628,
 139923922110447, 94850089949472, 0, 140723442837920, 140723442837632,
 140723442838032}}, sa_flags = -1160615808, sa_restorer = 0x1000}
         sigs = {__val = {32, 0 <repeats 15 times>}}
 #2  0x00007f42935fe508 in __libc_message (action=<optimized out>,
 fmt=fmt at entry=0x7f429370907b "*** %s ***: %s terminated\n")
 at ../sysdeps/posix/libc_fatal.c:181
         ap = {{gp_offset = 32, fp_offset = 4294967295, overflow_arg_area =
 0x7ffcbad26a20, reg_save_area = 0x7ffcbad269b0}}
         fd = 1691
         list = <optimized out>
         nlist = <optimized out>
         cp = <optimized out>
         written = <optimized out>
 #3  0x00007f429368f80d in __GI___fortify_fail_abort
 (need_backtrace=need_backtrace at entry=true, msg=msg at entry=0x7f4293708ff8
 "buffer overflow detected") at fortify_fail.c:28
 #4  0x00007f429368f841 in __GI___fortify_fail
 (msg=msg at entry=0x7f4293708ff8 "buffer overflow detected") at
 fortify_fail.c:44
 #5  0x00007f429368d940 in __GI___chk_fail () at chk_fail.c:28
 #6  0x00007f429368f737 in __fdelt_chk (d=<optimized out>) at
 fdelt_chk.c:25
 #7  0x00007f4293ac51f4 in g_spawn_sync () at /usr/lib/x86_64-linux-
 gnu/libglib-2.0.so.0
 #8  0x00007f4293ac5997 in g_spawn_command_line_sync () at /usr/lib/x86_64
 -linux-gnu/libglib-2.0.so.0
 #9  0x00007f4293974794 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 0x00007f4293974e2b 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 = 0x56440168d1a0
 #11 0x00007f4293974e2b 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 = 0x56440168d1a0
 #12 0x00007f4293974e2b in purple_proxy_get_setup
 (account=account at entry=0x564401e9d1d0) at ././libpurple/proxy.c:2243
         gpi = <optimized out>
         tmp = <optimized out>
         tmp_none_proxy_info = 0x56440168d1a0
 #13 0x00007f42939753cf in purple_proxy_connect (handle=handle at entry=0x0,
 account=account at entry=0x564401e9d1d0, host=host at entry=0x5644023b93c0
 "irc.xxx.net", port=port at entry=6697,
 connect_cb=connect_cb at entry=0x7f429398b0b0 <purple_ssl_connect_cb>,
 data=data at entry=0x564401f80330) at ././libpurple/proxy.c:2326
         connecthost = 0x5644023b93c0 "irc.xxx.net"
         connectport = 6697
         connect_data = 0x5644020cd540
         __func__ = "purple_proxy_connect"
 #14 0x00007f429398ae02 in purple_ssl_connect_with_ssl_cn
 (account=account at entry=0x564401e9d1d0, host=0x5644023b93c0 "irc.xxx.net",
 port=6697, func=func at entry=0x7f428942fea0 <irc_login_cb_ssl>,
 error_func=error_func at entry=0x7f428942f020 <irc_ssl_connect_failure>,
 ssl_cn=ssl_cn at entry=0x0, data=0x56440204cf80) at
 ././libpurple/sslconn.c:137
         gsc = 0x564401f80330
         __func__ = "purple_ssl_connect_with_ssl_cn"
 #15 0x00007f429398aeee in purple_ssl_connect
 (account=account at entry=0x564401e9d1d0, host=<optimized out>,
 port=<optimized out>, func=func at entry=0x7f428942fea0 <irc_login_cb_ssl>,
 error_func=error_func at entry=0x7f428942f020 <irc_ssl_connect_failure>,
 data=data at entry=0x56440204cf80) at ././libpurple/sslconn.c:103
 #16 0x00007f428942ed10 in irc_login (account=0x564401e9d1d0) at
 ././libpurple/protocols/irc/irc.c:378
         gc = 0x56440204cf80
         irc = 0x564402048df0
         userparts = <optimized out>
         username = <optimized out>
 #17 0x00005643feaf096d in ok_account_prefs_cb (w=<optimized out>,
 dialog=0x5644028e2ab0) at ././pidgin/gtkaccount.c:1512
         saved_status = <optimized out>
         proxy_info = <optimized out>
         l = <optimized out>
         l2 = <optimized out>
         value = <optimized out>
         username = <optimized out>
         tmp = <optimized out>
         new_acct = 1
         icon_change = <optimized out>
         account = 0x564401e9d1d0
 #18 0x00007f4293b5ec8d in g_closure_invoke () at /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #19 0x00007f4293b72365 in  () at /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #20 0x00007f4293b7b2be in g_signal_emit_valist () at /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #21 0x00007f4293b7b97f in g_signal_emit () at /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #22 0x00007f4293ea3e25 in  () at /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #23 0x00007f4293b5ec8d in g_closure_invoke () at /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #24 0x00007f4293b724b4 in  () at /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #25 0x00007f4293b7b2be in g_signal_emit_valist () at /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #26 0x00007f4293b7b97f in g_signal_emit () at /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #27 0x00007f4293ea2d69 in  () at /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #28 0x00007f4293f491eb in  () at /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #29 0x00007f4293b5ec8d in g_closure_invoke () at /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #30 0x00007f4293b71bbd in  () at /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #31 0x00007f4293b7a9ab in g_signal_emit_valist () at /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #32 0x00007f4293b7b97f in g_signal_emit () at /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #33 0x00007f429405fcac in  () at /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #34 0x00007f4293f4748c in gtk_propagate_event () at /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #35 0x00007f4293f4787b in gtk_main_do_event () at /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #36 0x00007f4293dbabac in  () at /usr/lib/x86_64-linux-
 gnu/libgdk-x11-2.0.so.0
 #37 0x00007f4293a7cf2e in g_main_context_dispatch () at /usr/lib/x86_64
 -linux-gnu/libglib-2.0.so.0
 #38 0x00007f4293a7d1c8 in  () at /usr/lib/x86_64-linux-
 gnu/libglib-2.0.so.0
 #39 0x00007f4293a7d4c2 in g_main_loop_run () at /usr/lib/x86_64-linux-
 gnu/libglib-2.0.so.0
 #40 0x00007f4293f468e7 in gtk_main () at /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #41 0x00005643feaed98b 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 = 0x5643feb8bc31 "config", has_arg = 1, flag
 = 0x0, val = 99}, {name = 0x5643feb79f79 "debug", has_arg = 0, flag = 0x0,
 val = 100}, {name = 0x5643feb87bc2 "force-online", has_arg = 0, flag =
 0x0, val = 102}, {name = 0x5643feb7bab8 "help", has_arg = 0, flag = 0x0,
 val = 104}, {name = 0x5643feb87a6e "login", has_arg = 2, flag = 0x0, val =
 108}, {name = 0x5643feb87bcf "multiple", has_arg = 0, flag = 0x0, val =
 109}, {name = 0x5643feb87bd8 "nologin", has_arg = 0, flag = 0x0, val =
 110}, {name = 0x5643feb8bc27 "session", has_arg = 1, flag = 0x0, val =
 115}, {name = 0x5643feb7e2dd "version", has_arg = 0, flag = 0x0, val =
 118}, {name = 0x5643feb8bc3a "display", has_arg = 1, flag = 0x0, val =
 68}, {name = 0x5643feb8870a "sync", has_arg = 0, flag = 0x0, val = 83},
 {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
 Continuing.
 [Thread 0x7f42848f6700 (LWP 13733) exited]
 [Thread 0x7f42850f7700 (LWP 13732) exited]
 [Thread 0x7f428e637cc0 (LWP 13731) exited]

 Program terminated with signal SIGABRT, Aborted.
 The program no longer exists.
 }}}

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


More information about the Tracker mailing list