[PD] pd-extended crashes sending data to SSR with tcpclient
reduzent at gmail.com
Mon Jul 1 21:48:21 CEST 2013
On Mon, 2013-07-01 at 13:20 -0400, Martin Peach wrote:
> It could be that you are overloading Pd with too many messages. If you
> are wildly moving the slider and [tcpclient] is sending one TCP packet
> per value you can add messages to the queue faster than they will be
> sent out and Pd will eventually run out of resources.
There seem to exist different approaches to address this problem. If I'm
not mistaken, [netsend] uses a fixed buffer and when filled it blocks Pd
until the buffer gets emptied. [iemnet/tcp[client|send]] allocates just
as much RAM as it needs and does not block Pd. If [net/tcpclient] really
is designed to crash Pd when the buffer gets full, then I would think
this is the least desirable behavior of all three.
If it really crashes due to network saturation can easily be verified by
testing the same patch with [iemnet/tcpclient]. If you throw more
messages at it than it can actually transmit, you would notice an
increasing lag on the other end.
> On 2013-07-01 11:53, Iain Mott wrote:
> >>> I'll try the backtrace and other things you suggest and report back
> >>> on mrpeach/tcpclient in another email.
> >> it could well be, that it only does not crash with [iemnet/tcpclient]
> >> because you haven't parsed the output yet...
> > Don't think so - to crash Pd, I wasn't doing any parsing of incoming
> > messages - just sending messages out.
> > Did a backtrace using mrpeach/tcpclient - on a "freeze" as it didn't
> > actually crash. Got this response:
> > #0 0x0000000000442623 in clock_unset (x=0x8c5c80) at m_sched.c:70
> > #1 clock_unset (x=0x8c5c80) at m_sched.c:62
> > #2 0x000000000044266e in clock_set (x=0x8c5c80, setticks=<optimised
> > out>)
> > at m_sched.c:81
> > #3 0x00007fffd21cfec1 in tcpclient_child_send (w=0xdec548)
> > at /home/kiilo/Documents/dev/pd-svn/externals/mrpeach/net/tcpclient.c:380
> > #4 0x00007ffff7bc4e9a in start_thread ()
> > from /lib/x86_64-linux-gnu/libpthread.so.0
> > #5 0x00007ffff6ec0ccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
> > #6 0x0000000000000000 in ?? ()
> > Will do some more tests later.
> > Thanks,
> > _______________________________________________
> > Pd-list at iem.at mailing list
> > UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
More information about the Pd-list