2013/7/2 IOhannes m zmoelnig zmoelnig@iem.at
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2013-07-02 13:39, Antoine Villeret wrote:
I realize that with iemnet's version of tcpclient/tcpserver, if two client connect at the same time to server, only on receive data not the other,
that's a different bug, please report it.
strangely I cannot reproduce it now, but when it happens i'll report it
(please also report *this* bug in the sourceforge bugtracker for
"pure-data")
ok, i'll do
sorry, I was thinking pure-data bug tracker was only for pure-data bugs not for externals ones...
so I put a timeout to disconnect the client if no answer was received in a certain time and then reconnect
i first make this with iemnet's tcpserver and I got a SIGPIPE on the server side (see my previous post) while I got SIGSEGV on the client side, here is the gdb backtrace :
[New Thread 0x7fff7bfff700 (LWP 4478)]
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffc8ff9700 (LWP 4477)] 0x0000000000472963 in clock_set () (gdb) watchdog: signaling pd...
tip: when running Pd in a debugger, always use "-nrt".
general remark: to get a backtrace, please run "bt" in the debugger (after the crash).
ok thanks for that, gdb is still a bit confusing for me
I think in the server side a signal(SIGPIPE, SIG_IGN); could help but I don't know where to put it (in tcpserver.c ? in iemlnet_sender.c or somewhere else ?)
i don't think this is a good solution. i would prefer something along the lines of "setsockopt(SO_NOSIGPIPE)" and/or "send(..., MSG_NOSIGNAL)" - a solution that does not have side-effects on the entire Pd.
ok
also I tested it with the mrpeach's version, it doesn't crash but the GUI hangs gdb doesn't tell anything, it continue to show thread creation and exiting
also I'm using iemnet's first because it has a [port( method to change the binding port on the fly and I made a rebinding routing to choose an available port in a certain range both in server and in client side to prenvent connection error if port is still used after a crash for example
I don't know how to go further with this, But I really need a reliable server for some project and for now I just have an headache :-) please tell me how i can help fixing this (and please note that I don't know anything on tcp communication...)
btw, my experimental repository for iemnet is at [1]. i added the MSG_NOSIGNAL flag (currently this is linux only), and the server does not crash anymore, but the clients still do.
ok thanks I'll check it
best regards a
fgmasdr IOhannes
[1] https://github.com/umlaeute/pd-iemnet
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/
iEYEARECAAYFAlHSxSoACgkQkX2Xpv6ydvRiAwCgrn20fLBsSDaDxDODerVSEGiw AG0An0u5PY21NryZawi/JdH3U02NOYAe =mQ4d -----END PGP SIGNATURE-----
Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev