2026-06-04 02:32:30.470 [main] INFO Application - Autoreload is disabled because the development mode is off. 2026-06-04 02:32:30.611 [main] INFO Application - Application started in 0.148 seconds. 2026-06-04 02:32:30.667 [DefaultDispatcher-worker-1] INFO Application - Responding at http://0.0.0.0:8070 2026-06-04 02:32:51.488 [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-06-04 02:32:51.495 [eventLoopGroupProxy-4-2] INFO Application - TestServerRunner: port=8067 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_002b_invite_existing_teacher_and_students_to_class_approval_disabled_test) 2026-06-04 02:32:51.500 [eventLoopGroupProxy-4-2] INFO Application - TestServerRunner: port=8067 process started PID=3743225 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_002b_invite_existing_teacher_and_students_to_class_approval_disabled_test/process.pid} 2026-06-04 02:32:52.491 [eventLoopGroupProxy-4-2] INFO Application - 200 OK: GET - /testcontroller/start in 1006ms 2026-06-04 02:32:53.090 [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-06-04 02:32:53.091 [eventLoopGroupProxy-4-3] INFO Application - TestServerRunner: port=8061 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_005_add_school_self_registration_test) 2026-06-04 02:32:53.092 [eventLoopGroupProxy-4-3] INFO Application - TestServerRunner: port=8061 process started PID=3743301 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_005_add_school_self_registration_test/process.pid} 2026-06-04 02:32:54.081 [eventLoopGroupProxy-4-3] INFO Application - 200 OK: GET - /testcontroller/start in 991ms 2026-06-04 02:35:38.228 [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-06-04 02:35:38.229 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: port=8066 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_001c_invite_flow_student_parent_approval_disabled_test) 2026-06-04 02:35:38.230 [eventLoopGroupProxy-4-4] INFO Application - TestServerRunner: port=8066 process started PID=3743581 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_001c_invite_flow_student_parent_approval_disabled_test/process.pid} 2026-06-04 02:35:39.342 [eventLoopGroupProxy-4-4] INFO Application - 200 OK: GET - /testcontroller/start in 1114ms 2026-06-04 02:40:40.242 [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-06-04 02:40:40.242 [eventLoopGroupProxy-4-5] INFO Application - TestServerRunner: port=8062 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/002_browse_lessons_test) 2026-06-04 02:40:40.243 [eventLoopGroupProxy-4-5] INFO Application - TestServerRunner: port=8062 process started PID=3744073 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/002_browse_lessons_test/process.pid} 2026-06-04 02:40:41.332 [eventLoopGroupProxy-4-5] INFO Application - 200 OK: GET - /testcontroller/start in 1091ms 2026-06-04 02:42:35.009 [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-06-04 02:42:35.009 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: port=8067 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_002d_invite_existing_students_and_parent_to_joinas_family_member_approval_disabled_test) 2026-06-04 02:42:35.011 [eventLoopGroupProxy-4-6] INFO Application - TestServerRunner: port=8067 process started PID=3744284 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_002d_invite_existing_students_and_parent_to_joinas_family_member_approval_disabled_test/process.pid} 2026-06-04 02:42:36.096 [eventLoopGroupProxy-4-6] INFO Application - 200 OK: GET - /testcontroller/start in 1087ms 2026-06-04 02:46:11.442 [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-06-04 02:46:11.443 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: port=8066 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_002_add_user_direct_test) 2026-06-04 02:46:11.444 [eventLoopGroupProxy-4-7] INFO Application - TestServerRunner: port=8066 process started PID=3744638 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_002_add_user_direct_test/process.pid} 2026-06-04 02:46:12.537 [eventLoopGroupProxy-4-7] INFO Application - 200 OK: GET - /testcontroller/start in 1095ms 2026-06-04 02:50:18.898 [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-06-04 02:50:18.898 [eventLoopGroupProxy-4-8] INFO Application - TestServerRunner: port=8063 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_002a_invite_existing_teacher_and_students_to_class_approval_enabled_test) 2026-06-04 02:50:18.900 [eventLoopGroupProxy-4-8] INFO Application - TestServerRunner: port=8063 process started PID=3744978 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_002a_invite_existing_teacher_and_students_to_class_approval_enabled_test/process.pid} 2026-06-04 02:50:20.000 [eventLoopGroupProxy-4-8] INFO Application - 200 OK: GET - /testcontroller/start in 1102ms 2026-06-04 02:57:56.663 [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-06-04 02:57:56.664 [eventLoopGroupProxy-4-9] INFO Application - TestServerRunner: port=8066 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_001b_invite_flow_student_parent_approval_enabled_test) 2026-06-04 02:57:56.665 [eventLoopGroupProxy-4-9] INFO Application - TestServerRunner: port=8066 process started PID=3745606 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_001b_invite_flow_student_parent_approval_enabled_test/process.pid} 2026-06-04 02:57:57.768 [eventLoopGroupProxy-4-9] INFO Application - 200 OK: GET - /testcontroller/start in 1105ms 2026-06-04 02:58:49.311 [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-06-04 02:58:49.312 [eventLoopGroupProxy-4-10] INFO Application - TestServerRunner: port=8067 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_001a_invite_flow_admin_teacher_approval_on_off_test) 2026-06-04 02:58:49.313 [eventLoopGroupProxy-4-10] INFO Application - TestServerRunner: port=8067 process started PID=3745749 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_001a_invite_flow_admin_teacher_approval_on_off_test/process.pid} 2026-06-04 02:58:50.400 [eventLoopGroupProxy-4-10] INFO Application - 200 OK: GET - /testcontroller/start in 1089ms 2026-06-04 03:07:42.693 [eventLoopGroupProxy-4-11] 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-06-04 03:07:42.693 [eventLoopGroupProxy-4-11] INFO Application - TestServerRunner: port=8065 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_002c_invite_existing_students_and_parent_to_joinas_family_member_approval_enabled_test) 2026-06-04 03:07:42.694 [eventLoopGroupProxy-4-11] INFO Application - TestServerRunner: port=8065 process started PID=3746486 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_002c_invite_existing_students_and_parent_to_joinas_family_member_approval_enabled_test/process.pid} 2026-06-04 03:07:42.698 [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-06-04 03:07:42.698 [eventLoopGroupProxy-4-12] INFO Application - TestServerRunner: port=8064 starting command /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/ci-run-test-server.sh (workingDir=/home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_003_login_using_school_link_test) 2026-06-04 03:07:42.699 [eventLoopGroupProxy-4-12] INFO Application - TestServerRunner: port=8064 process started PID=3746491 (saved to /home/jenkins/.jenkins/workspace/invite-existing-user-end-to-end/build/testservercontroller/workspace/001_003_login_using_school_link_test/process.pid} 2026-06-04 03:07:43.881 [eventLoopGroupProxy-4-11] INFO Application - 200 OK: GET - /testcontroller/start in 1188ms 2026-06-04 03:07:43.890 [eventLoopGroupProxy-4-12] INFO Application - 200 OK: GET - /testcontroller/start in 1193ms 2026-06-04 03:09:29.413 [eventLoopGroupProxy-4-13] TRACE io.ktor.server.routing.Routing - Trace for [] /, segment:0 -> SUCCESS @ / /, segment:0 -> SUCCESS @ / /(method:GET), segment:0 -> SUCCESS @ /(method:GET) /testcontroller, segment:0 -> FAILURE "Selector didn't match" @ /testcontroller Matched routes: "" -> "" -> "(method:GET)" Routing resolve result: SUCCESS @ /(method:GET) 2026-06-04 03:09:29.414 [eventLoopGroupProxy-4-13] INFO Application - 200 OK: GET - / in 1ms 2026-06-04 03:16:05.706 [KtorShutdownHook] INFO Application - Server is stopped 2026-06-04 03:16:05.707 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8064 2026-06-04 03:16:05.707 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8065 2026-06-04 03:16:05.707 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8066 2026-06-04 03:16:05.707 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8067 2026-06-04 03:16:05.707 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8061 2026-06-04 03:16:05.707 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8062 2026-06-04 03:16:05.707 [KtorShutdownHook] INFO Application - TestServerRunner: request to stop server on port=8063