-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rare crash when launching multiple clients #457
Comments
It appears from the call stack that a regular C++ exception is being thrown, so it should be possible to find out which one, and the associated message, using the Visual Studio debugger. The trick will be to reproduce the problem when running in the debugger. This page may help: It explains how to attach the debugger to a process even when it is launched by some other process. In Visual Studio, if you go to Debug -> Windows -> Exception Settings and check the box next to "C++ Exceptions", the debugger should stop as soon as such an exception is raised. From there, look in the "Locals" tab for an exception message (you may need to move up a few levels in the call stack). Better yet, if you can reproduce this in an isolated project that you can send to us, we can take look ourselves. |
So after much testing, we finally were able to make a proper debug version of the cesium package. As such, we where able to get a more complete stack trace:
Opening the offending file (SqliteCache.cpp), we find the following segment:
It would appear that if we get a status that isn't SQLITE_OK, we throw a runtime error. While this line might be fine in a native c++ environment, the effect of this seems to be that Unity simply commits die. |
Background
We're using Cesium to build a multiplayer system in Unity. As part of our testing protocol, we have multiple clients that will boot up and connect to a shared server.
Error
When our test script is executed, occasionally we will get the following stack trace:
This crash only seems to affect one of the clients we spawn in our testing script. The testing script is below:
This crash seems to happen when ever we launch two or more clients within about 5 seconds of each other. If we wait longer than that, the crash does not seem to ever occur.
Technical Details
Unity Version: 22.3.18f1
CesiumForUnity Version: 1.9.0
We could not replicate the crash in the CesiumForUnity sample project
Conclusion
This is a rather annoying, but likely low priority, crash in our testing pipeline. It appears to be caused by something in the C++ implementation of the code, though my C++ skills are not sufficient to determine what. If there is a simple workaround we can implement, that would help us out a lot! The full stack trace and memory dump are available on request.
The text was updated successfully, but these errors were encountered: