2026-12-30 20:11:06.913 [main] INFO Application - Autoreload is disabled because the development mode is off. 2026-12-30 20:11:07.062 [main] INFO Application - Application started in 0.154 seconds. 2026-12-30 20:11:07.124 [DefaultDispatcher-worker-1] INFO Application - Responding at http://0.0.0.0:8070 2026-12-30 20:11:24.868 [eventLoopGroupProxy-4-2] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, start] /, segment:0 -> SUCCESS @ / /, segment:0 -> SUCCESS @ / /(method:GET), segment:0 -> FAILURE "Not all segments matched" @ /(method:GET) /testcontroller, segment:1 -> SUCCESS @ /testcontroller /testcontroller/start, segment:2 -> SUCCESS @ /testcontroller/start /testcontroller/start/(method:GET), segment:2 -> SUCCESS @ /testcontroller/start/(method:GET) /testcontroller/stop, segment:1 -> FAILURE "Selector didn't match" @ /testcontroller/stop Matched routes: "" -> "testcontroller" -> "start" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/start/(method:GET) 2026-12-30 20:11:24.876 [eventLoopGroupProxy-4-2] INFO Application - TestServerRunner: port=8066 starting command /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/000_000_hello_world) 2026-12-30 20:11:24.890 [eventLoopGroupProxy-4-2] INFO Application - TestServerRunner: port=8066 process started PID=382132 (saved to /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/000_000_hello_world/process.pid} 2026-12-30 20:11:25.963 [eventLoopGroupProxy-4-2] INFO Application - 200 OK: GET - /testcontroller/start in 1098ms 2026-12-30 20:11:26.613 [eventLoopGroupProxy-4-3] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, start] /, segment:0 -> SUCCESS @ / /, segment:0 -> SUCCESS @ / /(method:GET), segment:0 -> FAILURE "Not all segments matched" @ /(method:GET) /testcontroller, segment:1 -> SUCCESS @ /testcontroller /testcontroller/start, segment:2 -> SUCCESS @ /testcontroller/start /testcontroller/start/(method:GET), segment:2 -> SUCCESS @ /testcontroller/start/(method:GET) /testcontroller/stop, segment:1 -> FAILURE "Selector didn't match" @ /testcontroller/stop Matched routes: "" -> "testcontroller" -> "start" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/start/(method:GET) 2026-12-30 20:11:26.614 [eventLoopGroupProxy-4-3] INFO Application - TestServerRunner: port=8068 starting command /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/002_browse_lessons_test) 2026-12-30 20:11:26.615 [eventLoopGroupProxy-4-3] INFO Application - TestServerRunner: port=8068 process started PID=382205 (saved to /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/002_browse_lessons_test/process.pid} 2026-12-30 20:11:27.629 [eventLoopGroupProxy-4-3] INFO Application - 200 OK: GET - /testcontroller/start in 1016ms 2026-12-30 20:12:27.988 [eventLoopGroupProxy-4-4] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, start] /, segment:0 -> SUCCESS @ / /, segment:0 -> SUCCESS @ / /(method:GET), segment:0 -> FAILURE "Not all segments matched" @ /(method:GET) /testcontroller, segment:1 -> SUCCESS @ /testcontroller /testcontroller/start, segment:2 -> SUCCESS @ /testcontroller/start /testcontroller/start/(method:GET), segment:2 -> SUCCESS @ /testcontroller/start/(method:GET) /testcontroller/stop, segment:1 -> FAILURE "Selector didn't match" @ /testcontroller/stop Matched routes: "" -> "testcontroller" -> "start" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/start/(method:GET) 2026-12-30 20:12:27.989 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: port=8065 starting command /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/001_003_login_using_school_link_test) 2026-12-30 20:12:27.999 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: port=8065 process started PID=382370 (saved to /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/001_003_login_using_school_link_test/process.pid} 2026-12-30 20:12:29.064 [eventLoopGroupProxy-4-4] INFO Application - 200 OK: GET - /testcontroller/start in 1076ms 2026-12-30 20:13:52.791 [eventLoopGroupProxy-4-5] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, start] /, segment:0 -> SUCCESS @ / /, segment:0 -> SUCCESS @ / /(method:GET), segment:0 -> FAILURE "Not all segments matched" @ /(method:GET) /testcontroller, segment:1 -> SUCCESS @ /testcontroller /testcontroller/start, segment:2 -> SUCCESS @ /testcontroller/start /testcontroller/start/(method:GET), segment:2 -> SUCCESS @ /testcontroller/start/(method:GET) /testcontroller/stop, segment:1 -> FAILURE "Selector didn't match" @ /testcontroller/stop Matched routes: "" -> "testcontroller" -> "start" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/start/(method:GET) 2026-12-30 20:13:52.792 [eventLoopGroupProxy-4-5] INFO Application - TestServerRunner: port=8067 starting command /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/003_admin_user_assigns_assignment_to_a_class_test) 2026-12-30 20:13:52.793 [eventLoopGroupProxy-4-5] INFO Application - TestServerRunner: port=8067 process started PID=382569 (saved to /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/003_admin_user_assigns_assignment_to_a_class_test/process.pid} 2026-12-30 20:13:53.850 [eventLoopGroupProxy-4-5] INFO Application - 200 OK: GET - /testcontroller/start in 1059ms 2026-12-30 20:15:54.462 [eventLoopGroupProxy-4-6] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, start] /, segment:0 -> SUCCESS @ / /, segment:0 -> SUCCESS @ / /(method:GET), segment:0 -> FAILURE "Not all segments matched" @ /(method:GET) /testcontroller, segment:1 -> SUCCESS @ /testcontroller /testcontroller/start, segment:2 -> SUCCESS @ /testcontroller/start /testcontroller/start/(method:GET), segment:2 -> SUCCESS @ /testcontroller/start/(method:GET) /testcontroller/stop, segment:1 -> FAILURE "Selector didn't match" @ /testcontroller/stop Matched routes: "" -> "testcontroller" -> "start" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/start/(method:GET) 2026-12-30 20:15:54.463 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: port=8061 starting command /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/001_001_invite_using_invite_code_test) 2026-12-30 20:15:54.464 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: port=8061 process started PID=382818 (saved to /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/001_001_invite_using_invite_code_test/process.pid} 2026-12-30 20:15:55.552 [eventLoopGroupProxy-4-6] INFO Application - 200 OK: GET - /testcontroller/start in 1090ms 2026-12-30 20:19:38.356 [eventLoopGroupProxy-4-7] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, start] /, segment:0 -> SUCCESS @ / /, segment:0 -> SUCCESS @ / /(method:GET), segment:0 -> FAILURE "Not all segments matched" @ /(method:GET) /testcontroller, segment:1 -> SUCCESS @ /testcontroller /testcontroller/start, segment:2 -> SUCCESS @ /testcontroller/start /testcontroller/start/(method:GET), segment:2 -> SUCCESS @ /testcontroller/start/(method:GET) /testcontroller/stop, segment:1 -> FAILURE "Selector didn't match" @ /testcontroller/stop Matched routes: "" -> "testcontroller" -> "start" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/start/(method:GET) 2026-12-30 20:19:38.357 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: port=8063 starting command /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/001_002_add_user_direct_test) 2026-12-30 20:19:38.358 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: port=8063 process started PID=383167 (saved to /home/jenkins/.jenkins/workspace/assignment-playlists-end-to-end/build/testservercontroller/workspace/001_002_add_user_direct_test/process.pid} 2026-12-30 20:19:39.439 [eventLoopGroupProxy-4-7] INFO Application - 200 OK: GET - /testcontroller/start in 1083ms 2026-12-30 20:26:12.136 [eventLoopGroupProxy-3-7] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@7700b2dc java.util.concurrent.RejectedExecutionException: event executor terminated at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:1005) at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:388) at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:381) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:907) at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:873) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:863) at io.netty.channel.DefaultChannelPipeline.destroyUp(DefaultChannelPipeline.java:816) at io.netty.channel.DefaultChannelPipeline.destroy(DefaultChannelPipeline.java:801) at io.netty.channel.DefaultChannelPipeline.access$700(DefaultChannelPipeline.java:45) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelUnregistered(DefaultChannelPipeline.java:1411) at io.netty.channel.DefaultChannelPipeline.fireChannelUnregistered(DefaultChannelPipeline.java:780) at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:692) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:507) at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:183) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1073) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583) 2026-12-30 20:26:13.139 [KtorShutdownHook] INFO Application - Server is stopped 2026-12-30 20:26:13.139 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8065 2026-12-30 20:26:13.139 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8066 2026-12-30 20:26:13.139 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8067 2026-12-30 20:26:13.139 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8068 2026-12-30 20:26:13.139 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8061 2026-12-30 20:26:13.139 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8063