2026-08-19 23:11:01.297 [main] INFO Application - Autoreload is disabled because the development mode is off. 2026-08-19 23:11:01.436 [main] INFO Application - Application started in 0.214 seconds. 2026-08-19 23:11:01.497 [DefaultDispatcher-worker-1] INFO Application - Responding at http://0.0.0.0:8071 2026-08-19 23:19:35.335 [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-08-19 23:19:35.346 [eventLoopGroupProxy-4-2] INFO Application - TestServerRunner: port=8064 starting using command: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/002_001_browse_lessons_test_20260819_2319_35) 2026-08-19 23:19:36.552 [eventLoopGroupProxy-4-2] INFO Application - TestServerRunner: port=8064 process started PID=1833032 (saved to /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/002_001_browse_lessons_test_20260819_2319_35/process.pid} 2026-08-19 23:19:38.568 [eventLoopGroupProxy-4-2] INFO Application - 200 OK: GET - /testcontroller/start in 3238ms 2026-08-19 23:21:35.761 [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-08-19 23:21:35.762 [eventLoopGroupProxy-4-3] INFO Application - TestServerRunner: port=8067 starting using command: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/001_001_invite_users_using_qr_code_or_link_test_20260819_2321_35) 2026-08-19 23:21:36.973 [eventLoopGroupProxy-4-3] INFO Application - TestServerRunner: port=8067 process started PID=1834812 (saved to /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/001_001_invite_users_using_qr_code_or_link_test_20260819_2321_35/process.pid} 2026-08-19 23:21:38.976 [eventLoopGroupProxy-4-3] INFO Application - 200 OK: GET - /testcontroller/start in 3215ms 2026-08-19 23:22:33.036 [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-08-19 23:22:33.036 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: stopping server on port=8064 2026-08-19 23:22:35.043 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: stopping server on port 8064 pid=1833032 2026-08-19 23:22:45.054 [eventLoopGroupProxy-4-4] INFO Application - TestServerController: killed process 1833032 2026-08-19 23:22:50.159 [eventLoopGroupProxy-4-4] INFO Application - TestServerController: killed descendent 1833045 2026-08-19 23:22:51.428 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: killed pid #1833045 (/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/002_001_browse_lessons_test_20260819_2319_35/server.pid) 2026-08-19 23:22:51.430 [eventLoopGroupProxy-4-4] INFO Application - 200 OK: GET - /testcontroller/stop in 18394ms 2026-08-19 23:23:08.477 [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-08-19 23:23:08.478 [eventLoopGroupProxy-4-5] INFO Application - TestServerRunner: port=8061 starting using command: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/001_003_login_using_school_link_test_20260819_2323_8) 2026-08-19 23:23:09.726 [eventLoopGroupProxy-4-5] INFO Application - TestServerRunner: port=8061 process started PID=1835085 (saved to /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/001_003_login_using_school_link_test_20260819_2323_8/process.pid} 2026-08-19 23:23:11.729 [eventLoopGroupProxy-4-5] INFO Application - 200 OK: GET - /testcontroller/start in 3252ms 2026-08-19 23:24:38.705 [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-08-19 23:24:38.705 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: stopping server on port=8061 2026-08-19 23:24:41.713 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: stopping server on port 8061 pid=1835085 2026-08-19 23:24:51.721 [eventLoopGroupProxy-4-6] INFO Application - TestServerController: killed process 1835085 2026-08-19 23:24:56.827 [eventLoopGroupProxy-4-6] INFO Application - TestServerController: killed descendent 1835094 2026-08-19 23:24:58.090 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: killed pid #1835094 (/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/001_003_login_using_school_link_test_20260819_2323_8/server.pid) 2026-08-19 23:24:58.090 [eventLoopGroupProxy-4-6] INFO Application - 200 OK: GET - /testcontroller/stop in 19385ms 2026-08-19 23:25:18.959 [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-08-19 23:25:18.960 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: port=8061 starting using command: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/006_user_send_feedback_test_20260819_2325_18) 2026-08-19 23:25:20.185 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: port=8061 process started PID=1835484 (saved to /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/006_user_send_feedback_test_20260819_2325_18/process.pid} 2026-08-19 23:25:22.187 [eventLoopGroupProxy-4-7] INFO Application - 200 OK: GET - /testcontroller/start in 3228ms 2026-08-19 23:26:23.059 [eventLoopGroupProxy-4-8] 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-08-19 23:26:23.060 [eventLoopGroupProxy-4-8] INFO Application - TestServerRunner: stopping server on port=8061 2026-08-19 23:26:25.066 [eventLoopGroupProxy-4-8] INFO Application - TestServerRunner: stopping server on port 8061 pid=1835484 2026-08-19 23:26:35.075 [eventLoopGroupProxy-4-8] INFO Application - TestServerController: killed process 1835484 2026-08-19 23:26:40.178 [eventLoopGroupProxy-4-8] INFO Application - TestServerController: killed descendent 1835493 2026-08-19 23:26:41.435 [eventLoopGroupProxy-4-8] INFO Application - TestServerRunner: killed pid #1835493 (/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/006_user_send_feedback_test_20260819_2325_18/server.pid) 2026-08-19 23:26:41.435 [eventLoopGroupProxy-4-8] INFO Application - 200 OK: GET - /testcontroller/stop in 18376ms 2026-08-19 23:26:59.040 [eventLoopGroupProxy-4-9] 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-08-19 23:26:59.040 [eventLoopGroupProxy-4-9] INFO Application - TestServerRunner: port=8068 starting using command: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/003_admin_user_assigns_assignment_to_a_class_test_20260819_2326_59) 2026-08-19 23:27:00.225 [eventLoopGroupProxy-4-9] INFO Application - TestServerRunner: port=8068 process started PID=1835726 (saved to /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/003_admin_user_assigns_assignment_to_a_class_test_20260819_2326_59/process.pid} 2026-08-19 23:27:02.227 [eventLoopGroupProxy-4-9] INFO Application - 200 OK: GET - /testcontroller/start in 3187ms 2026-08-19 23:27:03.883 [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-08-19 23:27:03.883 [eventLoopGroupProxy-4-10] INFO Application - TestServerRunner: stopping server on port=8067 2026-08-19 23:27:05.890 [eventLoopGroupProxy-4-10] INFO Application - TestServerRunner: stopping server on port 8067 pid=1834812 2026-08-19 23:27:15.899 [eventLoopGroupProxy-4-10] INFO Application - TestServerController: killed process 1834812 2026-08-19 23:27:21.004 [eventLoopGroupProxy-4-10] INFO Application - TestServerController: killed descendent 1834820 2026-08-19 23:27:22.268 [eventLoopGroupProxy-4-10] INFO Application - TestServerRunner: killed pid #1834820 (/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/001_001_invite_users_using_qr_code_or_link_test_20260819_2321_35/server.pid) 2026-08-19 23:27:22.269 [eventLoopGroupProxy-4-10] INFO Application - 200 OK: GET - /testcontroller/stop in 18386ms 2026-08-19 23:27:41.573 [eventLoopGroupProxy-4-10] 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-08-19 23:27:41.574 [eventLoopGroupProxy-4-10] INFO Application - TestServerRunner: port=8061 starting using command: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/001_002_add_user_direct_test_20260819_2327_41) 2026-08-19 23:27:42.780 [eventLoopGroupProxy-4-10] INFO Application - TestServerRunner: port=8061 process started PID=1835865 (saved to /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/001_002_add_user_direct_test_20260819_2327_41/process.pid} 2026-08-19 23:27:44.782 [eventLoopGroupProxy-4-10] INFO Application - 200 OK: GET - /testcontroller/start in 3209ms 2026-08-19 23:30:03.587 [eventLoopGroupProxy-4-11] 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-08-19 23:30:03.587 [eventLoopGroupProxy-4-11] INFO Application - TestServerRunner: stopping server on port=8061 2026-08-19 23:30:05.594 [eventLoopGroupProxy-4-11] INFO Application - TestServerRunner: stopping server on port 8061 pid=1835865 2026-08-19 23:30:15.601 [eventLoopGroupProxy-4-11] INFO Application - TestServerController: killed process 1835865 2026-08-19 23:30:20.707 [eventLoopGroupProxy-4-11] INFO Application - TestServerController: killed descendent 1835870 2026-08-19 23:30:21.973 [eventLoopGroupProxy-4-11] INFO Application - TestServerRunner: killed pid #1835870 (/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/001_002_add_user_direct_test_20260819_2327_41/server.pid) 2026-08-19 23:30:21.973 [eventLoopGroupProxy-4-11] INFO Application - 200 OK: GET - /testcontroller/stop in 18386ms 2026-08-19 23:30:40.205 [eventLoopGroupProxy-4-12] 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-08-19 23:30:40.205 [eventLoopGroupProxy-4-12] INFO Application - TestServerRunner: port=8061 starting using command: /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/002_002_browse_demo_app_test_20260819_2330_40) 2026-08-19 23:30:41.394 [eventLoopGroupProxy-4-12] INFO Application - TestServerRunner: port=8061 process started PID=1836235 (saved to /home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/002_002_browse_demo_app_test_20260819_2330_40/process.pid} 2026-08-19 23:30:43.396 [eventLoopGroupProxy-4-12] INFO Application - 200 OK: GET - /testcontroller/start in 3191ms 2026-08-19 23:32:14.725 [eventLoopGroupProxy-4-13] 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-08-19 23:32:14.725 [eventLoopGroupProxy-4-13] INFO Application - TestServerRunner: stopping server on port=8061 2026-08-19 23:32:16.731 [eventLoopGroupProxy-4-13] INFO Application - TestServerRunner: stopping server on port 8061 pid=1836235 2026-08-19 23:32:26.740 [eventLoopGroupProxy-4-13] INFO Application - TestServerController: killed process 1836235 2026-08-19 23:32:31.846 [eventLoopGroupProxy-4-13] INFO Application - TestServerController: killed descendent 1836242 2026-08-19 23:32:33.111 [eventLoopGroupProxy-4-13] INFO Application - TestServerRunner: killed pid #1836242 (/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/002_002_browse_demo_app_test_20260819_2330_40/server.pid) 2026-08-19 23:32:33.111 [eventLoopGroupProxy-4-13] INFO Application - 200 OK: GET - /testcontroller/stop in 18387ms 2026-08-19 23:33:18.941 [eventLoopGroupProxy-4-11] 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-08-19 23:33:18.941 [eventLoopGroupProxy-4-11] INFO Application - TestServerRunner: stopping server on port=8068 2026-08-19 23:33:20.947 [eventLoopGroupProxy-4-11] INFO Application - TestServerRunner: stopping server on port 8068 pid=1835726 2026-08-19 23:33:30.956 [eventLoopGroupProxy-4-11] INFO Application - TestServerController: killed process 1835726 2026-08-19 23:33:36.063 [eventLoopGroupProxy-4-11] INFO Application - TestServerController: killed descendent 1835733 2026-08-19 23:33:37.327 [eventLoopGroupProxy-4-11] INFO Application - TestServerRunner: killed pid #1835733 (/home/jenkins/.jenkins/workspace/main-offline-endtoend-test/build/ci-e2e/workspace/003_admin_user_assigns_assignment_to_a_class_test_20260819_2326_59/server.pid) 2026-08-19 23:33:37.327 [eventLoopGroupProxy-4-11] INFO Application - 200 OK: GET - /testcontroller/stop in 18386ms 2026-08-19 23:35:50.306 [KtorShutdownHook] INFO Application - Server is stopped