testmycode / tmc-intellij

*BETA* TestMyCode plugin for IntelliJ IDEA
MIT License
24 stars 13 forks source link

Cannot upload excercise #112

Open 1337tester opened 7 years ago

1337tester commented 7 years ago

Course - mooc-2016-securing-software Excercise - Set1-02.HelloWeb

As seen on the second screenshot, the TMC test result is empty without any indication of progress I tried this submit functionality on the first excercise -> it worked smoothly -> could be a problem specific to this one (or im missing something here)

first second

cxcorp commented 7 years ago

Hi! If you take a look at the IntelliJ IDEA log file and search for fi.helsinki.cs.tmc, do you find any stack traces or such? If so, could you paste them here or to https://gist.github.com/, please?

IDEA -> Help -> Show Log in Explorer

1337tester commented 7 years ago

adding logs I tried to do the minimum to simulate the situation error_log_12_12_2016.txt threadDump-20161212-230853.txt

  1. turn on env
  2. switch to the excercise
  3. try to upload
  4. save logs
cxcorp commented 7 years ago

Hmm, the logs don't really reveal anything at all. After you click on Submit, can you see your submission on https://tmc.mooc.fi/org/mooc/courses/173 ?

cxcorp commented 7 years ago

Weird, submitting the second exercise works fine for me. The local tests just return success immediately, that's in the other issue though.

1337tester commented 7 years ago

No, no trace there, however good to know i can try manually -> which worked

I recorded the whole process (windows step recorder) submit_code_recording.zip

The issue is not important as i can submit the code manually, however the unknown reasons for it are puzzling

cxcorp commented 7 years ago

Found at least one issue that sounds like it could be this one: if the deadline has passed, the tmc core's submission fails with a 401 HTTP error. This throws an exception which is logged, but no message is shown to the user.

fi.helsinki.cs.tmc.core.exceptions.TmcCoreException: Failed to submit exercise
    at fi.helsinki.cs.tmc.core.commands.AbstractSubmissionCommand.submitToServer(AbstractSubmissionCommand.java:76)
    at fi.helsinki.cs.tmc.core.commands.Submit.call(Submit.java:55)
    at fi.helsinki.cs.tmc.core.commands.Submit.call(Submit.java:23)
    at fi.helsinki.cs.tmc.intellij.services.exercises.ExerciseUploadingService.getSubmissionResult(ExerciseUploadingService.java:110)
    at fi.helsinki.cs.tmc.intellij.services.exercises.ExerciseUploadingService.access$000(ExerciseUploadingService.java:25)
    at fi.helsinki.cs.tmc.intellij.services.exercises.ExerciseUploadingService$1.run(ExerciseUploadingService.java:86)
    at com.intellij.openapi.progress.impl.CoreProgressManager$3.run(CoreProgressManager.java:179)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:568)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:519)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:164)
    at fi.helsinki.cs.tmc.intellij.services.ThreadingService$1.run(ThreadingService.java:23)
    at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:309)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: fi.helsinki.cs.tmc.core.exceptions.FailedHttpResponseException: Response code: 401
    at fi.helsinki.cs.tmc.core.communication.http.HttpRequestExecutor.handleResponse(HttpRequestExecutor.java:163)
    at fi.helsinki.cs.tmc.core.communication.http.HttpRequestExecutor.executeRequest(HttpRequestExecutor.java:142)
    at fi.helsinki.cs.tmc.core.communication.http.HttpRequestExecutor.call(HttpRequestExecutor.java:84)
    at fi.helsinki.cs.tmc.core.communication.http.HttpTasks$2.call(HttpTasks.java:94)
    at fi.helsinki.cs.tmc.core.communication.http.HttpTasks$2.call(HttpTasks.java:91)
    at fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory$4.call(TmcServerCommunicationTaskFactory.java:201)
    at fi.helsinki.cs.tmc.core.communication.TmcServerCommunicationTaskFactory$4.call(TmcServerCommunicationTaskFactory.java:196)
    at fi.helsinki.cs.tmc.core.commands.AbstractSubmissionCommand.submitToServer(AbstractSubmissionCommand.java:67)
    ... 17 more
LofhJann commented 7 years ago

Found similar issue with my submission on mooc-2017-ohjelmointi. Seems that (at least one) culprit here is lacking response in case of false indentation. Uploading falsely indentated code in this course causes "Error while watiing for response from server" loop. Only via https://tmc.mooc.fi/org/mooc/courses/199 was I able to find culprit. Seems IntelliJ plugin could be lacking Indendation error message and throw error when server answer with "Indentation incorrect. Expected 8, but was 9.".

After fixing indentation code submitted normally. Seems 100% reproducable.