Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: Re: [Wireshark-dev] Segmentation fault on startup of wireshark

From: Rich Alderson <wireshark@xxxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 2 Aug 2009 15:53:54 -0400 (EDT)
> From: Rich Alderson <wireshark@xxxxxxxxxxxxxxxxxxxxxxxx>
> Date: Sun,  2 Aug 2009 14:09:53 -0400 (EDT)

>> Date: Fri, 31 Jul 2009 21:45:55 +0200
>> From: Jaap Keuter <jaap.keuter@xxxxxxxxx>

>> This top of stack seems to be the end of g_message delivery of a
>> backgrounded process to TTY. Before that it's a GLIB assert on
>> something pango is processing, but it's unclear what. Maybe the
>> rest of the backtrace would show, but it's not there.

>> Wild guess? pango / cairo libs are not up to date?

> Thanks for the response.  I'll try a deeper backtrace to see what
> might be calling the failing pango routine.

> I installed the latest pango lib(s) immediately prior to building
> wireshark, so I think I'm up to date.  (I'd hate to think I'm too
> far out on the bleeding edge...)

Note the "bt 40" in the following:

    MDE ~> gdb wireshark
    GNU gdb 6.8
    Copyright (C) 2008 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 "i486-slackware-linux"...
    (gdb) run --display=:0
    Starting program: /usr/bin/wireshark --display=:0
    [Thread debugging using libthread_db enabled]

    [1]+  Stopped                 gdb wireshark
    MDE ~> fg
    gdb wireshark
    [New Thread 0xb583f6c0 (LWP 9773)]

    Program received signal SIGTTOU, Stopped (tty output).
    [Switching to Thread 0xb583f6c0 (LWP 9773)]
    0xb5b8c29e in __write_nocancel () from /lib/libpthread.so.0
    (gdb) bt 10
    #0  0xb5b8c29e in __write_nocancel () from /lib/libpthread.so.0
    #1  0xb5cf542a in write_string (fd=2,
        string=0x8262250 "\n(wireshark:9773): GLib-GObject-CRITICAL **: g_object_get_qdata: assertion `G_IS_OBJECT (object)' failed\n")
        at gmessages.c:130
    #2  0xb5cf66b8 in IA__g_log_default_handler (log_domain=0xb5dc6e5b "GLib-GObject", log_level=<value optimized out>,
        message=0x8261fe8 "g_object_get_qdata: assertion `G_IS_OBJECT (object)' failed", unused_data=0x0) at gmessages.c:950
    #3  0xb5cf5877 in IA__g_logv (log_domain=0xb5dc6e5b "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL,
        format=0xb5d47381 "%s: assertion `%s' failed", args1=0xbfd6a27c "\323\205\334\265iy\334\265Es\324\265\024") at gmessages.c:474
    #4  0xb5cf5a5e in IA__g_log (log_domain=0xb5dc6e5b "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL,
        format=0xb5d47381 "%s: assertion `%s' failed") at gmessages.c:517
    #5  0xb5cf5c18 in IA__g_return_if_fail_warning (log_domain=0xb5dc6e5b "GLib-GObject",
        pretty_function=0xb5dc85d3 "g_object_get_qdata", expression=0xb5dc7969 "G_IS_OBJECT (object)") at gmessages.c:532
    #6  0xb5da0c0b in IA__g_object_get_qdata (object=0xbfd6a3c4, quark=549) at gobject.c:2450
    #7  0xb5f0c25b in ?? () from /usr/lib/libpangocairo-1.0.so.0
    #8  0xbfd6a3c4 in ?? ()
    #9  0x00000225 in ?? ()
    #10 0x082573c0 in ?? ()
    #11 0x00000001 in ?? ()
    #12 0x00000089 in ?? ()
    #13 0xb5fe4000 in ?? ()
    #14 0x00000001 in ?? ()
    #15 0xb5fec150 in ?? () from /usr/lib/libpangocairo-1.0.so.0
    #16 0x08250dd0 in ?? ()
    #17 0xbfb431a4 in ?? ()
    #18 0xbfb430e8 in ?? ()
    #19 0xb5fe7584 in ?? () from /usr/lib/libpangocairo-1.0.so.0
    #20 0x08251570 in ?? ()
    #21 0x08250dd0 in ?? ()
    #22 0x00000000 in ?? ()
    (gdb) quit
    The program is running.  Exit anyway? (y or n) y
    MDE ~>

I had to transcribe the 8-bit data in frame #3 as before.  I doubt that that's
relevant.

So, it's libpangocairo all the way down.  It turns out that that particular lib
was *not* updated when I installed the latest Pango, as it turns out, so I've
gone to cairographics.org to look into installing that.  It looks as though I'm
going to have to install GIT in order to install CAIRO in order to have a
proper PANGO in order to be able to use WIRESHARK????  Am I reading that
correctly?

This all started when Slackware 12.2 broke ethereal.  Damn.

Thanks for all the suggestions so far, and for any pointers to getting myself
out of this mess.

                                                                Rich