Skip to content
Failed

Console Output

Skipping 4,106 KB.. Full Log
                            VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1);
                            RETURN NEW;
                            END $$ LANGUAGE plpgsql
                        """)

add("""
                            CREATE OR REPLACE FUNCTION retain_d_clj_6677_cbpThumbnailUri() RETURNS TRIGGER AS $$
                            BEGIN
                            UPDATE CacheLockJoin 
                               SET cljStatus = 3
                             WHERE cljTableId = 6677
                               AND cljEntityUid = OLD.cbpUid
                               AND cljUrl = OLD.cbpThumbnailUri;
                            RETURN OLD;
                            END $$ LANGUAGE plpgsql   
                        """)

add("""
                            CREATE TRIGGER retain_c_clj_6677_cbpThumbnailUri_ins_t
                            AFTER INSERT ON CourseBlockPicture
                            FOR EACH ROW
                            WHEN (NEW.cbpThumbnailUri IS NOT NULL)
                            EXECUTE FUNCTION retain_c_clj_6677_cbpThumbnailUri();
                        """)

add("""
                            CREATE TRIGGER retain_c_clj_6677_cbpThumbnailUri_upd_t
                            AFTER UPDATE ON CourseBlockPicture
                            FOR EACH ROW
                            WHEN (NEW.cbpThumbnailUri IS DISTINCT FROM OLD.cbpThumbnailUri AND OLD.cbpThumbnailUri IS NOT NULL)
                            EXECUTE FUNCTION retain_c_clj_6677_cbpThumbnailUri();
                        """)

add("""
                            CREATE TRIGGER retain_d_clj_6677_cbpThumbnailUri_upd_t
                            AFTER UPDATE ON CourseBlockPicture
                            FOR EACH ROW
                            WHEN (NEW.cbpThumbnailUri IS DISTINCT FROM OLD.cbpThumbnailUri AND NEW.cbpThumbnailUri IS NOT NULL)
                            EXECUTE FUNCTION retain_d_clj_6677_cbpThumbnailUri();
                        """)

add("""
                            CREATE OR REPLACE FUNCTION retain_c_clj_6678_cepPictureUri() RETURNS TRIGGER AS $$
                            BEGIN
                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
                            VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1);
                            RETURN NEW;
                            END $$ LANGUAGE plpgsql
                        """)

add("""
                            CREATE OR REPLACE FUNCTION retain_d_clj_6678_cepPictureUri() RETURNS TRIGGER AS $$
                            BEGIN
                            UPDATE CacheLockJoin 
                               SET cljStatus = 3
                             WHERE cljTableId = 6678
                               AND cljEntityUid = OLD.cepUid
                               AND cljUrl = OLD.cepPictureUri;
                            RETURN OLD;
                            END $$ LANGUAGE plpgsql   
                        """)

add("""
                            CREATE TRIGGER retain_c_clj_6678_cepPictureUri_ins_t
                            AFTER INSERT ON ContentEntryPicture2
                            FOR EACH ROW
                            WHEN (NEW.cepPictureUri IS NOT NULL)
                            EXECUTE FUNCTION retain_c_clj_6678_cepPictureUri();
                        """)

add("""
                            CREATE TRIGGER retain_c_clj_6678_cepPictureUri_upd_t
                            AFTER UPDATE ON ContentEntryPicture2
                            FOR EACH ROW
                            WHEN (NEW.cepPictureUri IS DISTINCT FROM OLD.cepPictureUri AND OLD.cepPictureUri IS NOT NULL)
                            EXECUTE FUNCTION retain_c_clj_6678_cepPictureUri();
                        """)

add("""
                            CREATE TRIGGER retain_d_clj_6678_cepPictureUri_upd_t
                            AFTER UPDATE ON ContentEntryPicture2
                            FOR EACH ROW
                            WHEN (NEW.cepPictureUri IS DISTINCT FROM OLD.cepPictureUri AND NEW.cepPictureUri IS NOT NULL)
                            EXECUTE FUNCTION retain_d_clj_6678_cepPictureUri();
                        """)

add("""
                            CREATE OR REPLACE FUNCTION retain_c_clj_6678_cepThumbnailUri() RETURNS TRIGGER AS $$
                            BEGIN
                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
                            VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1);
                            RETURN NEW;
                            END $$ LANGUAGE plpgsql
                        """)

add("""
                            CREATE OR REPLACE FUNCTION retain_d_clj_6678_cepThumbnailUri() RETURNS TRIGGER AS $$
                            BEGIN
                            UPDATE CacheLockJoin 
                               SET cljStatus = 3
                             WHERE cljTableId = 6678
                               AND cljEntityUid = OLD.cepUid
                               AND cljUrl = OLD.cepThumbnailUri;
                            RETURN OLD;
                            END $$ LANGUAGE plpgsql   
                        """)

add("""
                            CREATE TRIGGER retain_c_clj_6678_cepThumbnailUri_ins_t
                            AFTER INSERT ON ContentEntryPicture2
                            FOR EACH ROW
                            WHEN (NEW.cepThumbnailUri IS NOT NULL)
                            EXECUTE FUNCTION retain_c_clj_6678_cepThumbnailUri();
                        """)

add("""
                            CREATE TRIGGER retain_c_clj_6678_cepThumbnailUri_upd_t
                            AFTER UPDATE ON ContentEntryPicture2
                            FOR EACH ROW
                            WHEN (NEW.cepThumbnailUri IS DISTINCT FROM OLD.cepThumbnailUri AND OLD.cepThumbnailUri IS NOT NULL)
                            EXECUTE FUNCTION retain_c_clj_6678_cepThumbnailUri();
                        """)

add("""
                            CREATE TRIGGER retain_d_clj_6678_cepThumbnailUri_upd_t
                            AFTER UPDATE ON ContentEntryPicture2
                            FOR EACH ROW
                            WHEN (NEW.cepThumbnailUri IS DISTINCT FROM OLD.cepThumbnailUri AND NEW.cepThumbnailUri IS NOT NULL)
                            EXECUTE FUNCTION retain_d_clj_6678_cepThumbnailUri();
                        """)

[000073789ad422c0] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[000073789ad422c0] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[000073789afcf4c0] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[000073789afcf4c0] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
com.ustadmobile.core.domain.interop.HttpApiException: State content too large: 262145 exceeds limit of 262144
	at com.ustadmobile.core.domain.xapi.state.StoreXapiStateUseCase.invoke(StoreXapiStateUseCase.kt:131)
	at com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest$givenTextBodyTooLarge_whenStored_thenShouldThrowException$1.invokeSuspend(XapiStateUseCaseIntegrationTest.kt:289)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
	at com.ustadmobile.core.domain.xapi.state.XapiStateUseCaseIntegrationTest.givenTextBodyTooLarge_whenStored_thenShouldThrowException(XapiStateUseCaseIntegrationTest.kt:280)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:112)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:40)
	at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:54)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:53)
	at jdk.internal.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
	at jdk.proxy1/jdk.proxy1.$Proxy4.processTestClass(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:183)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:132)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:121)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Delaying...
process.waitForAsync
canceling result
Canceled
Exception in thread "UI Thread @coroutine#2515" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(2515), "coroutine#2515":StandaloneCoroutine{Cancelling}@3ebba8f9, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#2532" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(2532), "coroutine#2532":StandaloneCoroutine{Cancelling}@7cc1c2e8, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#2549" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(2549), "coroutine#2549":StandaloneCoroutine{Cancelling}@2ddb4079, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#2602" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(2602), "coroutine#2602":StandaloneCoroutine{Cancelling}@2630c02f, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#2638" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(2638), "coroutine#2638":StandaloneCoroutine{Cancelling}@d7cd22c, Dispatchers.Main]

Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1@608af963
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1@5b8f7004
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1@6086d6e9
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1@516dfb5a
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1@521d422d
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1@169d8e8f
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1@41672339Exception in thread "UI Thread @coroutine#4316" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(4316), "coroutine#4316":StandaloneCoroutine{Cancelling}@70b88553, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#4346" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(4346), "coroutine#4346":StandaloneCoroutine{Cancelling}@4af6221b, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#4379" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:230)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(4379), "coroutine#4379":StandaloneCoroutine{Cancelling}@72873eb4, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#4442" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(4442), "coroutine#4442":StandaloneCoroutine{Cancelling}@29fc3a69, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5034" java.lang.IllegalStateException: com.ustadmobile.door.room.RoomDatabaseJdbcImplHelper@1996cdb5 is closed!
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.assertNotClosed(RoomDatabaseJdbcImplHelperCommon.kt:96)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:103)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:237)
	at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:235)
	at com.ustadmobile.door.ext.DoorDatabaseExtJvmJsKt.prepareAndUseStatementAsync(DoorDatabaseExtJvmJs.kt:24)
	at com.ustadmobile.core.db.dao.OfflineItemDao_JdbcImpl$findByContentEntryUid$1.invokeSuspend(OfflineItemDao_JdbcImpl.kt:64)
	at com.ustadmobile.door.flow.DoorFlowKt$doorFlow$1$1.invokeSuspend(DoorFlow.kt:40)
	at com.ustadmobile.core.viewmodel.contententry.detailoverviewtab.ContentEntryDetailOverviewViewModel$2$1$7.invokeSuspend(ContentEntryDetailOverviewViewModel.kt:235)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(5025), "coroutine#5025":StandaloneCoroutine{Cancelling}@5aa3caf3, Dispatchers.Main]
Caused by: java.lang.IllegalStateException: com.ustadmobile.door.room.RoomDatabaseJdbcImplHelper@1996cdb5 is closed!
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.assertNotClosed(RoomDatabaseJdbcImplHelperCommon.kt:96)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:103)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:237)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
Exception in thread "UI Thread @coroutine#5090" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(5090), "coroutine#5090":StandaloneCoroutine{Cancelling}@48e3d243, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5107" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(5107), "coroutine#5107":StandaloneCoroutine{Cancelling}@2837e53a, Dispatchers.Main]
> Task :core:jvmTest

Exception in thread "UI Thread @coroutine#5400" java.sql.SQLException: Connection is closed
	at com.zaxxer.hikari.pool.ProxyConnection$ClosedConnection$1.invoke(ProxyConnection.java:467)
	at jdk.proxy4/jdk.proxy4.$Proxy74.prepareStatement(Unknown Source)
	at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:315)
	at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java)
	at com.ustadmobile.door.ext.ConnectionExtKt.prepareStatement(ConnectionExt.kt:22)
	at com.ustadmobile.door.ext.DoorDatabaseExtJvmJsKt$prepareAndUseStatementAsync$2.invokeSuspend(DoorDatabaseExtJvmJs.kt:28)
	at com.ustadmobile.door.ext.DoorDatabaseExtJvmJsKt$prepareAndUseStatementAsync$2.invoke(DoorDatabaseExtJvmJs.kt)
	at com.ustadmobile.door.ext.DoorDatabaseExtJvmJsKt$prepareAndUseStatementAsync$2.invoke(DoorDatabaseExtJvmJs.kt)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$result$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:136)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$result$1.invoke(RoomDatabaseJdbcImplHelperCommon.kt)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$result$1.invoke(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:61)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:163)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:135)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(5400), "coroutine#5400":StandaloneCoroutine{Cancelling}@581969ef, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5464" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:230)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(5464), "coroutine#5464":StandaloneCoroutine{Cancelling}@339c0897, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5483" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:230)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(5483), "coroutine#5483":StandaloneCoroutine{Cancelling}@48f76109, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5500" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(5500), "coroutine#5500":StandaloneCoroutine{Cancelling}@5279f191, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5923" java.sql.SQLException: Connection is closed
	at com.zaxxer.hikari.pool.ProxyConnection$ClosedConnection$1.invoke(ProxyConnection.java:467)
	at jdk.proxy4/jdk.proxy4.$Proxy74.prepareStatement(Unknown Source)
	at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:308)
	at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java)
	at com.ustadmobile.door.room.InvalidationTracker.findChangedTablesOnConnectionAsync(InvalidationTracker.kt:95)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:140)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:266)
	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:99)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(5923), "coroutine#5923":StandaloneCoroutine{Cancelling}@56fb5510, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6036" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6036), "coroutine#6036":StandaloneCoroutine{Cancelling}@6bb4fd08, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6060" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6060), "coroutine#6060":StandaloneCoroutine{Cancelling}@583a2053, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6085" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6085), "coroutine#6085":StandaloneCoroutine{Cancelling}@2f165c73, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6121" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6121), "coroutine#6121":StandaloneCoroutine{Cancelling}@4496fdc8, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6137" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6137), "coroutine#6137":StandaloneCoroutine{Cancelling}@130549bd, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6156" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:230)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6156), "coroutine#6156":StandaloneCoroutine{Cancelling}@4b7ab0a4, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6172" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6172), "coroutine#6172":StandaloneCoroutine{Cancelling}@2916b306, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6193" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:230)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6193), "coroutine#6193":StandaloneCoroutine{Cancelling}@3c668982, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6211" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6211), "coroutine#6211":StandaloneCoroutine{Cancelling}@19ef7b4, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6231" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6231), "coroutine#6231":StandaloneCoroutine{Cancelling}@2f7c1d4a, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6249" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6249), "coroutine#6249":StandaloneCoroutine{Cancelling}@1f99207f, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6272" java.lang.NullPointerException: Cannot invoke "java.sql.Connection.setAutoCommit(boolean)" because "connection" is null
	at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206)
	at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108)
	at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:197)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
	at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useNewConnectionAsyncInternal$1.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(6272), "coroutine#6272":StandaloneCoroutine{Cancelling}@20c31ce8, Dispatchers.Main]

> Task :core:allTests
> Task :core:check
> Task :core:build
[Incubating] Problems report is available at: file:///home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/build/reports/problems/problems-report.html

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.11.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 7m 24s
1926 actionable tasks: 1750 executed, 176 up-to-date
Build step 'Invoke Gradle script' changed build result to SUCCESS
[dev-simplified-onboarding-belowage13-flow-End-To-End-Tests] $ /bin/sh -xe /tmp/jenkins3503139054475475167.sh
+ npm --prefix test-end-to-end/webapp-cypress/ install

up to date, audited 262 packages in 599ms

56 packages are looking for funding
  run `npm fund` for details

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.
+ npm --prefix test-end-to-end/webapp-cypress/ run delete:reports

> delete:reports
> rm results/* cypress/videos/*  cypress/screenshots/* logs/* log/* || true

rm: cannot remove 'results/*': No such file or directory
rm: cannot remove 'cypress/videos/*': No such file or directory
rm: cannot remove 'cypress/screenshots/*': No such file or directory
rm: cannot remove 'logs/*': No such file or directory
+ npm --prefix test-end-to-end/webapp-cypress/ run test-ci

> test-ci
> start-server-and-test start-server-ci $TESTCONTROLLER_URL cy:run-ci

1: starting server using command "npm run start-server-ci"
and when url "[ 'http://37.27.227.212:8070/' ]" is responding with HTTP status code 200
running tests using command "npm run cy:run-ci"


> start-server-ci
> java -jar ../../testserver-controller/build/libs/testserver-controller-all.jar -P:url=$TESTCONTROLLER_URL -P:srcRoot=../../ -P:mode=cypress


> cy:run-ci
> cypress run --config baseUrl=$TESTCONTROLLER_URL


DevTools listening on ws://127.0.0.1:37965/devtools/browser/4ae79b07-71f5-41ca-8c3c-cf893139ec10
The experimentalSessionAndOrigin configuration option was removed in Cypress version 12.0.0.

You can safely remove this option from your config.

https://on.cypress.io/session
https://on.cypress.io/origin

resize:  can't open terminal /dev/tty
tput: No value for $TERM and no -T specified
====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        14.0.3                                                                         │
  │ Browser:        Electron 130 (headless)                                                        │
  │ Node Version:   v18.20.5 (/home/jenkins/.nvm/versions/node/v18.20.5/bin/node)                  │
  │ Specs:          28 found (WEB_001_001_add_content.cy.js, WEB_001_002_add_invalid_content.cy.js │
  │                 , WEB_001_003_move_content.cy.js, WEB_002_001_admin_add_new_course_and_teacher │
  │                 .cy.js, WEB_002_003_teacher_record_attendance.cy.js, WEB_003_001_add_or_edit_c │
  │                 ourse_permission_test.c...)                                                    │
  │ Searched:       cypress/e2e/**/*.cy.{js,jsx,ts,tsx}                                            │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  WEB_001_001_add_content.cy.js                                                  (1 of 28)
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28223/log -jar build/libs/ustad-server-all.jar runserver -config=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../app-ktor-server/src/main/resources/application.conf -P:ktor.deployment.port=28223 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28223 -P:ktor.ustad.jsDevServer=
http://37.27.227.212:8070/umapp/ ready
07:59:59,213 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version ?
07:59:59,214 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - No custom configurators were discovered as a service.
07:59:59,214 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator
07:59:59,214 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Constructed configurator of type class ch.qos.logback.classic.joran.SerializedModelConfigurator
07:59:59,217 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.scmo]
07:59:59,217 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.scmo]
07:59:59,221 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - ch.qos.logback.classic.joran.SerializedModelConfigurator.configure() call lasted 3 milliseconds. ExecutionStatus=INVOKE_NEXT_IF_ANY
07:59:59,221 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
07:59:59,221 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
07:59:59,221 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
07:59:59,222 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml]
07:59:59,224 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@157853da - URL [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml] is not of type file
07:59:59,263 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
07:59:59,264 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
07:59:59,277 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@119290689 - No compression will be used
07:59:59,277 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@119290689 - Will use the pattern /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28223/log/ustad-server.%d{yyyy-MM-dd}.%i.log for the active file
07:59:59,287 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - The date pattern is 'yyyy-MM-dd' from file name pattern '/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28223/log/ustad-server.%d{yyyy-MM-dd}.%i.log'.
07:59:59,287 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - Roll-over at midnight.
07:59:59,290 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - Setting initial period to 2025-04-04T05:59:59.039Z
07:59:59,290 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
07:59:59,290 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
07:59:59,292 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
07:59:59,297 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28223/log/ustad-server.log
07:59:59,297 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28223/log/ustad-server.log]
07:59:59,297 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to TRACE
07:59:59,297 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
07:59:59,298 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.eclipse.jetty] to INFO
07:59:59,298 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [io.netty] to INFO
07:59:59,298 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@3cc1435c - End of configuration.
07:59:59,298 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6bf0219d - Registering current configuration as safe fallback point
07:59:59,298 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 77 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY

DataDir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28223
CreateLearningSpaceRequest(url=http://37.27.227.212:8070/, title=TestLearningSpace, dbUrl=null, dbUsername=, dbPassword=, adminUsername=admin, adminPassword=testpass)
Done: OK


[1077605:0404/080013.456205:ERROR:ffmpeg_common.cc(970)] Unsupported pixel format: -1
[1078494:0404/080013.512549:ERROR:alsa_util.cc(204)] PcmOpen: default,Host is down
[1078494:0404/080013.514098:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,Host is down
cypress-terminal-report: Wrote custom logs to cypress-logs. (3ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (2ms)

  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        1                                                                                │
  │ Passing:      1                                                                                │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        true                                                                             │
  │ Duration:     37 seconds                                                                       │
  │ Spec Ran:     WEB_001_001_add_content.cy.js                                                    │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


  (Video)

  -  Video output: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_001_001_add_content.cy.js.mp4


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  WEB_001_002_add_invalid_content.cy.js                                          (2 of 28)
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 28223
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-24504/log -jar build/libs/ustad-server-all.jar runserver -config=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../app-ktor-server/src/main/resources/application.conf -P:ktor.deployment.port=24504 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-24504 -P:ktor.ustad.jsDevServer=
http://37.27.227.212:8070/umapp/ ready
08:00:40,646 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version ?
08:00:40,646 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - No custom configurators were discovered as a service.
08:00:40,646 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator
08:00:40,646 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Constructed configurator of type class ch.qos.logback.classic.joran.SerializedModelConfigurator
08:00:40,649 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.scmo]
08:00:40,649 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.scmo]
08:00:40,653 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - ch.qos.logback.classic.joran.SerializedModelConfigurator.configure() call lasted 3 milliseconds. ExecutionStatus=INVOKE_NEXT_IF_ANY
08:00:40,653 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
08:00:40,653 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
08:00:40,653 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
08:00:40,655 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml]
08:00:40,656 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@157853da - URL [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml] is not of type file
08:00:40,695 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
08:00:40,695 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
08:00:40,708 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@119290689 - No compression will be used
08:00:40,708 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@119290689 - Will use the pattern /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-24504/log/ustad-server.%d{yyyy-MM-dd}.%i.log for the active file
08:00:40,718 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - The date pattern is 'yyyy-MM-dd' from file name pattern '/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-24504/log/ustad-server.%d{yyyy-MM-dd}.%i.log'.
08:00:40,718 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - Roll-over at midnight.
08:00:40,721 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - Setting initial period to 2025-04-04T06:00:40.514Z
08:00:40,721 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
08:00:40,721 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
08:00:40,723 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
08:00:40,727 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-24504/log/ustad-server.log
08:00:40,728 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-24504/log/ustad-server.log]
08:00:40,728 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to TRACE
08:00:40,728 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
08:00:40,729 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.eclipse.jetty] to INFO
08:00:40,729 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [io.netty] to INFO
08:00:40,729 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@3cc1435c - End of configuration.
08:00:40,729 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6bf0219d - Registering current configuration as safe fallback point
08:00:40,729 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 76 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY

DataDir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-24504
CreateLearningSpaceRequest(url=http://37.27.227.212:8070/, title=TestLearningSpace, dbUrl=null, dbUsername=, dbPassword=, adminUsername=admin, adminPassword=testpass)
Done: OK


cypress-terminal-report: Wrote custom logs to cypress-logs. (3ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (3ms)

  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        1                                                                                │
  │ Passing:      1                                                                                │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        true                                                                             │
  │ Duration:     7 seconds                                                                        │
  │ Spec Ran:     WEB_001_002_add_invalid_content.cy.js                                            │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


  (Video)

  -  Video output: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_001_002_add_invalid_content.cy.js.mp4


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  WEB_001_003_move_content.cy.js                                                 (3 of 28)
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 24504
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-41871/log -jar build/libs/ustad-server-all.jar runserver -config=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../app-ktor-server/src/main/resources/application.conf -P:ktor.deployment.port=41871 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-41871 -P:ktor.ustad.jsDevServer=
http://37.27.227.212:8070/umapp/ ready
08:00:49,900 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version ?
08:00:49,900 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - No custom configurators were discovered as a service.
08:00:49,900 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator
08:00:49,901 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - Constructed configurator of type class ch.qos.logback.classic.joran.SerializedModelConfigurator
08:00:49,904 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.scmo]
08:00:49,904 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.scmo]
08:00:49,907 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - ch.qos.logback.classic.joran.SerializedModelConfigurator.configure() call lasted 3 milliseconds. ExecutionStatus=INVOKE_NEXT_IF_ANY
08:00:49,907 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
08:00:49,907 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
08:00:49,907 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
08:00:49,909 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml]
08:00:49,910 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@236e3f4e - URL [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml] is not of type file
08:00:49,947 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
08:00:49,947 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
08:00:49,960 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1019298652 - No compression will be used
08:00:49,960 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1019298652 - Will use the pattern /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-41871/log/ustad-server.%d{yyyy-MM-dd}.%i.log for the active file
08:00:49,970 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6bf0219d - The date pattern is 'yyyy-MM-dd' from file name pattern '/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-41871/log/ustad-server.%d{yyyy-MM-dd}.%i.log'.
08:00:49,970 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6bf0219d - Roll-over at midnight.
08:00:49,972 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6bf0219d - Setting initial period to 2025-04-04T06:00:49.771Z
08:00:49,972 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6bf0219d - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
08:00:49,972 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6bf0219d - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
08:00:49,974 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
08:00:49,979 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-41871/log/ustad-server.log
08:00:49,979 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-41871/log/ustad-server.log]
08:00:49,979 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to TRACE
08:00:49,979 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
08:00:49,980 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.eclipse.jetty] to INFO
08:00:49,980 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [io.netty] to INFO
08:00:49,980 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@dd0c991 - End of configuration.
08:00:49,980 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@5f16132a - Registering current configuration as safe fallback point
08:00:49,980 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 73 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY

DataDir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-41871
CreateLearningSpaceRequest(url=http://37.27.227.212:8070/, title=TestLearningSpace, dbUrl=null, dbUsername=, dbPassword=, adminUsername=admin, adminPassword=testpass)
Done: OK


cypress-terminal-report: Wrote custom logs to cypress-logs. (4ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (4ms)

  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        2                                                                                │
  │ Passing:      2                                                                                │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        true                                                                             │
  │ Duration:     11 seconds                                                                       │
  │ Spec Ran:     WEB_001_003_move_content.cy.js                                                   │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


  (Video)

  -  Video output: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_001_003_move_content.cy.js.mp4


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  WEB_002_001_admin_add_new_course_and_teacher.cy.js                             (4 of 28)
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 41871
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-61366/log -jar build/libs/ustad-server-all.jar runserver -config=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../app-ktor-server/src/main/resources/application.conf -P:ktor.deployment.port=61366 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-61366 -P:ktor.ustad.jsDevServer=
http://37.27.227.212:8070/umapp/ ready
08:01:03,328 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version ?
08:01:03,328 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - No custom configurators were discovered as a service.
08:01:03,328 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator
08:01:03,329 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Constructed configurator of type class ch.qos.logback.classic.joran.SerializedModelConfigurator
08:01:03,331 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.scmo]
08:01:03,331 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.scmo]
08:01:03,335 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - ch.qos.logback.classic.joran.SerializedModelConfigurator.configure() call lasted 2 milliseconds. ExecutionStatus=INVOKE_NEXT_IF_ANY
08:01:03,335 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
08:01:03,335 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
08:01:03,335 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
08:01:03,336 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml]
08:01:03,338 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@157853da - URL [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml] is not of type file
08:01:03,375 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
08:01:03,375 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
08:01:03,388 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@119290689 - No compression will be used
08:01:03,389 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@119290689 - Will use the pattern /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-61366/log/ustad-server.%d{yyyy-MM-dd}.%i.log for the active file
08:01:03,398 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - The date pattern is 'yyyy-MM-dd' from file name pattern '/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-61366/log/ustad-server.%d{yyyy-MM-dd}.%i.log'.
08:01:03,398 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - Roll-over at midnight.
08:01:03,400 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - Setting initial period to 2025-04-04T06:01:03.202Z
08:01:03,401 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
08:01:03,401 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
08:01:03,402 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
08:01:03,407 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-61366/log/ustad-server.log
08:01:03,407 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-61366/log/ustad-server.log]
08:01:03,407 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to TRACE
08:01:03,407 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
08:01:03,408 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.eclipse.jetty] to INFO
08:01:03,408 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [io.netty] to INFO
08:01:03,408 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@3cc1435c - End of configuration.
08:01:03,408 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6bf0219d - Registering current configuration as safe fallback point
08:01:03,408 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 73 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY

DataDir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-61366
CreateLearningSpaceRequest(url=http://37.27.227.212:8070/, title=TestLearningSpace, dbUrl=null, dbUsername=, dbPassword=, adminUsername=admin, adminPassword=testpass)
Done: OK


cypress-terminal-report: Wrote custom logs to cypress-logs. (5ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (5ms)

  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        2                                                                                │
  │ Passing:      2                                                                                │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        true                                                                             │
  │ Duration:     16 seconds                                                                       │
  │ Spec Ran:     WEB_002_001_admin_add_new_course_and_teacher.cy.js                               │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


  (Video)

  -  Video output: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_002_001_admin_add_new_course_and_teacher.cy.js.mp4


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  WEB_002_003_teacher_record_attendance.cy.js                                    (5 of 28)
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 61366
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-43923/log -jar build/libs/ustad-server-all.jar runserver -config=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../app-ktor-server/src/main/resources/application.conf -P:ktor.deployment.port=43923 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-43923 -P:ktor.ustad.jsDevServer=
http://37.27.227.212:8070/umapp/ ready
08:01:21,371 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version ?
08:01:21,372 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - No custom configurators were discovered as a service.
08:01:21,372 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator
08:01:21,372 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - Constructed configurator of type class ch.qos.logback.classic.joran.SerializedModelConfigurator
08:01:21,375 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.scmo]
08:01:21,375 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.scmo]
08:01:21,378 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - ch.qos.logback.classic.joran.SerializedModelConfigurator.configure() call lasted 3 milliseconds. ExecutionStatus=INVOKE_NEXT_IF_ANY
08:01:21,378 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
08:01:21,379 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
08:01:21,379 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
08:01:21,380 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml]
08:01:21,382 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@236e3f4e - URL [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml] is not of type file
08:01:21,420 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
08:01:21,420 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
08:01:21,432 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1019298652 - No compression will be used
08:01:21,433 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1019298652 - Will use the pattern /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-43923/log/ustad-server.%d{yyyy-MM-dd}.%i.log for the active file
08:01:21,442 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6bf0219d - The date pattern is 'yyyy-MM-dd' from file name pattern '/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-43923/log/ustad-server.%d{yyyy-MM-dd}.%i.log'.
08:01:21,442 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6bf0219d - Roll-over at midnight.
08:01:21,445 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6bf0219d - Setting initial period to 2025-04-04T06:01:21.243Z
08:01:21,445 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6bf0219d - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
08:01:21,445 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@6bf0219d - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
08:01:21,446 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
08:01:21,451 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-43923/log/ustad-server.log
08:01:21,451 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-43923/log/ustad-server.log]
08:01:21,452 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to TRACE
08:01:21,452 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
08:01:21,452 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.eclipse.jetty] to INFO
08:01:21,452 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [io.netty] to INFO
08:01:21,452 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@dd0c991 - End of configuration.
08:01:21,452 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@5f16132a - Registering current configuration as safe fallback point
08:01:21,453 |-INFO in ch.qos.logback.classic.util.ContextInitializer@71c3b41 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 74 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY

DataDir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-43923
CreateLearningSpaceRequest(url=http://37.27.227.212:8070/, title=TestLearningSpace, dbUrl=null, dbUsername=, dbPassword=, adminUsername=admin, adminPassword=testpass)
Done: OK


cypress-terminal-report: Wrote custom logs to cypress-logs. (5ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (6ms)

  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        2                                                                                │
  │ Passing:      2                                                                                │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        true                                                                             │
  │ Duration:     10 seconds                                                                       │
  │ Spec Ran:     WEB_002_003_teacher_record_attendance.cy.js                                      │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


  (Video)

  -  Video output: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_002_003_teacher_record_attendance.cy.js.mp4


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  WEB_003_001_add_or_edit_course_permission_test.cy.js                           (6 of 28)
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 43923
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-11514/log -jar build/libs/ustad-server-all.jar runserver -config=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../app-ktor-server/src/main/resources/application.conf -P:ktor.deployment.port=11514 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-11514 -P:ktor.ustad.jsDevServer=
http://37.27.227.212:8070/umapp/ ready
08:01:33,814 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version ?
08:01:33,814 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - No custom configurators were discovered as a service.
08:01:33,814 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator
08:01:33,814 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Constructed configurator of type class ch.qos.logback.classic.joran.SerializedModelConfigurator
08:01:33,818 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.scmo]
08:01:33,818 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.scmo]
08:01:33,821 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - ch.qos.logback.classic.joran.SerializedModelConfigurator.configure() call lasted 4 milliseconds. ExecutionStatus=INVOKE_NEXT_IF_ANY
08:01:33,821 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
08:01:33,821 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
08:01:33,822 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
08:01:33,823 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml]
08:01:33,824 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@157853da - URL [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml] is not of type file
08:01:33,865 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
08:01:33,865 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
08:01:33,878 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@119290689 - No compression will be used
08:01:33,879 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@119290689 - Will use the pattern /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-11514/log/ustad-server.%d{yyyy-MM-dd}.%i.log for the active file
08:01:33,889 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - The date pattern is 'yyyy-MM-dd' from file name pattern '/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-11514/log/ustad-server.%d{yyyy-MM-dd}.%i.log'.
08:01:33,889 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - Roll-over at midnight.
08:01:33,892 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - Setting initial period to 2025-04-04T06:01:33.680Z
08:01:33,892 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
08:01:33,892 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
08:01:33,893 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
08:01:33,899 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-11514/log/ustad-server.log
08:01:33,899 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-11514/log/ustad-server.log]
08:01:33,900 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to TRACE
08:01:33,900 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
08:01:33,900 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.eclipse.jetty] to INFO
08:01:33,900 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [io.netty] to INFO
08:01:33,900 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@3cc1435c - End of configuration.
08:01:33,900 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6bf0219d - Registering current configuration as safe fallback point
08:01:33,901 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 80 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY

DataDir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-11514
CreateLearningSpaceRequest(url=http://37.27.227.212:8070/, title=TestLearningSpace, dbUrl=null, dbUsername=, dbPassword=, adminUsername=admin, adminPassword=testpass)
Done: OK


cypress-terminal-report: Wrote custom logs to cypress-logs. (6ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (7ms)

  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        3                                                                                │
  │ Passing:      3                                                                                │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        true                                                                             │
  │ Duration:     12 seconds                                                                       │
  │ Spec Ran:     WEB_003_001_add_or_edit_course_permission_test.cy.js                             │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


  (Video)

  -  Video output: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_003_001_add_or_edit_course_permission_test.cy.js.mp4


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  WEB_003_002_add_module_text_blocks_and_perform_indent_hide_delete_ac           (7 of 28)
            tions.cy.js                                                                             
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 11514
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28564/log -jar build/libs/ustad-server-all.jar runserver -config=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../app-ktor-server/src/main/resources/application.conf -P:ktor.deployment.port=28564 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28564 -P:ktor.ustad.jsDevServer=
http://37.27.227.212:8070/umapp/ ready
08:01:48,481 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version ?
08:01:48,481 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - No custom configurators were discovered as a service.
08:01:48,481 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator
08:01:48,481 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Constructed configurator of type class ch.qos.logback.classic.joran.SerializedModelConfigurator
08:01:48,485 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.scmo]
08:01:48,485 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.scmo]
08:01:48,488 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - ch.qos.logback.classic.joran.SerializedModelConfigurator.configure() call lasted 4 milliseconds. ExecutionStatus=INVOKE_NEXT_IF_ANY
08:01:48,488 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Trying to configure with ch.qos.logback.classic.util.DefaultJoranConfigurator
08:01:48,488 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - Constructed configurator of type class ch.qos.logback.classic.util.DefaultJoranConfigurator
08:01:48,489 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
08:01:48,490 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml]
08:01:48,492 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@157853da - URL [jar:file:/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/app-ktor-server/build/libs/ustad-server-all.jar!/logback.xml] is not of type file
08:01:48,529 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE]
08:01:48,529 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
08:01:48,542 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@119290689 - No compression will be used
08:01:48,542 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@119290689 - Will use the pattern /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28564/log/ustad-server.%d{yyyy-MM-dd}.%i.log for the active file
08:01:48,551 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - The date pattern is 'yyyy-MM-dd' from file name pattern '/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28564/log/ustad-server.%d{yyyy-MM-dd}.%i.log'.
08:01:48,551 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - Roll-over at midnight.
08:01:48,554 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - Setting initial period to 2025-04-04T06:01:48.343Z
08:01:48,554 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
08:01:48,554 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@236e3f4e - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
08:01:48,556 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
08:01:48,560 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28564/log/ustad-server.log
08:01:48,561 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28564/log/ustad-server.log]
08:01:48,561 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to TRACE
08:01:48,561 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE] to Logger[ROOT]
08:01:48,561 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [org.eclipse.jetty] to INFO
08:01:48,561 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [io.netty] to INFO
08:01:48,561 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@3cc1435c - End of configuration.
08:01:48,562 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6bf0219d - Registering current configuration as safe fallback point
08:01:48,562 |-INFO in ch.qos.logback.classic.util.ContextInitializer@343570b7 - ch.qos.logback.classic.util.DefaultJoranConfigurator.configure() call lasted 74 milliseconds. ExecutionStatus=DO_NOT_INVOKE_NEXT_IF_ANY

DataDir=/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-28564
CreateLearningSpaceRequest(url=http://37.27.227.212:8070/, title=TestLearningSpace, dbUrl=null, dbUsername=, dbPassword=, adminUsername=admin, adminPassword=testpass)
Done: OK


cypress-terminal-report: Wrote custom logs to cypress-logs. (7ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (9ms)
Build timed out (after 300 minutes). Marking the build as failed.
[1076730:0404/125230.948717:ERROR:connection.cc(63)] X connection error received.
[1076574:0404/125230.948820:FATAL:electron_browser_main_parts.cc(504)] Failed to shutdown.
[1076730:0404/125230.948807:ERROR:connection.cc(63)] X connection error received.
The Test Runner unexpectedly exited via a exit event with signal SIGTRAP

Please search Cypress documentation for possible solutions:

https://on.cypress.io

Check if there is a GitHub issue describing this crash:

https://github.com/cypress-io/cypress/issues

Consider opening a new issue.

----------

Platform: linux-x64 (Ubuntu - 24.04)
Cypress Version: 14.0.3
Error: Command failed with exit code 1: npm run cy:run-ci
    at makeError (/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/node_modules/start-server-and-test/node_modules/execa/lib/error.js:60:11)
    at handlePromise (/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-belowage13-flow-End-To-End-Tests/test-end-to-end/webapp-cypress/node_modules/start-server-and-test/node_modules/execa/index.js:118:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  shortMessage: 'Command failed with exit code 1: npm run cy:run-ci',
  command: 'npm run cy:run-ci',
  escapedCommand: '"npm run cy:run-ci"',
  exitCode: 1,
  signal: undefined,
  signalDescription: undefined,
  stdout: undefined,
  stderr: undefined,
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}
Build was aborted
[htmlpublisher] Archiving HTML reports...
Recording test results
[Checks API] No suitable checks publisher found.
[Slack Notifications] found #11 as previous completed, non-aborted build
[Slack Notifications] will send OnEveryFailureNotification because build matches and user preferences allow it
Finished: FAILURE