2026-09-13 16:06:22.024 [main] INFO Application - Autoreload is disabled because the development mode is off. 2026-09-13 16:06:22.178 [main] INFO Application - Application started in 0.229 seconds. 2026-09-13 16:06:22.240 [DefaultDispatcher-worker-1] INFO Application - Responding at http://0.0.0.0:8070 2026-09-13 16:07:06.577 [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-09-13 16:07:06.586 [eventLoopGroupProxy-4-2] INFO Application - TestServerRunner: port=8062 starting using command: /home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/001_001_invite_users_using_qr_code_or_link_test_20260913_167_6) 2026-09-13 16:07:07.174 [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-09-13 16:07:07.175 [eventLoopGroupProxy-4-3] INFO Application - TestServerRunner: port=8065 starting using command: /home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/002_browse_lessons_test_20260913_167_7) 2026-09-13 16:07:07.654 [eventLoopGroupProxy-4-2] INFO Application - TestServerRunner: port=8062 process started PID=233723 (saved to /home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/001_001_invite_users_using_qr_code_or_link_test_20260913_167_6/process.pid} 2026-09-13 16:07:08.316 [eventLoopGroupProxy-4-3] INFO Application - TestServerRunner: port=8065 process started PID=233783 (saved to /home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/002_browse_lessons_test_20260913_167_7/process.pid} 2026-09-13 16:07:09.668 [eventLoopGroupProxy-4-2] INFO Application - 200 OK: GET - /testcontroller/start in 3096ms 2026-09-13 16:07:10.319 [eventLoopGroupProxy-4-3] INFO Application - 200 OK: GET - /testcontroller/start in 3145ms 2026-09-13 16:09:20.463 [eventLoopGroupProxy-4-4] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, stop] /, 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:1 -> FAILURE "Selector didn't match" @ /testcontroller/start /testcontroller/stop, segment:2 -> SUCCESS @ /testcontroller/stop /testcontroller/stop/(method:GET), segment:2 -> SUCCESS @ /testcontroller/stop/(method:GET) Matched routes: "" -> "testcontroller" -> "stop" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/stop/(method:GET) 2026-09-13 16:09:20.463 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: stopping server on port=8065 2026-09-13 16:09:22.470 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: stopping server on port 8065 pid=233783 2026-09-13 16:09:32.481 [eventLoopGroupProxy-4-4] INFO Application - TestServerController: killed process 233783 2026-09-13 16:09:37.585 [eventLoopGroupProxy-4-4] INFO Application - TestServerController: killed descendent 233806 2026-09-13 16:09:40.097 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: killed pid #233806 (/home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/002_browse_lessons_test_20260913_167_7/server.pid) 2026-09-13 16:09:40.099 [eventLoopGroupProxy-4-4] INFO Application - 200 OK: GET - /testcontroller/stop in 19637ms 2026-09-13 16:10:27.763 [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-09-13 16:10:27.763 [eventLoopGroupProxy-4-5] INFO Application - TestServerRunner: port=8068 starting using command: /home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/001_003_login_using_school_link_test_20260913_1610_27) 2026-09-13 16:10:29.267 [eventLoopGroupProxy-4-5] INFO Application - TestServerRunner: port=8068 process started PID=234246 (saved to /home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/001_003_login_using_school_link_test_20260913_1610_27/process.pid} 2026-09-13 16:10:31.272 [eventLoopGroupProxy-4-5] INFO Application - 200 OK: GET - /testcontroller/start in 3509ms 2026-09-13 16:12:00.127 [eventLoopGroupProxy-4-6] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, stop] /, 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:1 -> FAILURE "Selector didn't match" @ /testcontroller/start /testcontroller/stop, segment:2 -> SUCCESS @ /testcontroller/stop /testcontroller/stop/(method:GET), segment:2 -> SUCCESS @ /testcontroller/stop/(method:GET) Matched routes: "" -> "testcontroller" -> "stop" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/stop/(method:GET) 2026-09-13 16:12:00.127 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: stopping server on port=8068 2026-09-13 16:12:02.133 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: stopping server on port 8068 pid=234246 2026-09-13 16:12:12.141 [eventLoopGroupProxy-4-6] INFO Application - TestServerController: killed process 234246 2026-09-13 16:12:17.246 [eventLoopGroupProxy-4-6] INFO Application - TestServerController: killed descendent 234256 2026-09-13 16:12:19.744 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: killed pid #234256 (/home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/001_003_login_using_school_link_test_20260913_1610_27/server.pid) 2026-09-13 16:12:19.745 [eventLoopGroupProxy-4-6] INFO Application - 200 OK: GET - /testcontroller/stop in 19618ms 2026-09-13 16:12:38.956 [eventLoopGroupProxy-4-7] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, stop] /, 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:1 -> FAILURE "Selector didn't match" @ /testcontroller/start /testcontroller/stop, segment:2 -> SUCCESS @ /testcontroller/stop /testcontroller/stop/(method:GET), segment:2 -> SUCCESS @ /testcontroller/stop/(method:GET) Matched routes: "" -> "testcontroller" -> "stop" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/stop/(method:GET) 2026-09-13 16:12:38.957 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: stopping server on port=8062 2026-09-13 16:12:40.963 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: stopping server on port 8062 pid=233723 2026-09-13 16:12:50.971 [eventLoopGroupProxy-4-7] INFO Application - TestServerController: killed process 233723 2026-09-13 16:12:56.078 [eventLoopGroupProxy-4-7] INFO Application - TestServerController: killed descendent 233746 2026-09-13 16:12:58.172 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: killed pid #233746 (/home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/001_001_invite_users_using_qr_code_or_link_test_20260913_167_6/server.pid) 2026-09-13 16:12:58.173 [eventLoopGroupProxy-4-7] INFO Application - 200 OK: GET - /testcontroller/stop in 19217ms 2026-09-13 16:13:04.666 [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-09-13 16:13:04.666 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: port=8061 starting using command: /home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/003_admin_user_assigns_assignment_to_a_class_test_20260913_1613_4) 2026-09-13 16:13:05.816 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: port=8061 process started PID=234557 (saved to /home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/003_admin_user_assigns_assignment_to_a_class_test_20260913_1613_4/process.pid} 2026-09-13 16:13:07.818 [eventLoopGroupProxy-4-6] INFO Application - 200 OK: GET - /testcontroller/start in 3153ms 2026-09-13 16:13:45.472 [eventLoopGroupProxy-4-8] 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-09-13 16:13:45.473 [eventLoopGroupProxy-4-8] INFO Application - TestServerRunner: port=8066 starting using command: /home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/001_002_add_user_direct_test_20260913_1613_45) 2026-09-13 16:13:46.629 [eventLoopGroupProxy-4-8] INFO Application - TestServerRunner: port=8066 process started PID=234678 (saved to /home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/001_002_add_user_direct_test_20260913_1613_45/process.pid} 2026-09-13 16:13:48.632 [eventLoopGroupProxy-4-8] INFO Application - 200 OK: GET - /testcontroller/start in 3160ms 2026-09-13 16:23:37.506 [eventLoopGroupProxy-4-9] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, stop] /, 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:1 -> FAILURE "Selector didn't match" @ /testcontroller/start /testcontroller/stop, segment:2 -> SUCCESS @ /testcontroller/stop /testcontroller/stop/(method:GET), segment:2 -> SUCCESS @ /testcontroller/stop/(method:GET) Matched routes: "" -> "testcontroller" -> "stop" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/stop/(method:GET) 2026-09-13 16:23:37.506 [eventLoopGroupProxy-4-9] INFO Application - TestServerRunner: stopping server on port=8066 2026-09-13 16:23:39.513 [eventLoopGroupProxy-4-9] INFO Application - TestServerRunner: stopping server on port 8066 pid=234678 2026-09-13 16:23:49.522 [eventLoopGroupProxy-4-9] INFO Application - TestServerController: killed process 234678 2026-09-13 16:23:54.627 [eventLoopGroupProxy-4-9] INFO Application - TestServerController: killed descendent 234684 2026-09-13 16:23:56.777 [eventLoopGroupProxy-4-9] INFO Application - TestServerRunner: killed pid #234684 (/home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/001_002_add_user_direct_test_20260913_1613_45/server.pid) 2026-09-13 16:23:56.777 [eventLoopGroupProxy-4-9] INFO Application - 200 OK: GET - /testcontroller/stop in 19271ms 2026-09-13 16:24:09.730 [eventLoopGroupProxy-4-10] TRACE io.ktor.server.routing.Routing - Trace for [testcontroller, stop] /, 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:1 -> FAILURE "Selector didn't match" @ /testcontroller/start /testcontroller/stop, segment:2 -> SUCCESS @ /testcontroller/stop /testcontroller/stop/(method:GET), segment:2 -> SUCCESS @ /testcontroller/stop/(method:GET) Matched routes: "" -> "testcontroller" -> "stop" -> "(method:GET)" Routing resolve result: SUCCESS @ /testcontroller/stop/(method:GET) 2026-09-13 16:24:09.730 [eventLoopGroupProxy-4-10] INFO Application - TestServerRunner: stopping server on port=8061 2026-09-13 16:24:11.752 [eventLoopGroupProxy-4-10] INFO Application - TestServerRunner: stopping server on port 8061 pid=234557 2026-09-13 16:24:21.780 [eventLoopGroupProxy-4-10] INFO Application - TestServerController: killed process 234557 2026-09-13 16:24:26.892 [eventLoopGroupProxy-4-10] INFO Application - TestServerController: killed descendent 234566 2026-09-13 16:24:29.456 [eventLoopGroupProxy-4-10] INFO Application - TestServerRunner: killed pid #234566 (/home/jenkins/.jenkins/workspace/fix-assignment-error-handling-end-to-end/build/ci-e2e/workspace/003_admin_user_assigns_assignment_to_a_class_test_20260913_1613_4/server.pid) 2026-09-13 16:24:29.457 [eventLoopGroupProxy-4-10] INFO Application - 200 OK: GET - /testcontroller/stop in 19727ms 2026-09-13 16:26:11.734 [eventLoopGroupProxy-3-9] WARN i.n.u.c.AbstractEventExecutor - A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@75e87fd3 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-09-13 16:26:12.737 [KtorShutdownHook] INFO Application - Server is stopped