Ethereal-dev: [Ethereal-dev] Ethereal still segfaults on startup

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Joerg Mayer <jmayer@xxxxxxxxx>
Date: Tue, 1 Jun 2004 01:59:30 +0200
Hello,

I've still the problem that Ethereal segfaults on startup. I've built a
less optimized version in order to get a useable stack/backtrace. It looks
like this:

(gdb) run
Starting program: /usr/local/bin/ethereal
[Thread debugging using libthread_db enabled]
[New Thread 1094460160 (LWP 15211)]

GLib-CRITICAL **: file gstrfuncs.c: line 1344 (g_strsplit): assertion `string != NULL' failed.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1094460160 (LWP 15211)]
0x40f0cc2b in pango_split_file_list () from /opt/gnome/lib/libpango-1.0.so.0
(gdb) bt
#0  0x40f0cc2b in pango_split_file_list () from /opt/gnome/lib/libpango-1.0.so.0
#1  0x40c884fd in get_module_path () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#2  0x40c885b9 in _gtk_get_module_path () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#3  0x40c8874b in _gtk_find_module () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#4  0x40cbc087 in gtk_rc_find_module_in_path () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#5  0x40d28748 in gtk_theme_engine_load () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#6  0x40f45d99 in g_type_module_use () from /opt/gnome/lib/libgobject-2.0.so.0
#7  0x40d28641 in gtk_theme_engine_get () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#8  0x40cbf22c in gtk_rc_parse_style () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#9  0x40cbfb70 in gtk_rc_parse_any () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#10 0x40cc0220 in gtk_rc_context_parse_one_file () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#11 0x40cc03c4 in gtk_rc_context_parse_file () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#12 0x40cc0c68 in gtk_rc_reparse_all_for_settings () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#13 0x40ccb6f1 in gtk_settings_get_for_screen () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#14 0x40ccb795 in gtk_settings_get_default () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#15 0x40cd83dc in gtk_style_init () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#16 0x40f454c4 in g_type_create_instance () from /opt/gnome/lib/libgobject-2.0.so.0
#17 0x40f2f03b in g_object_constructor () from /opt/gnome/lib/libgobject-2.0.so.0
#18 0x40f2e06c in g_object_newv () from /opt/gnome/lib/libgobject-2.0.so.0
#19 0x40f2e4b8 in g_object_new_valist () from /opt/gnome/lib/libgobject-2.0.so.0
#20 0x40f2e63a in g_object_new () from /opt/gnome/lib/libgobject-2.0.so.0
#21 0x40cd8035 in gtk_style_new () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#22 0x40d68695 in gtk_widget_get_default_style () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#23 0x40d6876a in gtk_widget_init () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#24 0x40f45471 in g_type_create_instance () from /opt/gnome/lib/libgobject-2.0.so.0
#25 0x40f2f03b in g_object_constructor () from /opt/gnome/lib/libgobject-2.0.so.0
#26 0x40f2e06c in g_object_newv () from /opt/gnome/lib/libgobject-2.0.so.0
#27 0x40f2e4b8 in g_object_new_valist () from /opt/gnome/lib/libgobject-2.0.so.0
#28 0x40f2e63a in g_object_new () from /opt/gnome/lib/libgobject-2.0.so.0
#29 0x40d7c6a6 in gtk_window_new () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#30 0x08088ca6 in window_new ()
#31 0x0807052e in main ()
(gdb) disas 0x08088ca6
Dump of assembler code for function window_new:
0x08088c90 <window_new+0>:      push   %ebp
0x08088c91 <window_new+1>:      mov    %esp,%ebp
0x08088c93 <window_new+3>:      push   %esi
0x08088c94 <window_new+4>:      push   %ebx
0x08088c95 <window_new+5>:      sub    $0x20,%esp
0x08088c98 <window_new+8>:      mov    0xc(%ebp),%esi
0x08088c9b <window_new+11>:     mov    0x8(%ebp),%eax
0x08088c9e <window_new+14>:     mov    %eax,(%esp)
0x08088ca1 <window_new+17>:     call   0x805a60c <g_int_hash+3712>
0x08088ca6 <window_new+22>:     test   %esi,%esi
0x08088ca8 <window_new+24>:     mov    %eax,%ebx
0x08088caa <window_new+26>:     je     0x8088cc9 <window_new+57>
0x08088cac <window_new+28>:     call   0x805a6ac <g_int_hash+3872>
0x08088cb1 <window_new+33>:     mov    %eax,0x4(%esp)
0x08088cb5 <window_new+37>:     mov    %ebx,(%esp)
0x08088cb8 <window_new+40>:     call   0x805bf6c <register_all_protocol_handoffs+1856>
0x08088cbd <window_new+45>:     mov    %eax,(%esp)
0x08088cc0 <window_new+48>:     mov    %esi,0x4(%esp)
0x08088cc4 <window_new+52>:     call   0x805a9bc <gtk_widget_unref+80>
0x08088cc9 <window_new+57>:     mov    %ebx,(%esp)
0x08088ccc <window_new+60>:     mov    $0x50,%esi
0x08088cd1 <window_new+65>:     mov    %esi,0x4(%esp)
0x08088cd5 <window_new+69>:     xor    %esi,%esi
0x08088cd7 <window_new+71>:     call   0x805bf6c <register_all_protocol_handoffs+1856>
0x08088cdc <window_new+76>:     mov    %eax,(%esp)
0x08088cdf <window_new+79>:     xor    %ecx,%ecx
0x08088ce1 <window_new+81>:     xor    %edx,%edx
0x08088ce3 <window_new+83>:     mov    %ecx,0x14(%esp)


This doesn't look too helpful. Ideas anyone?

Thanks
        Joerg
-- 
Joerg Mayer                                           <jmayer@xxxxxxxxx>
We are stuck with technology when what we really want is just stuff that
works. Some say that should read Microsoft instead of technology.