[java] random "Error occurred during initialization of VM"

Before first turn I randomly get (both in ide or ranking games)

“Standard error stream:
Code failed: nothing should be sent to the output before reaching the main entry point for your language.
Read: [Error occurred during initialization of VM]”

Is it platform issue or problem in my code?

One of replays - https://www.codingame.com/replay/402758342

2 Likes

Seems like a platform wide issue from the multiple similar reports.

Getting the error as well and in cases when it does not occur jvm performance seems spiky.

So should I report it to helpdesk@codingame.com or this message also reach support team?

we’re looking into it. Thank you for reporting the issue.

3 Likes

Did some googling. Looks like the JVM cannot reserve enough heap space for the maximum RAM you have set (450 MB). It also happens most often to any agent not in the first slot.

Edit: adding a static initializer made this come up:
Error occurred during initialization of VM
Cannot create VM thread. Out of system resources.

For those interested, here are the arguments passed to the JVM:
-Xms64m
-Xmx450m
-Xverify:none
-Djava.awt.headless=true
-ea

Yesterday we’ve restarted the app on all our servers but it didn’t solve the issue. This morning I’ve rebooted the servers and it seems better.
Can you tell me if you still encounter these errors? I’ll need the link to the replay to investigate.

1 Like

Seems fixed! I had 9 out of 10 games in the IDE with this error. Now I’m not seeing a single one in a 50 game test.

Thanks.

1 Like

Yep, all seems well

Thank you, the issue is gone.

So we have an issue with GDB in our codemachines. For some reason, it properly launches codes from players but somehow doesn’t always “close” them leaving zombies behind. The zombies are not a big issue but that’s how we realize that GDB processes are failing. And we’re not able to kill these GDB processes. Then, we run out of memory in the codemachines leading to these timeouts and we have to restart them.
We have deactivated GDB in multi (which allows us to have the stack trace when having a segfault error in C, C++ …) for the time being. We’re still investigating to find the root cause (possibly a specific player’s code) and possible solutions.
I’m sorry for the technical approximations, but hopefully you got the idea :sweat_smile:

4 Likes