Ethereal-dev: [ethereal-dev] dfilter_apply_node assfail glib-1.2.5 G_NODE_IS_ROOT

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

From: Dewi Morgan <dewim@xxxxxxx>
Date: Wed, 29 Sep 1999 16:39:19 +0100
I have found a minor (but irritating when I misstype) assert failure detailed
below, dfilter_apply_node() is being called with gnode == NULL

# ./ethereal &  ;# invoked ethereal-0.7.5 with no options

1. obtain a live capture, update list of packets real time
2. <stop> capture
3. apply (incorrect) filter in main window "ip & udp" <return>
4. get a warning window "Unable to parse filter string"
5. correct the filter in main window "ip && udp" <return>
6. GLib-CRITICAL **: file glib-1.2.5/gnode.c: line 218
(g_node_insert_before):
   assertion `G_NODE_IS_ROOT (node)' failed.  core dump backtrace below


freebsd release 3.2
glib vers 1.25
gtk+ vers 1.25
libpcap vers 0.4
ethereal version 0.75

$ gtk-config --version
1.2.5

$ gdb ethereal ethereal.core
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...
Core was generated by `ethereal'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libz.so.2...done.
Reading symbols from /usr/local/lib/libgtk-1.2.so.5...done.
Reading symbols from /usr/local/lib/libgdk-1.2.so.5...done.
Reading symbols from /usr/local/lib/libgmodule-1.2.so.0...done.
Reading symbols from /usr/local/lib/libglib-1.2.so.0...done.
Reading symbols from /usr/X11R6/lib/libXext.so.6...done.
Reading symbols from /usr/X11R6/lib/libX11.so.6...done.
Reading symbols from /usr/lib/libm.so.2...done.
Reading symbols from /usr/lib/libc.so.3...done.
Reading symbols from /usr/libexec/ld-elf.so.1...done.
#0  dfilter_apply_node (gnode=0x0, ptree=0x81a6f84, pd=0x80dfbf8 "")
    at dfilter.c:340
340             dfilter_node    *dnode = (dfilter_node*) (gnode->data);
(gdb) backtrace
#0  dfilter_apply_node (gnode=0x0, ptree=0x81a6f84, pd=0x80dfbf8 "")
    at dfilter.c:340
#1  0x8057a44 in check_logical (operand=271, a=0x815802c, b=0x0,
    ptree=0x81a6f84, pd=0x80dfbf8 "") at dfilter.c:397
#2  0x80578dc in dfilter_apply_node (gnode=0x81a6f70, ptree=0x81a6f84,
    pd=0x80dfbf8 "") at dfilter.c:354
#3  0x805783f in dfilter_apply (dfcode=0x80fe5f0, ptree=0x81a6f84,
    pd=0x80dfbf8 "") at dfilter.c:332
#4  0x805989d in add_packet_to_packet_list (fdata=0x8117c00, cf=0x80dfb7c,
    buf=0x80dfbf8 "") at file.c:518
#5  0x8059dd6 in filter_packets (cf=0x80dfb7c) at file.c:733
#6  0x8095ce4 in filter_activate_cb (w=0x812ba00, data=0x0) at main.c:359
#7  0x2817a56b in gtk_marshal_NONE__NONE (object=0x812ba00,
    func=0x8095c88 <filter_activate_cb>, func_data=0x0, args=0xbfbfd164)
    at gtkmarshal.c:312
#8  0x281a516e in gtk_handlers_run (handlers=0x8128100, signal=0xbfbfd120,
    object=0x812ba00, params=0xbfbfd164, after=0) at gtksignal.c:1909
#9  0x281a467c in gtk_signal_real_emit (object=0x812ba00, signal_id=103,
    params=0xbfbfd164) at gtksignal.c:1469
#10 0x281a2a04 in gtk_signal_emit (object=0x812ba00, signal_id=103)
    at gtksignal.c:552
#11 0x281d4cfc in gtk_widget_activate (widget=0x812ba00) at gtkwidget.c:2869
#12 0x281554d3 in gtk_entry_key_press (widget=0x812ba00, event=0x8150018)
    at gtkentry.c:1118
---Type <return> to continue, or q <return> to quit---
#13 0x2817a249 in gtk_marshal_BOOL__POINTER (object=0x812ba00,
    func=0x281551cc <gtk_entry_key_press>, func_data=0x0, args=0xbfbfd4c4)
    at gtkmarshal.c:28
#14 0x281a46b3 in gtk_signal_real_emit (object=0x812ba00, signal_id=26,
    params=0xbfbfd4c4) at gtksignal.c:1484
#15 0x281a2a04 in gtk_signal_emit (object=0x812ba00, signal_id=26)
    at gtksignal.c:552
#16 0x281d4bd8 in gtk_widget_event (widget=0x812ba00, event=0x8150018)
    at gtkwidget.c:2843
#17 0x281dbc6a in gtk_window_key_press_event (widget=0x80f6700,
    event=0x8150018) at gtkwindow.c:1169
#18 0x2817a249 in gtk_marshal_BOOL__POINTER (object=0x80f6700,
    func=0x281dbb64 <gtk_window_key_press_event>, func_data=0x0,
    args=0xbfbfd820) at gtkmarshal.c:28
#19 0x281a46b3 in gtk_signal_real_emit (object=0x80f6700, signal_id=26,
    params=0xbfbfd820) at gtksignal.c:1484
#20 0x281a2a04 in gtk_signal_emit (object=0x80f6700, signal_id=26)
    at gtksignal.c:552
#21 0x281d4bd8 in gtk_widget_event (widget=0x80f6700, event=0x8150018)
    at gtkwidget.c:2843
#22 0x2817a155 in gtk_propagate_event (widget=0x80f6700, event=0x8150018)
    at gtkmain.c:1298
#23 0x28179532 in gtk_main_do_event (event=0x8150018) at gtkmain.c:770
#24 0x28218d12 in gdk_event_dispatch (source_data=0x0,
---Type <return> to continue, or q <return> to quit---
    current_time=0xbfbfdba0, user_data=0x0) at gdkevents.c:2129
#25 0x28243b67 in g_main_dispatch (current_time=0xbfbfdba0) at gmain.c:656
#26 0x2824414f in g_main_iterate (block=1, dispatch=1) at gmain.c:874
#27 0x282442d1 in g_main_run (loop=0x81432b0) at gmain.c:932
#28 0x28178ecf in gtk_main () at gtkmain.c:476
#29 0x8097194 in main (argc=1, argv=0xbfbfdc60) at main.c:918
(gdb) q