FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.76k stars 406 forks source link

Server crashing on level generation #760

Closed ZealanL closed 6 years ago

ZealanL commented 6 years ago

This is a recurring problem I have where occasionally when my server starts a new round, it will hit an exception and crash.

Looking from the stacktrace, this seems to be due to Barotrauma.CaveGenerator.GeneratePolygons() creating invalid polygons, which causes FarseerPhysics to throw the exception.

Suspecting this could be due to me modifying the server, I set up a test vanilla server and played on it for a while, and encountered the same issue. I have to assume I am not the only one.

Screenshot of error message box popup upon starting a new round: code

Regalis11 commented 6 years ago

Isn't this just a debug assertion failing, not an actual crash? I'm not sure if this causes any actual issues in-game. It happens when the level generation algorithm happens to create a triangle with a very low surface area, but I haven't seen it cause any sort of problems during gameplay.

ZealanL commented 6 years ago

It stops the server from running until I restart it. If I hit ignore the popup persists.

Can I make this dialogue box not pop-up perhaps?

EDIT: This is the release build, not the debug build.

Regalis11 commented 6 years ago

I still haven't been able to reproduce this, and don't really understand how the debug assertions can even appear in a release build (the method should only work in debug builds). I wonder if it could have something to do with your compilation settings? Could you double-check that the DEBUG constant has not been defined in the project settings?