Wireshark-dev: Re: [Wireshark-dev] DISSECTOR_ASSERT_NOT_REACHED in WLCCP decode...
I am building on Suse Linux.
I checked the ulimit setting and it was already set to unlimited (I reset it
anyway). I don't see any core files anywhere in the directories that I'm
working with. I'm assuming it would drop the core file in the current
running directory?
I changed the display for the hf registration to BASE_HEX, but no change.
I'd be happy to post the entire dissector and a sample capture file if
someone has the time to look at it.
I've also gone back to some other places where I'd changed the hf definition
to use FT_UINT_BYTES and I found that those packets are also throwing the
error. In these cases we're nowhere close to the end of the tvbuff, so I
think that observation was bogus.
--kan--
--
Kevin A. Noll, KD4WOZ
CCIE, CCDP
Versatile, Inc.
-----Original Message-----
From: wireshark-dev-bounces@xxxxxxxxxxxxx
[mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of Jeff Morriss
Sent: Monday, May 28, 2007 9:48 PM
To: Developer support list for Wireshark
Subject: Re: [Wireshark-dev] DISSECTOR_ASSERT_NOT_REACHED in WLCCP decode...
Kevin A. Noll wrote:
> I am progressing on my updated WLCCP dissector, but I've run into
> another
> (amateur) issue. This protocol allows TLVs to be tacked on to the end
> of a packet with no indication of how many or how long they are until
> you start reading the TLVs and iterate through them until you get to
> the end of the tvbuff.
>
> I am successfully (sort of) doing this iteration and decoding all of
> the TLV fields, but on every one, the last field (the one that runs to
> the end of the tvbuff) is not added to the proto_tree (even though I
> have the appropriate proto_tree_add). Instead I am getting an
> exception that says "Dissector bug... failed assertion
DISSECTOR_ASSERT_NOT_REACHED".
>
> I've looked at the definitions for the DISSECTOR_ASSERTs in proto.h
> and can't quite figure out what this means. I've set the
> WIRESHARK_ABORT_ON_DISSECTOR_BUG environment variable, but no stack
> trace is printed when it aborts.
ABORT_ON_DISSECTOR_BUG won't generate a stack trace but it should generate a
core file (from which you can get a backtrace).
What platform are you on? If Unix (especially Linux), check your your core
'ulimit' (do: "ulimit -c unlimited"). A lot of Linux distros disable core
files by default these days. :-(
If I had to make a wild guess (based on experience?), I'd say that there
might be something wrong with the registration of that last hf_ entry you're
adding.
_______________________________________________
Wireshark-dev mailing list
Wireshark-dev@xxxxxxxxxxxxx
http://www.wireshark.org/mailman/listinfo/wireshark-dev