[Pidgin] #16994: Segfault when deleting pasted content

Pidgin trac at pidgin.im
Thu Apr 14 08:49:19 EDT 2016


#16994: Segfault when deleting pasted content
--------------------+--------------------------
 Reporter:  CodeX   |      Owner:
     Type:  defect  |     Status:  new
Milestone:          |  Component:  pidgin (gtk)
  Version:  2.10.9  |   Keywords:  segfault
--------------------+--------------------------
 Hi, I'm using Pidgin 2.10.9 (libpurple 2.10.9) on Linux Mint 17 Qiana.

 If I copy the content (including the HR) of the below box into the chat
 (from Firefox 45), move the cursor to the start of the HR and hit the
 delete key I usually get a segfault, if not pasting the text in again will
 then cause it to segfault.

 {{{
 #!html
 <div id="testbox" style="border:1px dashed red">
 before
 <hr>
 after
 </div>
 }}}

 Here is a quick dump with gdb:
 {{{
 GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
 Copyright (C) 2014 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...(no debugging symbols found)...done.
 (gdb) run
 Starting program: /usr/bin/pidgin
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
 [New Thread 0x7fffdeebe700 (LWP 19736)]
 [New Thread 0x7fffdba12700 (LWP 19781)]
 [New Thread 0x7fffdb211700 (LWP 19782)]
 [New Thread 0x7fffdaa10700 (LWP 19783)]

 Program received signal SIGSEGV, Segmentation fault.
 0x00007ffff6749cbe in gtk_widget_set_size_request () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 (gdb) where
 #0  0x00007ffff6749cbe in gtk_widget_set_size_request () from
 /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
 #1  0x00005555555d2d27 in ?? ()
 #2  0x00007ffff5678332 in g_closure_invoke () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #3  0x00007ffff5689557 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #4  0x00007ffff5691a29 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #5  0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #6  0x00007ffff674850a in gtk_widget_size_allocate () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 #7  0x00007ffff6692fad in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #8  0x00007ffff567b210 in g_cclosure_marshal_VOID__BOXEDv () from
 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #9  0x00007ffff567855f in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #10 0x00007ffff5691088 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #11 0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #12 0x00007ffff674850a in gtk_widget_size_allocate () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 #13 0x00007ffff658a0f8 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #14 0x00007ffff567b210 in g_cclosure_marshal_VOID__BOXEDv () from
 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #15 0x00007ffff567855f in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #16 0x00007ffff5691088 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #17 0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #18 0x00007ffff674850a in gtk_widget_size_allocate () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 #19 0x00007ffff65f928e in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #20 0x00007ffff567b210 in g_cclosure_marshal_VOID__BOXEDv () from
 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #21 0x00007ffff567855f in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #22 0x00007ffff5691088 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #23 0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #24 0x00007ffff674850a in gtk_widget_size_allocate () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 #25 0x00007ffff658a0f8 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #26 0x00007ffff567b210 in g_cclosure_marshal_VOID__BOXEDv () from
 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #27 0x00007ffff567855f in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #28 0x00007ffff5691088 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #29 0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #30 0x00007ffff674850a in gtk_widget_size_allocate () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 #31 0x00007ffff658a0f8 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #32 0x00007ffff567b210 in g_cclosure_marshal_VOID__BOXEDv () from
 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #33 0x00007ffff567855f in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #34 0x00007ffff5691088 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #35 0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #36 0x00007ffff674850a in gtk_widget_size_allocate () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 #37 0x00007ffff658a0f8 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #38 0x00007ffff567b210 in g_cclosure_marshal_VOID__BOXEDv () from
 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #39 0x00007ffff567855f in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #40 0x00007ffff5691088 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #41 0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #42 0x00007ffff674850a in gtk_widget_size_allocate () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 #43 0x00007ffff6654b25 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #44 0x00007ffff567b210 in g_cclosure_marshal_VOID__BOXEDv () from
 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #45 0x00007ffff567855f in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #46 0x00007ffff5691088 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #47 0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #48 0x00007ffff674850a in gtk_widget_size_allocate () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 #49 0x00007ffff658a0f8 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #50 0x00007ffff567b210 in g_cclosure_marshal_VOID__BOXEDv () from
 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #51 0x00007ffff567855f in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #52 0x00007ffff5691088 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #53 0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #54 0x00007ffff674850a in gtk_widget_size_allocate () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 #55 0x00007ffff6751eaa in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #56 0x00007ffff567b210 in g_cclosure_marshal_VOID__BOXEDv () from
 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
 #57 0x00007ffff56785e7 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #58 0x00007ffff5691088 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #59 0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #60 0x00007ffff674850a in gtk_widget_size_allocate () from /usr/lib/x86_64
 -linux-gnu/libgtk-x11-2.0.so.0
 #61 0x00007ffff6753148 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #62 0x00007ffff56785e7 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #63 0x00007ffff5691088 in g_signal_emit_valist () from /usr/lib/x86_64
 -linux-gnu/libgobject-2.0.so.0
 #64 0x00007ffff5691ce2 in g_signal_emit () from /usr/lib/x86_64-linux-
 gnu/libgobject-2.0.so.0
 #65 0x00007ffff65bbe20 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #66 0x00007ffff6271ce7 in ?? () from /usr/lib/x86_64-linux-
 gnu/libgdk-x11-2.0.so.0
 #67 0x00007ffff53a8ce5 in g_main_context_dispatch () from /lib/x86_64
 -linux-gnu/libglib-2.0.so.0
 #68 0x00007ffff53a9048 in ?? () from /lib/x86_64-linux-
 gnu/libglib-2.0.so.0
 #69 0x00007ffff53a930a in g_main_loop_run () from /lib/x86_64-linux-
 gnu/libglib-2.0.so.0
 #70 0x00007ffff6632447 in gtk_main () from /usr/lib/x86_64-linux-
 gnu/libgtk-x11-2.0.so.0
 #71 0x000055555558f369 in main ()
 }}}

 Here are the last few debug lines that appear relevant:
 {{{
 (12:42:20) pidgin-libnotify: Conversation Updated (UNSEEN)
 (12:42:24) Gtk: IA__gtk_widget_set_size_request: assertion 'GTK_IS_WIDGET
 (widget)' failed
 (12:42:24) Gtk: IA__gtk_widget_set_size_request: assertion 'GTK_IS_WIDGET
 (widget)' failed
 (12:42:24) Gtk: IA__gtk_widget_set_size_request: assertion 'GTK_IS_WIDGET
 (widget)' failed
 }}}

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


More information about the Tracker mailing list