Ethereal-dev: Re: [ethereal-dev] assertion failed: file.c line 1023

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

From: Guy Harris <guy@xxxxxxxxxx>
Date: Mon, 3 Jan 2000 14:22:31 -0800 (PST)
> This seems to occur to me randomly when setting a new
> filter - This is currently CVS (10 Minutes old)

Well, at least it doesn't crash then *and* when you're doing a live
capture with the display updating as packets arrive....

The underlying problem is that, when you've selected "Scroll" mode for
the packet list display (which is what GTK+ (and Motif) call "browse"
mode - yes, the names we use are the reverse of what GTK+ and Motif
use), the display list insists on there being a selected packet, so,
when the first packet is added to the list, it selects it.

Unfortunately, that happens before the routine to add a packet to the
list returns, so it happens before the row number is set in the data
structure for that packet; thus, we can't find the packet corresponding
to that row, and we blow up.

We used to *always* blow up.  Now, we just blow up if we're filtering
packets and reconstructing the display, rather than initially
constructing the display - the fix I put in for the problem required
that there be only one packet in the list (so that we know which packet
we want), but, whilst that fixes the crash I discovered yesterday, the
current crash remains unfixed (it would've crashed before, just with a
different assertion).