Wireshark-dev: Re: [Wireshark-dev] DISSECTOR_ASSERT_NOT_REACHED in WLCCP decode...
From: "Kevin A. Noll" <kevin.noll@xxxxxxxxxxxxx>
Date: Tue, 29 May 2007 09:54:56 -0400
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