Ethereal-dev: Re: [ethereal-dev] Core while printing in 0.8.0

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

From: Gilbert Ramirez <gram@xxxxxxxxxx>
Date: Fri, 07 Jan 2000 09:26:50 -0600
On Fri, Jan 07, 2000 at 01:24:02PM +0200, Santeri Paavolainen wrote:
> System: Linux kellari.ssh.fi 2.2.10 #14 Wed Jul 28 10:30:35 EEST 1999 i686 unknown
> 
> This is reproducible:
> 
> 1. Start a fresh ethereal
> 2. Capture some packets with the "Update in real time" selected
> 3. Select some of those (I selected 4-8 sequential packets)
> 4. Choose "Print" from the "File" menu
> 5. Select "Ok"

Re: #3, the ability to select more than one packet in the packet list
is not yet a supported function. It's possible in 0.8.0 only because of
a bug I introduced. It is fixed in 0.8.1 (soon to be released), in that
multiple selections are no longer possible.

Yes, multiple selections in the packet list would be a good idea, but we
haven't put any code in Ethereal to handle that yet.

The assert happened because  cf->unfiltered_count was 0, BTW. (The
line numbers are different in the CVS version of file.c)

  if (count >= progbar_nextstep) {
     /* let's not divide by zero. I should never be started
      * with unfiltered_count == 0, so let's assert that
      */
    g_assert(cf->unfiltered_count > 0);

When I get to work I'll do some testing of this to see if its reproducable
in the CVS version, by selecting only one packet.

> and lo!
> 
> (gdb) bt
> #0  0x4028f111 in __kill ()
> #1  0x4028ed66 in raise (sig=6) at ../sysdeps/posix/raise.c:27
> #2  0x40290447 in abort () at ../sysdeps/generic/abort.c:88
> #3  0x401952d3 in g_logv ()
> #4  0x40195396 in g_log ()
> #5  0x8067364 in print_packets (cf=0x8153fc0, print_args=0xbfffeae4)
>     at file.c:934
> #6  0x80dace2 in print_ok_cb (ok_bt=0x819cc20, parent_w=0x81e1d40)
>     at print_dlg.c:415

--gilbert