Well, this issue is fairly simple to describe. On windows, thread dumps are created automatically and placed into the logs folder. These are useful for troubleshooting bugs. However, on Linux, running Oracle 64-bit server java, these thread dump files are not created. Seeing as how many servers run on Linux, including my own, this is problematic for bug fixing since relevant info cannot be provided to troubleshoot bugs. (Such as when I reported chunk corruption and server crashes previously - The thread dumps are requested and I do not have them, of course because the server program is not creating them.)
Description
Details
- Task Type
- Bug
- Affected Gamemode(s)
- Serverside
- Reproducible
- uncertain
- Category
- none/unspecified
- OS-Specific
- Linux Only
- Hardware-Specific
- No
- Video Card Vendor
- uncertain
Just run a server on Linux with Oracle java server version (64-bit) and you will see no thread dumps in the logs folder after running it for a while.
<replace this block with the file content, but do not remove the first and last line. Before using the paste function, mark the area from the opening angle bracket to the closing angle bracket>
<replace this block with the file content, but do not remove the first and last line. Before using the paste function, mark the area from the opening angle bracket to the closing angle bracket>
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
Event Timeline
This is not an issue we can fix.
It is a tribute to the way java is used on client computers and on server environments.
Those "hs_err_pid"-files are created when a native JVM crash occurs.
Not on any software related crash, like unhandled exceptions propagating to the main class.
"Softcrashes" from thread locks "Client has not sent any login information" are not catched by this either, and those are the only cases where a threaddump would help fixing problems on the starmade side.
OutOfMemory errors or stack errors usually result in an exception that is managed by the software and causing a proper exit/restart. Those do not cause threaddumps, not even on windows.
They only happen on driver related issues, like a video card locking up, or having an error causing the virtual machine to crash.
In those cases the threaddumps / hr_err_pid file gets created on linux and OSX too.
But they are unlikely to happen. (I think we had 2 or 3 of those on our testserver, while having a well into the 4 digit total crash count.)