Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
FINEST: [VERBOSE] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] : created tables
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
INFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
INFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite::memory:] database build complete
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
FINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
FINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: RequestedEntry
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
INFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
INFO: [INFO] DoorLog - [DatabaseBuilder.build - jdbc:sqlite:build/tmp/UmAppDatabase.sqlite] database build complete
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
FINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Person, SyncNode, Site, PersonAuth2, SystemPermission
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
FINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Person, SyncNode, Site, PersonAuth2, SystemPermission
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
FINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: SyncNode
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
FINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: SyncNode
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
FINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Site
Apr 23, 2025 8:17:25 PM io.github.aakira.napier.DebugAntilog performLog
FINEST: [VERBOSE] DoorLog - InvalidationTracker: tables invalidated: Site
> Task :app-ktor-server:test
> Task :app-ktor-server:check
> Task :app-ktor-server:build
> Task :sharedse:allTests
> Task :sharedse:check
> Task :sharedse:build
> Task :core:compileTestKotlinJvm
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/account/AuthManagerTest.kt:44:18 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/cachestoragepath/GetStoragePathForUrlUseCaseCommonJvmTest.kt:39:13 Variable 'getStoragePathUseCase' is never used
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/saveandmanifest/SaveLocalUriAndManifestUploadIntegrationTest.kt:210:80 Parameter 'prev' is never used, could be renamed to _
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadServerUseCaseTest.kt:113:51 Parameter 'invocation' is never used, could be renamed to _
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadServerUseCaseTest.kt:161:51 Parameter 'invocation' is never used, could be renamed to _
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/RequestEnrolmentUseCaseJvmTest.kt:32:40 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt:269:18 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt:309:13 Variable 'savedAccount' is never used
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt:311:18 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt:320:18 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt:437:18 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt:445:18 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt:552:16 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/schedule/TestClazzLogCreator.kt:133:13 Variable 'longWeekendHoliday' is never used
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/schedule/TestClazzLogCreator.kt:140:25 Variable 'testClazzSchedule' is never used
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/schedule/TestClazzLogCreator.kt:165:25 Variable 'testClazzSchedule' is never used
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/schedule/TestClazzLogCreator.kt:199:25 Variable 'testClazzSchedule' is never used
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/schedule/TestClazzLogCreator.kt:224:25 Variable 'testClazzSchedule' is never used
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt:72:5 Parameter 'baseTmpDir' is never used
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt:186:37 Parameter 'call' is never used, could be renamed to _
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt:195:47 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt:293:33 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/util/test/MainDispatcherRule.kt:17:31 This declaration needs opt-in. Its usage should be marked with '@kotlinx.coroutines.ExperimentalCoroutinesApi' or '@OptIn(kotlinx.coroutines.ExperimentalCoroutinesApi::class)'
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/util/test/MainDispatcherRule.kt:18:21 This declaration needs opt-in. Its usage should be marked with '@kotlinx.coroutines.ExperimentalCoroutinesApi' or '@OptIn(kotlinx.coroutines.ExperimentalCoroutinesApi::class)'
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/util/test/MainDispatcherRule.kt:22:21 This declaration needs opt-in. Its usage should be marked with '@kotlinx.coroutines.ExperimentalCoroutinesApi' or '@OptIn(kotlinx.coroutines.ExperimentalCoroutinesApi::class)'
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/list/ClazzListViewModelTest.kt:66:24 'grantScopedPermission(Person, Long, Int, Long): ScopedGrantResult' is deprecated. This has been replaced with SystemPermission and CoursePermission
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzlog/edit/ClazzLogEditAttendanceViewModelTest.kt:69:50 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/parentalconsentmanagement/ParentalConsentManagementViewModelTest.kt:60:40 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/PersonIntegrationTest.kt:29:40 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
w: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/detail/PersonDetailViewModelTest.kt:187:20 'insertPersonAndGroup(T, Int = ...): T' is deprecated. Should use AddNewPersonUseCase instead
> Task :core:jvmTestClasses
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest$TestUploadException
at com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest.stubToThrowException$lambda$11$lambda$10(BlobUploadClientUseCaseJvmTest.kt:209)
at org.mockito.internal.stubbing.StubbedInvocationMatcher.answer(StubbedInvocationMatcher.java:42)
at org.mockito.internal.handler.MockHandlerImpl.handle(MockHandlerImpl.java:103)
at org.mockito.internal.handler.NullResultGuardian.handle(NullResultGuardian.java:29)
at org.mockito.internal.handler.InvocationNotifierHandler.handle(InvocationNotifierHandler.java:34)
at org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.doIntercept(MockMethodInterceptor.java:82)
at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.handle(MockMethodAdvice.java:134)
at com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseKtorImpl.invoke(ChunkedUploadClientUseCaseKtorImpl.kt:107)
at com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvm$asyncUploadItemsFromChannelProcessor$2$1.invokeSuspend(BlobUploadClientUseCaseJvm.kt:120)
at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42)
at com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvm$invoke$2.invokeSuspend(BlobUploadClientUseCaseJvm.kt:244)
at com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvm$invoke$4.invokeSuspend(BlobUploadClientUseCaseJvm.kt:272)
at com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvm.invoke(BlobUploadClientUseCaseJvm.kt:269)
at com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest$givenTransferJobInDatabase_whenErrorOccurs_thenAttemptCountIncrementAndExceptionThrown$1.invokeSuspend(BlobUploadClientUseCaseJvmTest.kt:384)
Caused by: com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest$TestUploadException
at com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvmTest.stubToThrowException$lambda$11$lambda$10(BlobUploadClientUseCaseJvmTest.kt:209)
at org.mockito.internal.stubbing.StubbedInvocationMatcher.answer(StubbedInvocationMatcher.java:42)
at org.mockito.internal.handler.MockHandlerImpl.handle(MockHandlerImpl.java:103)
at org.mockito.internal.handler.NullResultGuardian.handle(NullResultGuardian.java:29)
at org.mockito.internal.handler.InvocationNotifierHandler.handle(InvocationNotifierHandler.java:34)
at org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.doIntercept(MockMethodInterceptor.java:82)
at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.handle(MockMethodAdvice.java:134)
at com.ustadmobile.core.domain.upload.ChunkedUploadClientUseCaseKtorImpl.invoke(ChunkedUploadClientUseCaseKtorImpl.kt:107)
at com.ustadmobile.core.domain.blob.upload.BlobUploadClientUseCaseJvm$asyncUploadItemsFromChannelProcessor$2$1.invokeSuspend(BlobUploadClientUseCaseJvm.kt:120)
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.blob.upload.BlobUploadClientUseCaseJvmTest.givenTransferJobInDatabase_whenErrorOccurs_thenAttemptCountIncrementAndExceptionThrown(BlobUploadClientUseCaseJvmTest.kt:356)
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.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
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)
===SQLITE===
add("""
CREATE TRIGGER IF NOT EXISTS Retain_PersonPicture_Ins_personPictureUri
AFTER INSERT ON PersonPicture
FOR EACH ROW WHEN NEW.personPictureUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(50, NEW.personPictureUid, NEW.personPictureUri, 0, 1, 1);
END
""")
add("""
CREATE TRIGGER IF NOT EXISTS Retain_PersonPicture_Ins_personPictureThumbnailUri
AFTER INSERT ON PersonPicture
FOR EACH ROW WHEN NEW.personPictureThumbnailUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(50, NEW.personPictureUid, NEW.personPictureThumbnailUri, 0, 1, 1);
END
""")
add("""
CREATE TRIGGER IF NOT EXISTS Retain_PersonPicture_Upd_personPictureUri_New
AFTER UPDATE ON PersonPicture
FOR EACH ROW WHEN NEW.personPictureUri != OLD.personPictureUri AND NEW.personPictureUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(50, NEW.personPictureUid, NEW.personPictureUri, 0, 1, 1);
END
""")
add("""CREATE TRIGGER IF NOT EXISTS Retain_PersonPicture_Upd_personPictureUri_Old
AFTER UPDATE ON PersonPicture
FOR EACH ROW WHEN NEW.personPictureUri != OLD.personPictureUri AND OLD.personPictureUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 50
AND cljEntityUid = OLD.personPictureUid
AND cljUrl = OLD.personPictureUri;
END """)
add("""
CREATE TRIGGER IF NOT EXISTS Retain_PersonPicture_Upd_personPictureThumbnailUri_New
AFTER UPDATE ON PersonPicture
FOR EACH ROW WHEN NEW.personPictureThumbnailUri != OLD.personPictureThumbnailUri AND NEW.personPictureThumbnailUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(50, NEW.personPictureUid, NEW.personPictureThumbnailUri, 0, 1, 1);
END
""")
add("""CREATE TRIGGER IF NOT EXISTS Retain_PersonPicture_Upd_personPictureThumbnailUri_Old
AFTER UPDATE ON PersonPicture
FOR EACH ROW WHEN NEW.personPictureThumbnailUri != OLD.personPictureThumbnailUri AND OLD.personPictureThumbnailUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 50
AND cljEntityUid = OLD.personPictureUid
AND cljUrl = OLD.personPictureThumbnailUri;
END """)
add("""CREATE TRIGGER IF NOT EXISTS Retain_PersonPicture_Del_personPictureUri
AFTER DELETE ON PersonPicture
FOR EACH ROW WHEN OLD.personPictureUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 50
AND cljEntityUid = OLD.personPictureUid
AND cljUrl = OLD.personPictureUri;
END """)
add("""CREATE TRIGGER IF NOT EXISTS Retain_PersonPicture_Del_personPictureThumbnailUri
AFTER DELETE ON PersonPicture
FOR EACH ROW WHEN OLD.personPictureThumbnailUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 50
AND cljEntityUid = OLD.personPictureUid
AND cljUrl = OLD.personPictureThumbnailUri;
END """)
add("""
CREATE TRIGGER IF NOT EXISTS Retain_CoursePicture_Ins_coursePictureUri
AFTER INSERT ON CoursePicture
FOR EACH ROW WHEN NEW.coursePictureUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(125, NEW.coursePictureUid, NEW.coursePictureUri, 0, 1, 1);
END
""")
add("""
CREATE TRIGGER IF NOT EXISTS Retain_CoursePicture_Ins_coursePictureThumbnailUri
AFTER INSERT ON CoursePicture
FOR EACH ROW WHEN NEW.coursePictureThumbnailUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(125, NEW.coursePictureUid, NEW.coursePictureThumbnailUri, 0, 1, 1);
END
""")
add("""
CREATE TRIGGER IF NOT EXISTS Retain_CoursePicture_Upd_coursePictureUri_New
AFTER UPDATE ON CoursePicture
FOR EACH ROW WHEN NEW.coursePictureUri != OLD.coursePictureUri AND NEW.coursePictureUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(125, NEW.coursePictureUid, NEW.coursePictureUri, 0, 1, 1);
END
""")
add("""CREATE TRIGGER IF NOT EXISTS Retain_CoursePicture_Upd_coursePictureUri_Old
AFTER UPDATE ON CoursePicture
FOR EACH ROW WHEN NEW.coursePictureUri != OLD.coursePictureUri AND OLD.coursePictureUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 125
AND cljEntityUid = OLD.coursePictureUid
AND cljUrl = OLD.coursePictureUri;
END """)
add("""
CREATE TRIGGER IF NOT EXISTS Retain_CoursePicture_Upd_coursePictureThumbnailUri_New
AFTER UPDATE ON CoursePicture
FOR EACH ROW WHEN NEW.coursePictureThumbnailUri != OLD.coursePictureThumbnailUri AND NEW.coursePictureThumbnailUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(125, NEW.coursePictureUid, NEW.coursePictureThumbnailUri, 0, 1, 1);
END
""")
add("""CREATE TRIGGER IF NOT EXISTS Retain_CoursePicture_Upd_coursePictureThumbnailUri_Old
AFTER UPDATE ON CoursePicture
FOR EACH ROW WHEN NEW.coursePictureThumbnailUri != OLD.coursePictureThumbnailUri AND OLD.coursePictureThumbnailUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 125
AND cljEntityUid = OLD.coursePictureUid
AND cljUrl = OLD.coursePictureThumbnailUri;
END """)
add("""CREATE TRIGGER IF NOT EXISTS Retain_CoursePicture_Del_coursePictureUri
AFTER DELETE ON CoursePicture
FOR EACH ROW WHEN OLD.coursePictureUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 125
AND cljEntityUid = OLD.coursePictureUid
AND cljUrl = OLD.coursePictureUri;
END """)
add("""CREATE TRIGGER IF NOT EXISTS Retain_CoursePicture_Del_coursePictureThumbnailUri
AFTER DELETE ON CoursePicture
FOR EACH ROW WHEN OLD.coursePictureThumbnailUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 125
AND cljEntityUid = OLD.coursePictureUid
AND cljUrl = OLD.coursePictureThumbnailUri;
END """)
add("""
CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Ins_casaUri
AFTER INSERT ON CourseAssignmentSubmissionFile
FOR EACH ROW WHEN NEW.casaUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1);
END
""")
add("""
CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Upd_casaUri_New
AFTER UPDATE ON CourseAssignmentSubmissionFile
FOR EACH ROW WHEN NEW.casaUri != OLD.casaUri AND NEW.casaUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1);
END
""")
add("""CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Upd_casaUri_Old
AFTER UPDATE ON CourseAssignmentSubmissionFile
FOR EACH ROW WHEN NEW.casaUri != OLD.casaUri AND OLD.casaUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 90
AND cljEntityUid = OLD.casaUid
AND cljUrl = OLD.casaUri;
END """)
add("""CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Del_casaUri
AFTER DELETE ON CourseAssignmentSubmissionFile
FOR EACH ROW WHEN OLD.casaUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 90
AND cljEntityUid = OLD.casaUid
AND cljUrl = OLD.casaUri;
END """)
add("""
CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Ins_cbpPictureUri
AFTER INSERT ON CourseBlockPicture
FOR EACH ROW WHEN NEW.cbpPictureUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1);
END
""")
add("""
CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Ins_cbpThumbnailUri
AFTER INSERT ON CourseBlockPicture
FOR EACH ROW WHEN NEW.cbpThumbnailUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1);
END
""")
add("""
CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpPictureUri_New
AFTER UPDATE ON CourseBlockPicture
FOR EACH ROW WHEN NEW.cbpPictureUri != OLD.cbpPictureUri AND NEW.cbpPictureUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1);
END
""")
add("""CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpPictureUri_Old
AFTER UPDATE ON CourseBlockPicture
FOR EACH ROW WHEN NEW.cbpPictureUri != OLD.cbpPictureUri AND OLD.cbpPictureUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 6677
AND cljEntityUid = OLD.cbpUid
AND cljUrl = OLD.cbpPictureUri;
END """)
add("""
CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpThumbnailUri_New
AFTER UPDATE ON CourseBlockPicture
FOR EACH ROW WHEN NEW.cbpThumbnailUri != OLD.cbpThumbnailUri AND NEW.cbpThumbnailUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1);
END
""")
add("""CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpThumbnailUri_Old
AFTER UPDATE ON CourseBlockPicture
FOR EACH ROW WHEN NEW.cbpThumbnailUri != OLD.cbpThumbnailUri AND OLD.cbpThumbnailUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 6677
AND cljEntityUid = OLD.cbpUid
AND cljUrl = OLD.cbpThumbnailUri;
END """)
add("""CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Del_cbpPictureUri
AFTER DELETE ON CourseBlockPicture
FOR EACH ROW WHEN OLD.cbpPictureUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 6677
AND cljEntityUid = OLD.cbpUid
AND cljUrl = OLD.cbpPictureUri;
END """)
add("""CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Del_cbpThumbnailUri
AFTER DELETE ON CourseBlockPicture
FOR EACH ROW WHEN OLD.cbpThumbnailUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 6677
AND cljEntityUid = OLD.cbpUid
AND cljUrl = OLD.cbpThumbnailUri;
END """)
add("""
CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Ins_cepPictureUri
AFTER INSERT ON ContentEntryPicture2
FOR EACH ROW WHEN NEW.cepPictureUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1);
END
""")
add("""
CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Ins_cepThumbnailUri
AFTER INSERT ON ContentEntryPicture2
FOR EACH ROW WHEN NEW.cepThumbnailUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1);
END
""")
add("""
CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepPictureUri_New
AFTER UPDATE ON ContentEntryPicture2
FOR EACH ROW WHEN NEW.cepPictureUri != OLD.cepPictureUri AND NEW.cepPictureUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1);
END
""")
add("""CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepPictureUri_Old
AFTER UPDATE ON ContentEntryPicture2
FOR EACH ROW WHEN NEW.cepPictureUri != OLD.cepPictureUri AND OLD.cepPictureUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 6678
AND cljEntityUid = OLD.cepUid
AND cljUrl = OLD.cepPictureUri;
END """)
add("""
CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepThumbnailUri_New
AFTER UPDATE ON ContentEntryPicture2
FOR EACH ROW WHEN NEW.cepThumbnailUri != OLD.cepThumbnailUri AND NEW.cepThumbnailUri IS NOT NULL
BEGIN
INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1);
END
""")
add("""CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepThumbnailUri_Old
AFTER UPDATE ON ContentEntryPicture2
FOR EACH ROW WHEN NEW.cepThumbnailUri != OLD.cepThumbnailUri AND OLD.cepThumbnailUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 6678
AND cljEntityUid = OLD.cepUid
AND cljUrl = OLD.cepThumbnailUri;
END """)
add("""CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Del_cepPictureUri
AFTER DELETE ON ContentEntryPicture2
FOR EACH ROW WHEN OLD.cepPictureUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 6678
AND cljEntityUid = OLD.cepUid
AND cljUrl = OLD.cepPictureUri;
END """)
add("""CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Del_cepThumbnailUri
AFTER DELETE ON ContentEntryPicture2
FOR EACH ROW WHEN OLD.cepThumbnailUri IS NOT NULL
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 6678
AND cljEntityUid = OLD.cepUid
AND cljUrl = OLD.cepThumbnailUri;
END """)
===POSTGRES===
add("""
CREATE OR REPLACE FUNCTION retain_c_clj_50_personPictureUri() RETURNS TRIGGER AS $$
BEGIN
INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(50, NEW.personPictureUid, NEW.personPictureUri, 0, 1, 1);
RETURN NEW;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE OR REPLACE FUNCTION retain_d_clj_50_personPictureUri() RETURNS TRIGGER AS $$
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 50
AND cljEntityUid = OLD.personPictureUid
AND cljUrl = OLD.personPictureUri;
RETURN OLD;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE TRIGGER retain_c_clj_50_personPictureUri_ins_t
AFTER INSERT ON PersonPicture
FOR EACH ROW
WHEN (NEW.personPictureUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_50_personPictureUri();
""")
add("""
CREATE TRIGGER retain_c_clj_50_personPictureUri_upd_t
AFTER UPDATE ON PersonPicture
FOR EACH ROW
WHEN (NEW.personPictureUri IS DISTINCT FROM OLD.personPictureUri AND OLD.personPictureUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_50_personPictureUri();
""")
add("""
CREATE TRIGGER retain_d_clj_50_personPictureUri_upd_t
AFTER UPDATE ON PersonPicture
FOR EACH ROW
WHEN (NEW.personPictureUri IS DISTINCT FROM OLD.personPictureUri AND NEW.personPictureUri IS NOT NULL)
EXECUTE FUNCTION retain_d_clj_50_personPictureUri();
""")
add("""
CREATE OR REPLACE FUNCTION retain_c_clj_50_personPictureThumbnailUr() RETURNS TRIGGER AS $$
BEGIN
INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(50, NEW.personPictureUid, NEW.personPictureThumbnailUri, 0, 1, 1);
RETURN NEW;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE OR REPLACE FUNCTION retain_d_clj_50_personPictureThumbnailUr() RETURNS TRIGGER AS $$
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 50
AND cljEntityUid = OLD.personPictureUid
AND cljUrl = OLD.personPictureThumbnailUri;
RETURN OLD;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE TRIGGER retain_c_clj_50_personPictureThumbnailUr_ins_t
AFTER INSERT ON PersonPicture
FOR EACH ROW
WHEN (NEW.personPictureThumbnailUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_50_personPictureThumbnailUr();
""")
add("""
CREATE TRIGGER retain_c_clj_50_personPictureThumbnailUr_upd_t
AFTER UPDATE ON PersonPicture
FOR EACH ROW
WHEN (NEW.personPictureThumbnailUri IS DISTINCT FROM OLD.personPictureThumbnailUri AND OLD.personPictureThumbnailUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_50_personPictureThumbnailUr();
""")
add("""
CREATE TRIGGER retain_d_clj_50_personPictureThumbnailUr_upd_t
AFTER UPDATE ON PersonPicture
FOR EACH ROW
WHEN (NEW.personPictureThumbnailUri IS DISTINCT FROM OLD.personPictureThumbnailUri AND NEW.personPictureThumbnailUri IS NOT NULL)
EXECUTE FUNCTION retain_d_clj_50_personPictureThumbnailUr();
""")
add("""
CREATE OR REPLACE FUNCTION retain_c_clj_125_coursePictureUri() RETURNS TRIGGER AS $$
BEGIN
INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(125, NEW.coursePictureUid, NEW.coursePictureUri, 0, 1, 1);
RETURN NEW;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE OR REPLACE FUNCTION retain_d_clj_125_coursePictureUri() RETURNS TRIGGER AS $$
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 125
AND cljEntityUid = OLD.coursePictureUid
AND cljUrl = OLD.coursePictureUri;
RETURN OLD;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE TRIGGER retain_c_clj_125_coursePictureUri_ins_t
AFTER INSERT ON CoursePicture
FOR EACH ROW
WHEN (NEW.coursePictureUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_125_coursePictureUri();
""")
add("""
CREATE TRIGGER retain_c_clj_125_coursePictureUri_upd_t
AFTER UPDATE ON CoursePicture
FOR EACH ROW
WHEN (NEW.coursePictureUri IS DISTINCT FROM OLD.coursePictureUri AND OLD.coursePictureUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_125_coursePictureUri();
""")
add("""
CREATE TRIGGER retain_d_clj_125_coursePictureUri_upd_t
AFTER UPDATE ON CoursePicture
FOR EACH ROW
WHEN (NEW.coursePictureUri IS DISTINCT FROM OLD.coursePictureUri AND NEW.coursePictureUri IS NOT NULL)
EXECUTE FUNCTION retain_d_clj_125_coursePictureUri();
""")
add("""
CREATE OR REPLACE FUNCTION retain_c_clj_125_coursePictureThumbnailUr() RETURNS TRIGGER AS $$
BEGIN
INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(125, NEW.coursePictureUid, NEW.coursePictureThumbnailUri, 0, 1, 1);
RETURN NEW;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE OR REPLACE FUNCTION retain_d_clj_125_coursePictureThumbnailUr() RETURNS TRIGGER AS $$
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 125
AND cljEntityUid = OLD.coursePictureUid
AND cljUrl = OLD.coursePictureThumbnailUri;
RETURN OLD;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE TRIGGER retain_c_clj_125_coursePictureThumbnailUr_ins_t
AFTER INSERT ON CoursePicture
FOR EACH ROW
WHEN (NEW.coursePictureThumbnailUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_125_coursePictureThumbnailUr();
""")
add("""
CREATE TRIGGER retain_c_clj_125_coursePictureThumbnailUr_upd_t
AFTER UPDATE ON CoursePicture
FOR EACH ROW
WHEN (NEW.coursePictureThumbnailUri IS DISTINCT FROM OLD.coursePictureThumbnailUri AND OLD.coursePictureThumbnailUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_125_coursePictureThumbnailUr();
""")
add("""
CREATE TRIGGER retain_d_clj_125_coursePictureThumbnailUr_upd_t
AFTER UPDATE ON CoursePicture
FOR EACH ROW
WHEN (NEW.coursePictureThumbnailUri IS DISTINCT FROM OLD.coursePictureThumbnailUri AND NEW.coursePictureThumbnailUri IS NOT NULL)
EXECUTE FUNCTION retain_d_clj_125_coursePictureThumbnailUr();
""")
add("""
CREATE OR REPLACE FUNCTION retain_c_clj_90_casaUri() RETURNS TRIGGER AS $$
BEGIN
INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1);
RETURN NEW;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE OR REPLACE FUNCTION retain_d_clj_90_casaUri() RETURNS TRIGGER AS $$
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 90
AND cljEntityUid = OLD.casaUid
AND cljUrl = OLD.casaUri;
RETURN OLD;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE TRIGGER retain_c_clj_90_casaUri_ins_t
AFTER INSERT ON CourseAssignmentSubmissionFile
FOR EACH ROW
WHEN (NEW.casaUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_90_casaUri();
""")
add("""
CREATE TRIGGER retain_c_clj_90_casaUri_upd_t
AFTER UPDATE ON CourseAssignmentSubmissionFile
FOR EACH ROW
WHEN (NEW.casaUri IS DISTINCT FROM OLD.casaUri AND OLD.casaUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_90_casaUri();
""")
add("""
CREATE TRIGGER retain_d_clj_90_casaUri_upd_t
AFTER UPDATE ON CourseAssignmentSubmissionFile
FOR EACH ROW
WHEN (NEW.casaUri IS DISTINCT FROM OLD.casaUri AND NEW.casaUri IS NOT NULL)
EXECUTE FUNCTION retain_d_clj_90_casaUri();
""")
add("""
CREATE OR REPLACE FUNCTION retain_c_clj_6677_cbpPictureUri() RETURNS TRIGGER AS $$
BEGIN
INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1);
RETURN NEW;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE OR REPLACE FUNCTION retain_d_clj_6677_cbpPictureUri() RETURNS TRIGGER AS $$
BEGIN
UPDATE CacheLockJoin
SET cljStatus = 3
WHERE cljTableId = 6677
AND cljEntityUid = OLD.cbpUid
AND cljUrl = OLD.cbpPictureUri;
RETURN OLD;
END $$ LANGUAGE plpgsql
""")
add("""
CREATE TRIGGER retain_c_clj_6677_cbpPictureUri_ins_t
AFTER INSERT ON CourseBlockPicture
FOR EACH ROW
WHEN (NEW.cbpPictureUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_6677_cbpPictureUri();
""")
add("""
CREATE TRIGGER retain_c_clj_6677_cbpPictureUri_upd_t
AFTER UPDATE ON CourseBlockPicture
FOR EACH ROW
WHEN (NEW.cbpPictureUri IS DISTINCT FROM OLD.cbpPictureUri AND OLD.cbpPictureUri IS NOT NULL)
EXECUTE FUNCTION retain_c_clj_6677_cbpPictureUri();
""")
add("""
CREATE TRIGGER retain_d_clj_6677_cbpPictureUri_upd_t
AFTER UPDATE ON CourseBlockPicture
FOR EACH ROW
WHEN (NEW.cbpPictureUri IS DISTINCT FROM OLD.cbpPictureUri AND NEW.cbpPictureUri IS NOT NULL)
EXECUTE FUNCTION retain_d_clj_6677_cbpPictureUri();
""")
add("""
CREATE OR REPLACE FUNCTION retain_c_clj_6677_cbpThumbnailUri() RETURNS TRIGGER AS $$
BEGIN
INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)
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();
""")
[000070bb0ecc5340] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[000070bb0ecc5340] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[000070bb0eebae10] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[000070bb0eebae10] 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:132)
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)
a96086d5c2cb52a9
Delaying...
process.waitForAsync
canceling result
Canceled
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1@641ba1bc
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1@cd5d14a
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1@2db6802f
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1@530fb85b
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1@15dfaad1
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1@2a129acb
Invalidated PagingSource com.ustadmobile.core.db.dao.CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1@7b78aedbException in thread "UI Thread @coroutine#4305" 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(4305), "coroutine#4305":StandaloneCoroutine{Cancelling}@28f15b1e, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#4335" 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(4335), "coroutine#4335":StandaloneCoroutine{Cancelling}@4a3ad3f8, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#4366" 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(4366), "coroutine#4366":StandaloneCoroutine{Cancelling}@4ffb7b1a, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#4430" 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(4430), "coroutine#4430":StandaloneCoroutine{Cancelling}@524c869, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5074" 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(5074), "coroutine#5074":StandaloneCoroutine{Cancelling}@93c4c2a, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5094" 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(5094), "coroutine#5094":StandaloneCoroutine{Cancelling}@42001a82, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5439" 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(5439), "coroutine#5439":StandaloneCoroutine{Cancelling}@7e6a6f1a, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5455" 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(5455), "coroutine#5455":StandaloneCoroutine{Cancelling}@4c51bbe4, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5471" 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(5471), "coroutine#5471":StandaloneCoroutine{Cancelling}@1a2ed419, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5509" 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(5509), "coroutine#5509":StandaloneCoroutine{Cancelling}@76168e8, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5526" 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(5526), "coroutine#5526":StandaloneCoroutine{Cancelling}@5b55baec, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#5544" 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(5544), "coroutine#5544":StandaloneCoroutine{Cancelling}@4ac23c40, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6073" 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(6073), "coroutine#6073":StandaloneCoroutine{Cancelling}@62f2e67e, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6098" 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(6098), "coroutine#6098":StandaloneCoroutine{Cancelling}@fadb304, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6123" 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(6123), "coroutine#6123":StandaloneCoroutine{Cancelling}@342a9843, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6159" 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(6159), "coroutine#6159":StandaloneCoroutine{Cancelling}@6873972, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6178" 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(6178), "coroutine#6178":StandaloneCoroutine{Cancelling}@738b7b2a, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6194" 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(6194), "coroutine#6194":StandaloneCoroutine{Cancelling}@755611dc, 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: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(6211), "coroutine#6211":StandaloneCoroutine{Cancelling}@261786c4, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6227" 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(6227), "coroutine#6227":StandaloneCoroutine{Cancelling}@2c0bc809, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6245" 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(6245), "coroutine#6245":StandaloneCoroutine{Cancelling}@4cd55754, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6266" 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(6266), "coroutine#6266":StandaloneCoroutine{Cancelling}@2d49aa5b, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6285" 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(6285), "coroutine#6285":StandaloneCoroutine{Cancelling}@7477ec25, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6304" 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(6304), "coroutine#6304":StandaloneCoroutine{Cancelling}@7c51a966, Dispatchers.Main]
Exception in thread "UI Thread @coroutine#6327" 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(6327), "coroutine#6327":StandaloneCoroutine{Cancelling}@6c3cfcb2, Dispatchers.Main]
> Task :core:jvmTest
> Task :core:allTests
> Task :core:check
> Task :core:build
[Incubating] Problems report is available at: file:///home/jenkins/.jenkins/workspace/dev-admin-branding-customization-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 6m 59s
1423 actionable tasks: 1303 executed, 120 up-to-date
Build step 'Invoke Gradle script' changed build result to SUCCESS
[dev-admin-branding-customization-End-To-End-Tests] $ /bin/sh -xe /tmp/jenkins4758047842962288160.sh
+ npm --prefix test-end-to-end/webapp-cypress/ install
up to date, audited 263 packages in 678ms
54 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:44477/devtools/browser/03578f93-ff29-40c4-94ad-715efc23563c
[35mThe [33mexperimentalSessionAndOrigin[35m configuration option was removed in Cypress version 12.0.0.[39m
[35m[39m
[35mYou can safely remove this option from your config.[39m
[35m[39m
[35mhttps://on.cypress.io/session[39m
[35mhttps://on.cypress.io/origin[39m
resize: can't open terminal /dev/tty
tput: No value for $TERM and no -T specified
[90m====================================================================================================[39m
[0m ([4m[1mRun Starting[22m[24m)[0m
[90m ┌[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┐[39m
[90m │[39m [90mCypress:[39m 14.0.1 [90m│[39m
[90m │[39m [90mBrowser:[39m Electron 130 [90m(headless)[39m [90m│[39m
[90m │[39m [90mNode Version:[39m [0mv18.20.5 [90m(/home/jenkins/.nvm/versions/node/v18.20.5/bin/node)[39m[0m [90m│[39m
[90m │[39m [90mSpecs:[39m [0m28 found (WEB_001_001_add_content.cy.js, WEB_001_002_add_invalid_content.cy.js[0m [90m│[39m
[90m │[39m [0m, WEB_001_003_move_content.cy.js, WEB_002_001_admin_add_new_course_and_teacher[0m [90m│[39m
[90m │[39m [0m.cy.js, WEB_002_003_teacher_record_attendance.cy.js, WEB_003_001_add_or_edit_c[0m [90m│[39m
[90m │[39m [0mourse_permission_test.c...)[0m [90m│[39m
[90m │[39m [90mSearched:[39m [0mcypress/e2e/**/*.cy.{js,jsx,ts,tsx}[0m [90m│[39m
[90m └[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┘[39m
[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m
Running: [90mWEB_001_001_add_content.cy.js[39m [90m(1 of 28)[39m
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-35123/log -jar build/libs/ustad-server-all.jar -P:ktor.ustad.siteUrl=http://37.27.227.212:8070/ -P:ktor.deployment.port=35123 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-35123 -P:ktor.ustad.adminpass=testpass
http://37.27.227.212:8070/umapp/ ready
[592442:0423/201822.361806:ERROR:ffmpeg_common.cc(970)] Unsupported pixel format: -1
[593293:0423/201822.430818:ERROR:alsa_util.cc(204)] PcmOpen: default,Host is down
[593293:0423/201822.433206: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. (1ms)
[32m ([4m[1mResults[22m[24m)[39m
[90m ┌[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┐[39m
[90m │[39m [90mTests:[39m [32m1[39m [90m│[39m
[90m │[39m [90mPassing:[39m [32m1[39m [90m│[39m
[90m │[39m [90mFailing:[39m [32m0[39m [90m│[39m
[90m │[39m [90mPending:[39m [32m0[39m [90m│[39m
[90m │[39m [90mSkipped:[39m [32m0[39m [90m│[39m
[90m │[39m [90mScreenshots:[39m [32m0[39m [90m│[39m
[90m │[39m [90mVideo:[39m [32mtrue[39m [90m│[39m
[90m │[39m [90mDuration:[39m [32m15 seconds[39m [90m│[39m
[90m │[39m [90mSpec Ran:[39m [32m[32mWEB_001_001_add_content.cy.js[32m[39m [90m│[39m
[90m └[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┘[39m
[36m ([4m[1mVideo[22m[24m)[39m
- Video output: [36m/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_001_001_add_content.cy.js.mp4[39m
[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m
Running: [90mWEB_001_002_add_invalid_content.cy.js[39m [90m(2 of 28)[39m
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 35123
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-55252/log -jar build/libs/ustad-server-all.jar -P:ktor.ustad.siteUrl=http://37.27.227.212:8070/ -P:ktor.deployment.port=55252 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-55252 -P:ktor.ustad.adminpass=testpass
http://37.27.227.212:8070/umapp/ ready
cypress-terminal-report: Wrote custom logs to cypress-logs. (3ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (1ms)
[32m ([4m[1mResults[22m[24m)[39m
[90m ┌[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┐[39m
[90m │[39m [90mTests:[39m [32m1[39m [90m│[39m
[90m │[39m [90mPassing:[39m [32m1[39m [90m│[39m
[90m │[39m [90mFailing:[39m [32m0[39m [90m│[39m
[90m │[39m [90mPending:[39m [32m0[39m [90m│[39m
[90m │[39m [90mSkipped:[39m [32m0[39m [90m│[39m
[90m │[39m [90mScreenshots:[39m [32m0[39m [90m│[39m
[90m │[39m [90mVideo:[39m [32mtrue[39m [90m│[39m
[90m │[39m [90mDuration:[39m [32m6 seconds[39m [90m│[39m
[90m │[39m [90mSpec Ran:[39m [32m[32mWEB_001_002_add_invalid_content.cy.js[32m[39m [90m│[39m
[90m └[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┘[39m
[36m ([4m[1mVideo[22m[24m)[39m
- Video output: [36m/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_001_002_add_invalid_content.cy.js.mp4[39m
[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m
Running: [90mWEB_001_003_move_content.cy.js[39m [90m(3 of 28)[39m
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 55252
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-11325/log -jar build/libs/ustad-server-all.jar -P:ktor.ustad.siteUrl=http://37.27.227.212:8070/ -P:ktor.deployment.port=11325 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-11325 -P:ktor.ustad.adminpass=testpass
http://37.27.227.212:8070/umapp/ ready
cypress-terminal-report: Wrote custom logs to cypress-logs. (3ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (2ms)
[32m ([4m[1mResults[22m[24m)[39m
[90m ┌[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┐[39m
[90m │[39m [90mTests:[39m [32m2[39m [90m│[39m
[90m │[39m [90mPassing:[39m [32m2[39m [90m│[39m
[90m │[39m [90mFailing:[39m [32m0[39m [90m│[39m
[90m │[39m [90mPending:[39m [32m0[39m [90m│[39m
[90m │[39m [90mSkipped:[39m [32m0[39m [90m│[39m
[90m │[39m [90mScreenshots:[39m [32m0[39m [90m│[39m
[90m │[39m [90mVideo:[39m [32mtrue[39m [90m│[39m
[90m │[39m [90mDuration:[39m [32m8 seconds[39m [90m│[39m
[90m │[39m [90mSpec Ran:[39m [32m[32mWEB_001_003_move_content.cy.js[32m[39m [90m│[39m
[90m └[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┘[39m
[36m ([4m[1mVideo[22m[24m)[39m
- Video output: [36m/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_001_003_move_content.cy.js.mp4[39m
[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m
Running: [90mWEB_002_001_admin_add_new_course_and_teacher.cy.js[39m [90m(4 of 28)[39m
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 11325
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-8273/log -jar build/libs/ustad-server-all.jar -P:ktor.ustad.siteUrl=http://37.27.227.212:8070/ -P:ktor.deployment.port=8273 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-8273 -P:ktor.ustad.adminpass=testpass
http://37.27.227.212:8070/umapp/ ready
cypress-terminal-report: Wrote custom logs to cypress-logs. (5ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (3ms)
[32m ([4m[1mResults[22m[24m)[39m
[90m ┌[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┐[39m
[90m │[39m [90mTests:[39m [32m2[39m [90m│[39m
[90m │[39m [90mPassing:[39m [32m2[39m [90m│[39m
[90m │[39m [90mFailing:[39m [32m0[39m [90m│[39m
[90m │[39m [90mPending:[39m [32m0[39m [90m│[39m
[90m │[39m [90mSkipped:[39m [32m0[39m [90m│[39m
[90m │[39m [90mScreenshots:[39m [32m0[39m [90m│[39m
[90m │[39m [90mVideo:[39m [32mtrue[39m [90m│[39m
[90m │[39m [90mDuration:[39m [32m13 seconds[39m [90m│[39m
[90m │[39m [90mSpec Ran:[39m [32m[32mWEB_002_001_admin_add_new_course_and_teacher.cy.js[32m[39m [90m│[39m
[90m └[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┘[39m
[36m ([4m[1mVideo[22m[24m)[39m
- Video output: [36m/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_002_001_admin_add_new_course_and_teacher.cy.js.mp4[39m
[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m
Running: [90mWEB_002_003_teacher_record_attendance.cy.js[39m [90m(5 of 28)[39m
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 8273
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-17754/log -jar build/libs/ustad-server-all.jar -P:ktor.ustad.siteUrl=http://37.27.227.212:8070/ -P:ktor.deployment.port=17754 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-17754 -P:ktor.ustad.adminpass=testpass
http://37.27.227.212:8070/umapp/ ready
cypress-terminal-report: Wrote custom logs to cypress-logs. (5ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (4ms)
[32m ([4m[1mResults[22m[24m)[39m
[90m ┌[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┐[39m
[90m │[39m [90mTests:[39m [32m2[39m [90m│[39m
[90m │[39m [90mPassing:[39m [32m2[39m [90m│[39m
[90m │[39m [90mFailing:[39m [32m0[39m [90m│[39m
[90m │[39m [90mPending:[39m [32m0[39m [90m│[39m
[90m │[39m [90mSkipped:[39m [32m0[39m [90m│[39m
[90m │[39m [90mScreenshots:[39m [32m0[39m [90m│[39m
[90m │[39m [90mVideo:[39m [32mtrue[39m [90m│[39m
[90m │[39m [90mDuration:[39m [32m8 seconds[39m [90m│[39m
[90m │[39m [90mSpec Ran:[39m [32m[32mWEB_002_003_teacher_record_attendance.cy.js[32m[39m [90m│[39m
[90m └[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┘[39m
[36m ([4m[1mVideo[22m[24m)[39m
- Video output: [36m/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_002_003_teacher_record_attendance.cy.js.mp4[39m
[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m
Running: [90mWEB_003_001_add_or_edit_course_permission_test.cy.js[39m [90m(6 of 28)[39m
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 17754
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-27459/log -jar build/libs/ustad-server-all.jar -P:ktor.ustad.siteUrl=http://37.27.227.212:8070/ -P:ktor.deployment.port=27459 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-27459 -P:ktor.ustad.adminpass=testpass
http://37.27.227.212:8070/umapp/ ready
cypress-terminal-report: Wrote custom logs to cypress-logs. (5ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (5ms)
[32m ([4m[1mResults[22m[24m)[39m
[90m ┌[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┐[39m
[90m │[39m [90mTests:[39m [32m3[39m [90m│[39m
[90m │[39m [90mPassing:[39m [32m3[39m [90m│[39m
[90m │[39m [90mFailing:[39m [32m0[39m [90m│[39m
[90m │[39m [90mPending:[39m [32m0[39m [90m│[39m
[90m │[39m [90mSkipped:[39m [32m0[39m [90m│[39m
[90m │[39m [90mScreenshots:[39m [32m0[39m [90m│[39m
[90m │[39m [90mVideo:[39m [32mtrue[39m [90m│[39m
[90m │[39m [90mDuration:[39m [32m9 seconds[39m [90m│[39m
[90m │[39m [90mSpec Ran:[39m [32m[32mWEB_003_001_add_or_edit_course_permission_test.cy.js[32m[39m [90m│[39m
[90m └[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m┘[39m
[36m ([4m[1mVideo[22m[24m)[39m
- Video output: [36m/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/cypress/videos/WEB_003_001_add_or_edit_course_permission_test.cy.js.mp4[39m
[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m[90m─[39m
Running: [90mWEB_003_002_add_module_text_blocks_and_perform_indent_hide_delete_ac[39m [90m(7 of 28)[39m
[90mtions.cy.js[39m
TestServerController: start server requested
TestServerController: stopping all servers
TestServerController: stopping server on port: 27459
TestServerController: all stopped
TestServerController: exec /usr/bin/java -Dlogs_dir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-54633/log -jar build/libs/ustad-server-all.jar -P:ktor.ustad.siteUrl=http://37.27.227.212:8070/ -P:ktor.deployment.port=54633 -P:ktor.ustad.datadir=/home/jenkins/.jenkins/workspace/dev-admin-branding-customization-End-To-End-Tests/test-end-to-end/webapp-cypress/../../testserver-controller/build/data/server-54633 -P:ktor.ustad.adminpass=testpass
http://37.27.227.212:8070/umapp/ ready
cypress-terminal-report: Wrote custom logs to cypress-logs. (6ms)
cypress-terminal-report: Wrote custom logs to cypress-logs. (6ms)
Build timed out (after 300 minutes). Marking the build as failed.
[591601:0424/011106.053789:ERROR:gpu_process_host.cc(982)] GPU process exited unexpectedly: exit_code=15
[591601:0424/011106.723845:ERROR:zygote_communication_linux.cc(297)] Failed to send GetTerminationStatus message to zygote
[31mWe detected that the [33mElectron[31m Renderer process just crashed.[39m
[31m[39m
[31mWe have failed the current spec but will continue running the next spec.[39m
[31m[39m
[31mThis can happen for a number of different reasons.[39m
[31m[39m
[31mIf you're running lots of tests on a memory intense application.[39m
[31m - Try increasing the CPU/memory on the machine you're running on.[39m
[31m - Try enabling [33mexperimentalMemoryManagement[31m in your config file.[39m
[31m - Try lowering [33mnumTestsKeptInMemory[31m in your config file during 'cypress open'.[39m
[31m[39m
[31mYou can learn more here:[39m
[31m[39m
[31mhttps://on.cypress.io/renderer-process-crashed[39m
[591601:0424/011106.727957:ERROR:network_service_instance_impl.cc(613)] Network service crashed, restarting service.
[624408:0424/011106.761233:ERROR:connection.cc(63)] X connection error received.
[624408:0424/011106.761233:ERROR:connection.cc(63)] X connection error received.
Terminated
Terminated
Build was aborted
[htmlpublisher] Archiving HTML reports...
Recording test results
[Checks API] No suitable checks publisher found.
[Slack Notifications] found #30 as previous completed, non-aborted build
[Slack Notifications] will send OnEveryFailureNotification because build matches and user preferences allow it
Finished: FAILURE