Wireshark-dev: Re: [Wireshark-dev] [Wireshark-commits] rev 51119: /trunk/ /trunk/epan/: addr_re
On 08/02/13 11:05, etxrab@xxxxxxxxxxxxx wrote:
http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=51119
User: etxrab
Date: 2013/08/02 08:05 AM
Log:
- Use a hashtable for eth lookup.
Currently broken get_ether_addr().
- Show hastable content in address dlg.(temp solution).
This (or maybe another rev) is causing plenty of errors like:
(lt-wireshark:6958): GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed
At least one case is from:
#0 0x0000003d3904edb0 in g_log () from /lib64/libglib-2.0.so.0
#1 0x0000003d39037da9 in g_hash_table_lookup () from /lib64/libglib-2.0.so.0
#2 0x00007ffff4f5e9ee in manuf_name_lookup (addr=addr@entry=0x1774014 "\310`") at ../../epan/addr_resolv.c:1381
#3 0x00007ffff4f5eb3b in eth_addr_resolve (tp=tp@entry=0x1774010) at ../../epan/addr_resolv.c:1546
#4 0x00007ffff4f5f08f in eth_name_lookup (addr=0x17c17b0 "\310`", resolve=1) at ../../epan/addr_resolv.c:1718
#5 0x00007ffff4f60360 in get_ether_name (addr=addr@entry=0x17c17b0 "\310`") at ../../epan/addr_resolv.c:3019
2 0x00007ffff4f5e9ee in manuf_name_lookup (addr=addr@entry=0x1774014 "\310`") at ../../epan/addr_resolv.c:1381
1381 name = (gchar *)g_hash_table_lookup(manuf_hashtable, &manuf_key);
(gdb) print manuf_hashtable
$1 = 0x0
This appears to be happening because my out-of-source-tree-build doesn't
have a local 'manuf' file.
I guess the hash tables need to be created (empty) regardless of whether
we have anything to put in them. Or we need a bunch more checks for the
hash table not being there.