ls1intum/Orion

Starting assessment via assessment dashboard not possible

b-fein opened this issue · 5 comments

b-fein commented

Describe the bug

I cannot start the manual assessment via the assessment dashboard.

To Reproduce

  1. Go to the assessment dashboard for an exercise.
  2. Click on ‘Assess exercise via Orion’.
  3. Error as in ‘Output in IntelliJ’ below appears. No dialogue for the ImportPathChooser appeared.

Expected behavior

The assessment can be started.

Screenshots

Environment

 - OS: [e.g. iOS]
 - IntelliJ 2023.3
 - Artemis 6.7.1

Additional context

Output in IntelliJ

```
java.lang.NullPointerException
	at de.tum.www1.orion.settings.OrionBundle.message(OrionBundle.kt:22)
	at de.tum.www1.orion.util.UtilsKt.translate(Utils.kt:54)
	at de.tum.www1.orion.ui.util.ImportPathChooser.(ImportPathChooser.kt:36)
	at de.tum.www1.orion.exercise.OrionExerciseService$createProject$1.invoke(OrionExerciseService.kt:55)
	at de.tum.www1.orion.exercise.OrionExerciseService$createProject$1.invoke(OrionExerciseService.kt:54)
	at com.intellij.openapi.application.ActionsKt.invokeLater$lambda$5(actions.kt:66)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:843)
	at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:463)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:75)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:67)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1430)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:82)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:124)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:44)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
```

Can you check if #103 resolves this?

b-fein commented

#103 fixes the error mentioned above.

Now it fails in the next step:

java.lang.NullPointerException: Cannot invoke "java.net.URL.toString()" because the return value of "de.tum.www1.orion.dto.ProgrammingExercise.getTestRepositoryUrl()" is null
	at de.tum.www1.orion.exercise.OrionExerciseService$assessExercise$1.invoke(OrionExerciseService.kt:143)
	at de.tum.www1.orion.exercise.OrionExerciseService$assessExercise$1.invoke(OrionExerciseService.kt:141)
	at de.tum.www1.orion.exercise.OrionExerciseService$createProject$1.invoke(OrionExerciseService.kt:58)
	at de.tum.www1.orion.exercise.OrionExerciseService$createProject$1.invoke(OrionExerciseService.kt:54)

#103 fixes the error mentioned above.

Now it fails in the next step:

java.lang.NullPointerException: Cannot invoke "java.net.URL.toString()" because the return value of "de.tum.www1.orion.dto.ProgrammingExercise.getTestRepositoryUrl()" is null
	at de.tum.www1.orion.exercise.OrionExerciseService$assessExercise$1.invoke(OrionExerciseService.kt:143)
	at de.tum.www1.orion.exercise.OrionExerciseService$assessExercise$1.invoke(OrionExerciseService.kt:141)
	at de.tum.www1.orion.exercise.OrionExerciseService$createProject$1.invoke(OrionExerciseService.kt:58)
	at de.tum.www1.orion.exercise.OrionExerciseService$createProject$1.invoke(OrionExerciseService.kt:54)

So this is when assessing and exercise? I will have a look I that.

b-fein commented

So this is when assessing and exercise?

Yes, happens when trying to start an assessment via the assessment dashboard.

So basically what happened is, Orion did not receive the testRepositoryUrl. So to be on the save side, I need to know if this happens with every exercise or only with a few ones.