On Wed, 05 Feb 2014 17:37:33 +0100, Sönke Ludwig wrote:

Can you post a stack trace of the "TCP" connection error? I think I got
that once yesterday, but didn't track it down. I think it was some
assertion that was triggered, which then bypassed releasing the connection.

I think I may have misreported that error, as it's not coming from this source code. However, here is the full error:

core.exception.AssertError@../../.dub/packages/vibe-d-master/source/vibe/core/drivers/libevent2.d(897): Trying to release a TCP connection that is not owned.
----------------
./theatre(_d_assert_msg+0x18) [0x816e8e8]
./theatre(void vibe.core.drivers.libevent2.Libevent2UDPConnection.release()+0xb3) [0x8135db3]
./theatre(ubyte[] vibe.core.drivers.libevent2.Libevent2UDPConnection.recv(ubyte[], vibe.core.net.NetworkAddress*)+0x19a) [0x8136272]
./theatre(ubyte[] theatre.net.connection.recv(ubyte[], vibe.core.net.NetworkAddress*)+0x41) [0x812f271]
./theatre(_Dmain+0x26) [0x8121f46]
./theatre(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll().void __lambda1()+0x10) [0x8174578]
./theatre(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate())+0x18) [0x81744f0]
./theatre(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll()+0x27) [0x817453f]
./theatre(void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate())+0x18) [0x81744f0]
./theatre(_d_run_main+0x117) [0x8174487]
./theatre(main+0x14) [0x812f1ec]
/usr/lib/libc.so.6(__libc_start_main+0xf3) [0xb7256993]
----------------

It is coming from: https://github.com/Kelet/theatre/tree/master/source

Whenever it recvs, the error is generated. You can just send it a UDP packet using the source code on this thread. It could just be me doing something wrong though.