0 AND CourseGroupMember.cgmSetUid = (SELECT caGroupUid FROM ClazzAssignment WHERE caUid = ?) AND CourseGroupMember.cgmPersonUid = ? LIMIT 1), -1) END )) AND NOT CourseAssignmentSubmissionFile.casaDeleted java.lang.IllegalStateException: com.ustadmobile.door.room.RoomDatabaseJdbcImplHelper@2f1eb767 is closed! at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.assertNotClosed(RoomDatabaseJdbcImplHelperCommon.kt:96) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:103) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:237) at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:235) at com.ustadmobile.door.ext.DoorDatabaseExtJvmJsKt.prepareAndUseStatementAsync(DoorDatabaseExtJvmJs.kt:24) at com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$1.invokeSuspend(CourseAssignmentSubmissionFileDao_JdbcImpl.kt:219) at com.ustadmobile.door.flow.DoorFlowKt$doorFlow$1$1.invokeSuspend(DoorFlow.kt:40) Caused by: java.lang.IllegalStateException: com.ustadmobile.door.room.RoomDatabaseJdbcImplHelper@2f1eb767 is closed! at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.assertNotClosed(RoomDatabaseJdbcImplHelperCommon.kt:96) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:103) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:237) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693) Aug 14, 2025 9:22:07 AM com.ustadmobile.core.util.NapierAntilogJvm performLog SEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.* FROM CourseAssignmentSubmissionFile LEFT JOIN TransferJobItem ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid AND TransferJobItem.tjiTableId = 90 WHERE CourseAssignmentSubmissionFile.casaSubmissionUid IN (SELECT CourseAssignmentSubmission.casUid FROM CourseAssignmentSubmission WHERE CourseAssignmentSubmission.casAssignmentUid = ? AND CourseAssignmentSubmission.casSubmitterUid = ( SELECT CASE -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero WHEN (SELECT caGroupUid FROM ClazzAssignment WHERE caUid = ?) = 0 THEN ( SELECT COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND ClazzEnrolment.clazzEnrolmentClazzUid = (SELECT ClazzAssignment.caClazzUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = ?) LIMIT 1), 0) ) -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero WHEN (SELECT caGroupUid FROM ClazzAssignment WHERE caUid = ?) != 0 AND ( SELECT COALESCE( Aug 14, 2025 9:22:07 AM com.ustadmobile.core.util.NapierAntilogJvm performLog (SELECT ClazzEnrolment.clazzEnrolmentPersonUid FINE: FINER DoorLog - Closed HikariDataSource connection pool FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND ClazzEnrolment.clazzEnrolmentClazzUid = (SELECT ClazzAssignment.caClazzUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = ?) LIMIT 1), 0) ) = 0 THEN 0 -- When assignment is by groups and the person is an enrolled student the submitter uid is the -- group that they are assigned to. If they are not assigned to a group but are enrolled -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP ELSE COALESCE( (SELECT CourseGroupMember.cgmGroupNumber FROM CourseGroupMember WHERE ( SELECT COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND ClazzEnrolment.clazzEnrolmentClazzUid = (SELECT ClazzAssignment.caClazzUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = ?) LIMIT 1), 0) ) > 0 AND CourseGroupMember.cgmSetUid = (SELECT caGroupUid FROM ClazzAssignment WHERE caUid = ?) AND CourseGroupMember.cgmPersonUid = ? LIMIT 1), -1) END )) AND NOT CourseAssignmentSubmissionFile.casaDeleted java.lang.IllegalStateException: com.ustadmobile.door.room.RoomDatabaseJdbcImplHelper@2f1eb767 is closed! at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.assertNotClosed(RoomDatabaseJdbcImplHelperCommon.kt:96) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:103) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:237) at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:235) at com.ustadmobile.door.ext.DoorDatabaseExtJvmJsKt.prepareAndUseStatementAsync(DoorDatabaseExtJvmJs.kt:24) at com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$1.invokeSuspend(CourseAssignmentSubmissionFileDao_JdbcImpl.kt:219) at com.ustadmobile.door.flow.DoorFlowKt$doorFlow$1$1.invokeSuspend(DoorFlow.kt:40) Caused by: java.lang.IllegalStateException: com.ustadmobile.door.room.RoomDatabaseJdbcImplHelper@2f1eb767 is closed! at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.assertNotClosed(RoomDatabaseJdbcImplHelperCommon.kt:96) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:103) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21) at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:237) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693) Aug 14, 2025 9:22:07 AM com.ustadmobile.core.util.NapierAntilogJvm performLog FINE: FINER DoorLog - Closed HikariDataSource connection pool ]]>