2026-05-20 05:13:51.671 [main] INFO Application - Autoreload is disabled because the development mode is off. 2026-05-20 05:13:51.813 [main] INFO Application - Application started in 0.147 seconds. 2026-05-20 05:13:51.871 [DefaultDispatcher-worker-1] INFO Application - Responding at http://0.0.0.0:8070 2026-05-20 05:14:20.806 [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-05-20 05:14:20.814 [eventLoopGroupProxy-4-2] INFO Application - TestServerRunner: port=8065 starting command /home/jenkins/.jenkins/workspace/change-history-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/001_005_add_school_self_registration_test) 2026-05-20 05:14:20.828 [eventLoopGroupProxy-4-2] INFO Application - TestServerRunner: port=8065 process started PID=1438087 (saved to /home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/001_005_add_school_self_registration_test/process.pid} 2026-05-20 05:14:20.899 [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-05-20 05:14:20.899 [eventLoopGroupProxy-4-3] INFO Application - TestServerRunner: port=8060 starting command /home/jenkins/.jenkins/workspace/change-history-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/002_browse_lessons_test) 2026-05-20 05:14:20.901 [eventLoopGroupProxy-4-3] INFO Application - TestServerRunner: port=8060 process started PID=1438094 (saved to /home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/002_browse_lessons_test/process.pid} 2026-05-20 05:14:21.996 [eventLoopGroupProxy-4-2] INFO Application - 200 OK: GET - /testcontroller/start in 1194ms 2026-05-20 05:14:22.074 [eventLoopGroupProxy-4-3] INFO Application - 200 OK: GET - /testcontroller/start in 1175ms 2026-05-20 05:16:16.254 [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-05-20 05:16:16.255 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: port=8060 starting command /home/jenkins/.jenkins/workspace/change-history-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/001_001_invite_users_using_qr_code_or_link_testyaml) 2026-05-20 05:16:16.256 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: port=8060 process started PID=1438383 (saved to /home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/001_001_invite_users_using_qr_code_or_link_testyaml/process.pid} 2026-05-20 05:16:17.358 [eventLoopGroupProxy-4-4] INFO Application - 200 OK: GET - /testcontroller/start in 1104ms 2026-05-20 05:17:02.590 [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-05-20 05:17:02.590 [eventLoopGroupProxy-4-5] INFO Application - TestServerRunner: port=8066 starting command /home/jenkins/.jenkins/workspace/change-history-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/001_003_login_using_school_link_test) 2026-05-20 05:17:02.592 [eventLoopGroupProxy-4-5] INFO Application - TestServerRunner: port=8066 process started PID=1438513 (saved to /home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/001_003_login_using_school_link_test/process.pid} 2026-05-20 05:17:03.711 [eventLoopGroupProxy-4-5] INFO Application - 200 OK: GET - /testcontroller/start in 1121ms 2026-05-20 05:18:49.846 [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-05-20 05:18:49.846 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: port=8063 starting command /home/jenkins/.jenkins/workspace/change-history-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/003_admin_user_assigns_assignment_to_a_class_test) 2026-05-20 05:18:49.856 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: port=8063 process started PID=1438715 (saved to /home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/003_admin_user_assigns_assignment_to_a_class_test/process.pid} 2026-05-20 05:18:50.955 [eventLoopGroupProxy-4-6] INFO Application - 200 OK: GET - /testcontroller/start in 1110ms 2026-05-20 05:24:28.761 [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-05-20 05:24:28.761 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: port=8064 starting command /home/jenkins/.jenkins/workspace/change-history-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/001_002_add_user_direct_testyaml) 2026-05-20 05:24:28.762 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: port=8064 process started PID=1439200 (saved to /home/jenkins/.jenkins/workspace/change-history-end-to-end/build/testservercontroller/workspace/001_002_add_user_direct_testyaml/process.pid} 2026-05-20 05:24:29.849 [eventLoopGroupProxy-4-7] INFO Application - 200 OK: GET - /testcontroller/start in 1088ms 2026-05-20 05:37:46.339 [eventLoopGroupProxy-3-7] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@98915f3 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-05-20 05:37:47.343 [KtorShutdownHook] INFO Application - Server is stopped 2026-05-20 05:37:47.344 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8064 2026-05-20 05:37:47.344 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8065 2026-05-20 05:37:47.344 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8066 2026-05-20 05:37:47.344 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8060 2026-05-20 05:37:47.344 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8063