Standard output
I: t+0.07s : [ChainSocketServer: test] init
D: t+0.07s : [ChainSocketServer: test] accepted new client
D: t+0.07s : [ChainSocketServer: test] /127.0.0.1:48720 : init client - reading init request...
D: t+0.07s : [ChainSocketServer: test] /127.0.0.1:48720 : receive init request to connect to /169.254.14.245:43425
D: t+0.07s : [ChainSocketServer: test] /127.0.0.1:48720 : created onward socket
D: t+0.07s : [ChainSocketServer: test] /127.0.0.1:48720 : wrote chain init response
V: t+0.07s : [ChainSocketServer: test] /127.0.0.1:48720 : CopyStream: onwardToIncoming - start copying input to output
V: t+0.07s : [ChainSocketServer: test] /127.0.0.1:48720 : CopyStream: incomingToOnward - start copying input to output
V: t+0.07s : [ChainSocketServer: test] /127.0.0.1:48720 : CopyStream: onwardToIncoming - finished copying - reached end of stream
W: t+0.07s : [ChainSocketServer: test] /127.0.0.1:48720: CopyStream: aborting java.net.SocketException: Socket closed
at java.base/sun.nio.ch.NioSocketImpl.endRead(NioSocketImpl.java:248)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:327)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
at java.base/java.io.InputStream.read(InputStream.java:218)
at kotlin.io.ByteStreamsKt.copyTo(IOStreams.kt:106)
at kotlin.io.ByteStreamsKt.copyTo$default(IOStreams.kt:103)
at com.ustadmobile.meshrabiya.vnet.socket.ChainSocketServer$CopyStreamRunnable.run(ChainSocketServer.kt:144)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
I: t+0.04s : [ChainSocketServer: server2] init
I: t+0.05s : [ChainSocketServer: server1] init
D: t+0.05s : [ChainSocketServer: server1] accepted new client
D: t+0.05s : [ChainSocketServer: server1] /127.0.0.1:35602 : init client - reading init request...
D: t+0.05s : [ChainSocketServer: server1] /127.0.0.1:35602 : receive init request to connect to /169.254.62.97:34481
D: t+0.05s : [ChainSocketServer: server2] accepted new client
localhost/127.0.0.1:33973 is not final destination - write init request and get response
D: t+0.05s : [ChainSocketServer: server2] /127.0.0.1:60143 : init client - reading init request...
D: t+0.05s : [ChainSocketServer: server2] /127.0.0.1:60143 : receive init request to connect to /169.254.62.97:34481
I: t+0.05s : [ChainSocket for /169.254.10.108] created socket to /169.254.62.97:34481 nexthop = localhost/127.0.0.1:34481
D: t+0.05s : [ChainSocketServer: server2] /127.0.0.1:60143 : created onward socket
localhost/127.0.0.1:33973 got init response
D: t+0.05s : [ChainSocketServer: server2] /127.0.0.1:60143 : wrote chain init response
I: t+0.05s : [ChainSocket for /169.254.105.39] created socket to /169.254.62.97:33973 nexthop = localhost/127.0.0.1:33973
D: t+0.05s : [ChainSocketServer: server1] /127.0.0.1:35602 : created onward socket
D: t+0.05s : [ChainSocketServer: server1] /127.0.0.1:35602 : wrote chain init response
V: t+0.05s : [ChainSocketServer: server2] /127.0.0.1:60143 : CopyStream: onwardToIncoming - start copying input to output
V: t+0.05s : [ChainSocketServer: server1] /127.0.0.1:35602 : CopyStream: onwardToIncoming - start copying input to output
V: t+0.05s : [ChainSocketServer: server1] /127.0.0.1:35602 : CopyStream: incomingToOnward - start copying input to output
V: t+0.05s : [ChainSocketServer: server2] /127.0.0.1:60143 : CopyStream: incomingToOnward - start copying input to output
V: t+0.06s : [ChainSocketServer: server2] /127.0.0.1:60143 : CopyStream: onwardToIncoming - finished copying - reached end of stream
V: t+0.06s : [ChainSocketServer: server1] /127.0.0.1:35602 : CopyStream: onwardToIncoming - finished copying - reached end of stream
W: t+0.06s : [ChainSocketServer: server2] /127.0.0.1:60143: CopyStream: aborting java.net.SocketException: Socket closed
at java.base/sun.nio.ch.NioSocketImpl.endRead(NioSocketImpl.java:248)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:327)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
at java.base/java.io.InputStream.read(InputStream.java:218)
at kotlin.io.ByteStreamsKt.copyTo(IOStreams.kt:106)
at kotlin.io.ByteStreamsKt.copyTo$default(IOStreams.kt:103)
at com.ustadmobile.meshrabiya.vnet.socket.ChainSocketServer$CopyStreamRunnable.run(ChainSocketServer.kt:144)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
W: t+0.06s : [ChainSocketServer: server1] /127.0.0.1:35602: CopyStream: aborting java.net.SocketException: Socket closed
at java.base/sun.nio.ch.NioSocketImpl.endRead(NioSocketImpl.java:248)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:327)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
at java.base/java.io.InputStream.read(InputStream.java:218)
at kotlin.io.ByteStreamsKt.copyTo(IOStreams.kt:106)
at kotlin.io.ByteStreamsKt.copyTo$default(IOStreams.kt:103)
at com.ustadmobile.meshrabiya.vnet.socket.ChainSocketServer$CopyStreamRunnable.run(ChainSocketServer.kt:144)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
I: t+0.06s : [ChainSocketServer: server1] closed
I: t+0.06s : [ChainSocketServer: server2] closed
I: t+0.0s : [ChainSocketServer: server2] init
I: t+0.0s : [ChainSocketServer: server1] init
D: t+0.0s : [ChainSocketServer: server1] accepted new client
D: t+0.0s : [ChainSocketServer: server1] /127.0.0.1:36206 : init client - reading init request...
D: t+0.0s : [ChainSocketServer: server1] /127.0.0.1:36206 : receive init request to connect to /169.254.70.74:43153
D: t+0.01s : [ChainSocketServer: server2] accepted new client
localhost/127.0.0.1:43123 is not final destination - write init request and get response
D: t+0.01s : [ChainSocketServer: server2] /127.0.0.1:36822 : init client - reading init request...
D: t+0.01s : [ChainSocketServer: server2] /127.0.0.1:36822 : receive init request to connect to /169.254.70.74:43153
I: t+0.01s : [ChainSocketFactoryImpl for /169.254.104.16] created socket to /169.254.70.74:43153 nexthop = localhost/127.0.0.1:43153
D: t+0.01s : [ChainSocketServer: server2] /127.0.0.1:36822 : created onward socket
D: t+0.01s : [ChainSocketServer: server2] /127.0.0.1:36822 : wrote chain init response
localhost/127.0.0.1:43123 got init response
I: t+0.01s : [ChainSocketFactoryImpl for /169.254.38.25] created socket to /169.254.70.74:43153 nexthop = localhost/127.0.0.1:43123
D: t+0.01s : [ChainSocketServer: server1] /127.0.0.1:36206 : created onward socket
D: t+0.01s : [ChainSocketServer: server1] /127.0.0.1:36206 : wrote chain init response
V: t+0.01s : [ChainSocketServer: server2] /127.0.0.1:36822 : CopyStream: onwardToIncoming - start copying input to output
V: t+0.01s : [ChainSocketServer: server2] /127.0.0.1:36822 : CopyStream: incomingToOnward - start copying input to output
V: t+0.01s : [ChainSocketServer: server1] /127.0.0.1:36206 : CopyStream: onwardToIncoming - start copying input to output
V: t+0.01s : [ChainSocketServer: server1] /127.0.0.1:36206 : CopyStream: incomingToOnward - start copying input to output
V: t+0.01s : [ChainSocketServer: server2] /127.0.0.1:36822 : CopyStream: onwardToIncoming - finished copying - reached end of stream
W: t+0.01s : [ChainSocketServer: server2] /127.0.0.1:36822: CopyStream: aborting java.net.SocketException: Socket closed
at java.base/sun.nio.ch.NioSocketImpl.endRead(NioSocketImpl.java:248)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:327)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
at java.base/java.io.InputStream.read(InputStream.java:218)
at kotlin.io.ByteStreamsKt.copyTo(IOStreams.kt:106)
at kotlin.io.ByteStreamsKt.copyTo$default(IOStreams.kt:103)
at com.ustadmobile.meshrabiya.vnet.socket.ChainSocketServer$CopyStreamRunnable.run(ChainSocketServer.kt:144)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
V: t+0.01s : [ChainSocketServer: server1] /127.0.0.1:36206 : CopyStream: onwardToIncoming - finished copying - reached end of stream
W: t+0.01s : [ChainSocketServer: server1] /127.0.0.1:36206: CopyStream: aborting java.net.SocketException: Socket closed
at java.base/sun.nio.ch.NioSocketImpl.endRead(NioSocketImpl.java:248)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:327)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
at java.base/java.io.InputStream.read(InputStream.java:218)
at kotlin.io.ByteStreamsKt.copyTo(IOStreams.kt:106)
at kotlin.io.ByteStreamsKt.copyTo$default(IOStreams.kt:103)
at com.ustadmobile.meshrabiya.vnet.socket.ChainSocketServer$CopyStreamRunnable.run(ChainSocketServer.kt:144)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
I: t+0.01s : [ChainSocketServer: server1] closed
I: t+0.01s : [ChainSocketServer: server2] closed