You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once in a while it stops updating the trains or segments. A restart of the server helps.
Reproduction Steps
Run the server till it fails
Usually within a few hours
Expected Result
Recover from whatever is going wrong? I don't mind to refresh the web page as a user.
Screenshots and Videos
[16Feb2024 17:47:49.548] [DefaultDispatcher-worker-10/DEBUG] [ktor.application/]: 200 OK: GET - /api/signals.rt. Exception class java.io.IOException: Broken pipe]
java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:?]
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:62) ~[?:?]
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:132) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:76) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:53) ~[?:?]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:532) ~[?:?]
at io.ktor.network.sockets.CIOWriterKt$attachForWritingDirectImpl$1$1.invokeSuspend(CIOWriter.kt:107) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:68) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:347) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.internal.CancellableReusableContinuation.resumeWith(CancellableReusableContinuation.kt:93) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.resumeReadOp(ByteBufferChannel.kt:2098) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.flushImpl(ByteBufferChannel.kt:186) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.flush(ByteBufferChannel.kt:196) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeAsMuchAsPossible(ByteBufferChannel.kt:3438) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeFully$suspendImpl(ByteBufferChannel.kt:1399) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeFully(ByteBufferChannel.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1.loop(Blocking.kt:94) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1$loop$1.invokeSuspend(Blocking.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.jvm.javaio.UnsafeBlockingTrampoline.dispatch(Blocking.kt:313) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:200) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.jvm.javaio.BlockingAdapter.submitAndAwait(Blocking.kt:231) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.BlockingAdapter.submitAndAwait(Blocking.kt:201) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter.write(Blocking.kt:120) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234) ~[?:?]
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:313) ~[?:?]
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:318) ~[?:?]
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:160) ~[?:?]
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:248) ~[?:?]
at littlechasiu.ctm.Server$module$1$10$invokeSuspend$$inlined$respondSSE$1$1$2.emit(Emitters.kt:233) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(SharedFlow.kt) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
Suppressed: java.io.IOException: java.io.IOException: Broken pipe
at io.ktor.utils.io.jvm.javaio.OutputAdapter.close(Blocking.kt:134) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:347) ~[?:?]
at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:169) ~[?:?]
at java.io.OutputStreamWriter.close(OutputStreamWriter.java:252) ~[?:?]
at kotlin.io.CloseableKt.closeFinally(Closeable.kt:59) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.http.content.WriterContent$writeTo$2.invokeSuspend(WriterContent.kt:25) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:?]
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:62) ~[?:?]
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:132) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:76) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:53) ~[?:?]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:532) ~[?:?]
at io.ktor.network.sockets.CIOWriterKt$attachForWritingDirectImpl$1$1.invokeSuspend(CIOWriter.kt:107) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:68) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:347) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.internal.CancellableReusableContinuation.resumeWith(CancellableReusableContinuation.kt:93) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.resumeReadOp(ByteBufferChannel.kt:2098) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.flushImpl(ByteBufferChannel.kt:186) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.flush(ByteBufferChannel.kt:196) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeAsMuchAsPossible(ByteBufferChannel.kt:3438) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeFully$suspendImpl(ByteBufferChannel.kt:1399) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeFully(ByteBufferChannel.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1.loop(Blocking.kt:94) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1$loop$1.invokeSuspend(Blocking.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.jvm.javaio.UnsafeBlockingTrampoline.dispatch(Blocking.kt:313) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:200) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.jvm.javaio.BlockingAdapter.submitAndAwait(Blocking.kt:231) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.BlockingAdapter.submitAndAwait(Blocking.kt:201) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter.write(Blocking.kt:120) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234) ~[?:?]
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:313) ~[?:?]
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:318) ~[?:?]
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:160) ~[?:?]
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:248) ~[?:?]
at littlechasiu.ctm.Server$module$1$10$invokeSuspend$$inlined$respondSSE$1$1$2.emit(Emitters.kt:233) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(SharedFlow.kt) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
... 8 more
[16Feb2024 17:47:49.548] [DefaultDispatcher-worker-13/DEBUG] [ktor.application/]: 200 OK: GET - /api/trains.rt. Exception class java.io.IOException: Broken pipe]
java.io.IOException: Broken pipe
at jdk.internal.reflect.GeneratedConstructorAccessor103.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
at io.ktor.utils.io.ExceptionUtilsJvmKt$createConstructor$$inlined$safeCtor$1.invoke(ExceptionUtilsJvm.kt:103) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ExceptionUtilsJvmKt$createConstructor$$inlined$safeCtor$1.invoke(ExceptionUtilsJvm.kt:90) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ExceptionUtilsJvmKt.tryCopyException(ExceptionUtilsJvm.kt:45) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannelKt.rethrowClosed(ByteBufferChannel.kt:2398) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannelKt.access$rethrowClosed(ByteBufferChannel.kt:1) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.setupStateForWrite$ktor_io(ByteBufferChannel.kt:232) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeByte$suspendImpl(ByteBufferChannel.kt:2647) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeByte(ByteBufferChannel.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeByte$suspendImpl(ByteBufferChannel.kt:930) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeByte(ByteBufferChannel.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.http.cio.internals.CharsKt.writeIntHex(Chars.kt:108) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.http.cio.ChunkedTransferEncodingKt.writeChunk-yRinSxo(ChunkedTransferEncoding.kt:162) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.http.cio.ChunkedTransferEncodingKt.encodeChunked(ChunkedTransferEncoding.kt:134) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.http.cio.ChunkedTransferEncodingKt$encodeChunked$3.invokeSuspend(ChunkedTransferEncoding.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:204) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.internal.CancellableReusableContinuation.resumeWith(CancellableReusableContinuation.kt:93) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.resumeReadOp(ByteBufferChannel.kt:2098) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.flushImpl(ByteBufferChannel.kt:186) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.flush(ByteBufferChannel.kt:196) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1.loop(Blocking.kt:92) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1$loop$1.invokeSuspend(Blocking.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.jvm.javaio.UnsafeBlockingTrampoline.dispatch(Blocking.kt:313) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:200) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.jvm.javaio.BlockingAdapter.submitAndAwait(Blocking.kt:231) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter.flush(Blocking.kt:125) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:320) ~[?:?]
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:160) ~[?:?]
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:248) ~[?:?]
at littlechasiu.ctm.Server$module$1$12$invokeSuspend$$inlined$respondSSE$1$1$2.emit(Emitters.kt:233) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(SharedFlow.kt) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
Suppressed: java.io.IOException: java.io.IOException: Broken pipe
at io.ktor.utils.io.jvm.javaio.OutputAdapter.close(Blocking.kt:134) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:347) ~[?:?]
at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:169) ~[?:?]
at java.io.OutputStreamWriter.close(OutputStreamWriter.java:252) ~[?:?]
at kotlin.io.CloseableKt.closeFinally(Closeable.kt:59) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.http.content.WriterContent$writeTo$2.invokeSuspend(WriterContent.kt:25) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
Caused by: java.io.IOException: Broken pipe
at jdk.internal.reflect.GeneratedConstructorAccessor103.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
at io.ktor.utils.io.ExceptionUtilsJvmKt$createConstructor$$inlined$safeCtor$1.invoke(ExceptionUtilsJvm.kt:103) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ExceptionUtilsJvmKt$createConstructor$$inlined$safeCtor$1.invoke(ExceptionUtilsJvm.kt:90) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ExceptionUtilsJvmKt.tryCopyException(ExceptionUtilsJvm.kt:45) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannelKt.rethrowClosed(ByteBufferChannel.kt:2398) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannelKt.access$rethrowClosed(ByteBufferChannel.kt:1) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.setupStateForWrite$ktor_io(ByteBufferChannel.kt:232) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeByte$suspendImpl(ByteBufferChannel.kt:2647) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeByte(ByteBufferChannel.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeByte$suspendImpl(ByteBufferChannel.kt:930) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.writeByte(ByteBufferChannel.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.http.cio.internals.CharsKt.writeIntHex(Chars.kt:108) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.http.cio.ChunkedTransferEncodingKt.writeChunk-yRinSxo(ChunkedTransferEncoding.kt:162) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.http.cio.ChunkedTransferEncodingKt.encodeChunked(ChunkedTransferEncoding.kt:134) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.http.cio.ChunkedTransferEncodingKt$encodeChunked$3.invokeSuspend(ChunkedTransferEncoding.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:204) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.internal.CancellableReusableContinuation.resumeWith(CancellableReusableContinuation.kt:93) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.resumeReadOp(ByteBufferChannel.kt:2098) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.flushImpl(ByteBufferChannel.kt:186) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.flush(ByteBufferChannel.kt:196) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1.loop(Blocking.kt:92) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1$loop$1.invokeSuspend(Blocking.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.jvm.javaio.UnsafeBlockingTrampoline.dispatch(Blocking.kt:313) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:200) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.jvm.javaio.BlockingAdapter.submitAndAwait(Blocking.kt:231) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter.flush(Blocking.kt:125) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:320) ~[?:?]
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:160) ~[?:?]
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:248) ~[?:?]
at littlechasiu.ctm.Server$module$1$12$invokeSuspend$$inlined$respondSSE$1$1$2.emit(Emitters.kt:233) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(SharedFlow.kt) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
... 8 more
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:?]
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:62) ~[?:?]
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:132) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:76) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:53) ~[?:?]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:532) ~[?:?]
at io.ktor.network.sockets.CIOWriterKt$attachForWritingDirectImpl$1$1.invokeSuspend(CIOWriter.kt:107) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:68) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:347) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.internal.CancellableReusableContinuation.resumeWith(CancellableReusableContinuation.kt:93) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.resumeReadOp(ByteBufferChannel.kt:2098) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.flushImpl(ByteBufferChannel.kt:186) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.ByteBufferChannel.flush(ByteBufferChannel.kt:196) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1.loop(Blocking.kt:92) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1$loop$1.invokeSuspend(Blocking.kt) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.jvm.javaio.UnsafeBlockingTrampoline.dispatch(Blocking.kt:313) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:200) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at io.ktor.utils.io.jvm.javaio.BlockingAdapter.submitAndAwait(Blocking.kt:231) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at io.ktor.utils.io.jvm.javaio.OutputAdapter.flush(Blocking.kt:125) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:320) ~[?:?]
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:160) ~[?:?]
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:248) ~[?:?]
at littlechasiu.ctm.Server$module$1$12$invokeSuspend$$inlined$respondSSE$1$1$2.emit(Emitters.kt:233) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(SharedFlow.kt) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
... 8 more
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:?]
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:62) ~[?:?]
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:132) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:76) ~[?:?]
at sun.nio.ch.IOUtil.write(IOUtil.java:53) ~[?:?]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:532) ~[?:?]
at io.ktor.network.sockets.CIOWriterKt$attachForWritingDirectImpl$1$1.invokeSuspend(CIOWriter.kt:107) ~[create-track-map-1.4+mc1.20.1-neoforge.jar%23228!/:1.4]
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:68) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:347) ~[kotlinforforge-4.10.0-all.jar%23272!/:?]
... 26 more
```
I found these in debug.log
### Crash Report or Log
_No response_
### Operating System
Unraid server
### CTM Version
1.4
### Create Version
0.5.1e
### Minecraft Version
1.20.1
### Mod Loader
Forge
### Modloader Version
47.2.20
### Instance Type
Server hosted on vps/dedicated server
### Other Mods
_No response_
### Additional Context
_No response_
The text was updated successfully, but these errors were encountered:
I'm having the same issue, /ctm reload does not fix it for me, though sometimes it randomly starts working again after breaking and re-placing a track in-game.
Describe the Bug
Once in a while it stops updating the trains or segments. A restart of the server helps.
Reproduction Steps
Expected Result
Recover from whatever is going wrong? I don't mind to refresh the web page as a user.
Screenshots and Videos
The text was updated successfully, but these errors were encountered: