Wireshark-bugs: [Wireshark-bugs] [Bug 8604] New: Single ping crashes i686 Wireshark
Date: Tue, 23 Apr 2013 04:15:24 +0000
Bug ID 8604
Summary Single ping crashes i686 Wireshark
Classification Unclassified
Product Wireshark
Version 1.9.x (Experimental)
Hardware x86
OS Debian
Status UNCONFIRMED
Severity Major
Priority Low
Component Wireshark
Assignee bugzilla-admin@wireshark.org
Reporter balint@balintreczey.hu

Created attachment 10637 [details]
capture file triggering the problem

Build Information:
wireshark 1.9.2 (SVN Rev 48626 from /trunk)

Copyright 1998-2013 Gerald Combs <gerald@wireshark.org> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (32-bit) with GTK+ 3.4.2, with Cairo 1.12.2, with Pango 1.30.0, with
GLib 2.32.4, with libpcap, with libz 1.2.7, with POSIX capabilities (Linux),
without libnl, with SMI 0.4.8, with c-ares 1.9.1, with Lua 5.1, without Python,
with GnuTLS 2.12.20, with Gcrypt 1.5.0, with MIT Kerberos, with GeoIP, with
PortAudio V19-devel (built Dec  7 2011 23:44:47), with AirPcap.

Running on Linux 3.7-trunk-amd64, with locale en_US.UTF-8, with libpcap version
1.3.0, with libz 1.2.7, GnuTLS 2.12.20, Gcrypt 1.5.0, without AirPcap.

Built using gcc 4.7.2.

--
Wireshark (i386) 1.9.2-1 packaged in Debian dies at the first packet of ping
8.8.8.8 with the following message:
Gtk:ERROR:/tmp/buildd/gtk+3.0-3.8.0/./gtk/gtkwidget.c:14133:gtk_widget_unregister_window:
assertion failed: (user_data == widget)

Amd64 version seems to be OK.

First few frames from the stack trace:
#0  0xf3d9a667 in *__GI_raise (sig=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
64    ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0  0xf3d9a667 in *__GI_raise (sig=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = <optimized out>
        pid = -202661900
        selftid = 23103
#1  0xf3d9da52 in *__GI_abort () at abort.c:92
        act = {__sigaction_handler = {sa_handler = 0xffd5f584, 
            sa_sigaction = 0xffd5f584}, sa_mask = {__val = {4149868130,
4292212084, 
              4092713544, 4292212072, 4149951076, 0, 4056399264, 5, 0, 1,
4093772504, 
              4091433965, 16, 1, 4093747188, 153, 0, 4093018731, 0, 4292212144, 
              4292212072, 4292212084, 4167518400, 4093772504, 0, 4093019104, 
              4170318728, 4092758512, 4092310432, 4093747188, 4093747188,
153}}, 
          sa_flags = -201220108, sa_restorer = 0xf3f85d2e}
        sigs = {__val = {32, 0 <repeats 31 times>}}
#2  0xf3f862da in g_assertion_message () from
/lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#3  0xf3f8691f in g_assertion_message_expr () from
/lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#4  0xf45acd0d in gtk_widget_unregister_window ()
   from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#5  0xf45ace1c in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#6  0xf76be463 in bytes_view_unrealize (widget=0xf8737380) at bytes_view.c:259
        bv = <optimized out>
...

Based on frame 6 I suspect GTK3 does not like the trick employed in
bytes_view_unrealize():

static void
bytes_view_unrealize(GtkWidget *widget)
{
        BytesView *bv = BYTES_VIEW(widget);

        if (bv->context) {
                g_object_unref(bv->context);
                bv->context = NULL;
        }
        /* if there are still events in the queue, this'll avoid segfault */
        gdk_window_set_user_data(gtk_widget_get_window(widget), NULL);

        if (parent_class->unrealize)
                (*GTK_WIDGET_CLASS(parent_class)->unrealize)(widget);
}


You are receiving this mail because:
  • You are watching all bug changes.