ls1intum / Artemis

Artemis - Interactive Learning with Automated Feedback
https://docs.artemis.cit.tum.de
MIT License
506 stars 293 forks source link

everything goes kabooom if you add a binary in template/solution repository #6890

Closed rcastellotti closed 1 year ago

rcastellotti commented 1 year ago

Describe the bug

it is impossible to add a binary to a repository on bitbucket and then import the exercise in an exam. We (EIST team) changed the exercise so we don't have a binary on bitbucket but I think you should investigate this as we lost a lot of time trying to understand what was wrong.

MRE Exercise: https://artemis.ase.in.tum.de/course-management/265/programming-exercises/10839 Repository: https://bitbucket.ase.in.tum.de/projects/EIST23TESTMREBREAKS/repos/eist23testmrebreaks-exercise/browse

To Reproduce

.

Expected behavior

.

Screenshots

image

Which version of Artemis are you seeing the problem on?

6.3.3

What browsers are you seeing the problem on?

Chrome

Additional context

No response

Relevant log output

No response

Strohgelaender commented 1 year ago

Thanks for reporting this. I'm able to reproduce the issue, the exception message is: org.eclipse.jgit.api.errors.TransportException: Short read of block.

Seems like jgit is unable to push the binary file to the newly created repository. I'd assume that this is an issue on the side of JGit and not something we can fix in Artemis.

krusche commented 1 year ago

It seems this only happens for Bitbucket and not for Gitlab. Also for start exercise, it sometimes works in the 2nd or 3rd attempt. Therefore, we assume it's a timing issue

We currently investigate potential workarounds such as a short wait between repository creation and the first push operation from Artemis using JGit