Re: Public.Network.Pcap
On Mon, 22 Sep 2008, James Harton wrote:
> Hi guys.
>
> I get the following error from Thread.Queue when tracing fast transfers - the
> Queue seems very bursty even with 10 workers, and seems to build up before
> unblocking the read() calls.
>
> It's only using about 0.5% CPU and hardly any RAM, so it's not that the
> machine can't handle it:
>
> Svalue stack overflow. (99624 of 100000 entries on stack, needed 256 more
> entries)
> /usr/lib/pike/7.6.93/lib/modules/Thread.pmod:373:
> Thread.Thread(0).Queue(38950)->write(mapping[5])
> /usr/lib/pike/7.6.93/lib/modules/Public.pmod/Network.pmod/Pcap.pmod:6:
> Public.Network.Pcap.Pcap()->loop(0)
>
> The code I'm using is:
>
[...]
> queue = Thread.Queue();
[...]
> void worker() {
> while(mixed args = queue->read()) {
> low_capture_cb(@({ args }));
Looks like the arrays stored in the queue are too large to use with the
splice operator.
(Continue reading)