Ethereal-dev: [Ethereal-dev] Still have problems removing dissectors

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

From: "CHARBONNIER Christophe" <christophe.charbonnier@xxxxxxxxxxxx>
Date: Wed, 14 Jan 2004 12:25:27 +0100
Title: Message
Hi,
 
I'm still trying to remove some dissectors in tethereal.
 
This time, I go on removing just ONE dissector: packet-rwall.c
I removed all the references to that particular dissector in either Makefile and register.c
 
The compilation phase ends up successfully,
but when I start tethereal, it complains:
 
** ERROR **: file packet.c: line 593 (dissector_add): assertion failed: (sub_dissectors)
aborting...
Aborted (core dumped)
 
With the help of gdb (output dumped below) I could determine that this is the "tcp.port" registration that ends up badly.
Could someone explain that to me ????
 
Thanxs in advance
Christophe
 

create_dissector_handle (dissector=0x86992c8, proto=15) at packet.c:1507
1507    }
(gdb)
proto_reg_handoff_acap () at packet-acap.c:192
192       dissector_add("tcp.port", TCP_PORT_ACAP, acap_handle);
(gdb)
 
Breakpoint 1, dissector_add (name=0x82f06e3 "tcp.port", pattern=674, handle=0x86f92d0) at packet.c:589
589             dissector_table_t sub_dissectors = find_dissector_table( name);
(gdb)
find_dissector_table (name=0x82f06e3 "tcp.port") at packet.c:551
551             g_assert(dissector_tables);
(gdb)
552             return g_hash_table_lookup( dissector_tables, name );
(gdb)
553     }
(gdb)
dissector_add (name=0x82f06e3 "tcp.port", pattern=674, handle=0x86f92d0) at packet.c:593
593             g_assert( sub_dissectors);
(gdb)
589             dissector_table_t sub_dissectors = find_dissector_table( name);
(gdb)
593             g_assert( sub_dissectors);
(gdb)
0x082dca77      610                     g_assert_not_reached();
(