Ethereal-dev: [Ethereal-dev] "By design", or memory leak ?

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

From: "B. Loïc" <50891@xxxxxx>
Date: Fri, 06 Jun 2003 16:54:17 +0200
Hello,

On May 23rd I posted a message on this list saying that ethereal crashes
on my Laptop (WinNT, PII-233,64 Mb RAM) when capturing more than 100000 frames. I'm now using another computer (Linux 2.4.20, PIII 600, 128
Mb RAM+256 Mb Swap) and use tethereal on it to do live captures (not
saved to a file).

I left tethereal running for a few hours on a 100 MBits network. My
computer was getting slower and slower, so I launched top to see
ressource usage. Tethereal had grown 302 Mb in size, but wasn't using
all the CPU power (some of it was idle).
I wanted to see what would happen and let it run a bit longer. The
kernel didn't agree with that : it eventually killed tethereal with a
"Out of Memory: Killed process 834 (tethereal)" on my console...

I launched tethereal again and looked at memory usage. It seems that it
grows by a few Kb every second, but this heavily depends on network
activity (on a 10 Mb hub with very few trafic, it grows much slower). I
tested this with tethereal v. 0.9.6 (RedHat's RPM) and v. 0.9.12
(compiled from source) and got the same results.

I read the doc/README.design : it says that when using a capture file,
every frame has an associated frame_data struct, with pointers to
previous and next frames. I looked at the source, saw calls to
clear_fdata(), saw comments saying that a live capture isn't saved
anywhere... Thus, I really don't understand why memory usage is
increasing like that.

Did I miss a point in the design of tethereal that would explain this ?
Or is this some kind of memory leak ?

Best regards,

Loic