This is meant to be a guide / checklist for the (hopefully rare) occasion if Cuberite crashes on your computer. It is Windows-specific, Linux version is available here.
If Cuberite crashes on you, please take the time to do as much from this guide as possible - this will enable us developers to fix the issue as soon as possible for you.
Start by creating an empty folder (issue folder), where you'll be saving various files to include with the report.
The log
The log contains bits of the server's history that can come in handy for hunting a bug. It can show the number of players connected, the actions they were doing, helper objects that Cuberite created in memory for them etc.
Cuberite creates the log file in the "logs" subfolder of the folder it is run from, the file is called "LOG_<numbers>.txt". The highest numbers are the latest log. Move that file to your issue-folder.
The crashdump
When the Windows version of Cuberite crashes, it creates a "crashdump" file, which is basically a snapshot of the program state at the time of the crash. This file is extremely helpful for developers to track down the crash.
Cuberite creates the crashdump file in the folder it is run from, and the file is called "crash_mcs_<randomletters>.dmp". Move that file to your issue-folder.
Detailed crashdump
By default the crashdump file contains only the very basic information about the crash. More detailed information can be produced, at the cost of being quite large (tens of megabytes). The nightbuild package contains two "launchers" exactly for that purpose, "Cuberite_medium_detail_debug.cmd" and "Cuberite_high_detail_debug.cmd". If you encounter crashes more often, you're advised to use one of these launchers instead of the main Cuberite.exe file, as that will provide more information about the crash.
Reproduce
Can you make Cuberite crash the same way? Is the crash specific to an action a player was doing (e. g. opening a chest that another player already opened)? Restart the server and try to re-do the few last steps you did when the server crashed. If it crashes again, don't forget to store the crashdump and logfile! If possible, make a subfolder in your issue-folder so that the developer can pair the log file to the crashdump file). It might be beneficial to try reproduce with the detailed crashdump launchers, as described above.
Deadlocked server
If the server doesn't crash, but instead appears to have deadlocked, there is a way to report that as well. You will have to generate the (crash)dump manually, though. Download the program TaskInfo from http://www.iarsn.com (it is free for personal use), install it and run it. It will display the list of running processes. Right-click Cuberite and from the popup menu, select "Create dump". Save the dump file to your report folder.
Get latest development version
Make a copy of your entire Cuberite folder. Download the newest development version of Cuberite from the nightbuild web ( https://builds.cuberite.org ) and extract it into the copy, and try running it. Can you still reproduce the crash? Store the crashdump file and the log file.
Plugins
If you're using any plugins besides the standard Core, try disabling them (temporarily, in the settings.ini file). Does that fix the problem? If a plugin is the source of the problem, you might want to report that to the plugin's author as well. If you report such a crash to Cuberite developers, a list of used plugins is a bare minimum; you cannot go wrong if you actually copy the plugins into the issue-folder, as Cuberite developers may not have the plugins or have different versions.
Settings
Chances are that the devs are using different server settings and therefore unable to reproduce the bug. Copy your settings.ini and possibly world.ini to the issue folder, so that the developers can test with your exact setup.
Report the crash
Zip up your issue folder and upload it to a web hosting service, such as mediafire. Create a new post in the issue tracker (https://github.com/cuberite/cuberite/issues) and put a link to the zip file in it, together with description. Consider providing as much information as possible. Posts "It crashed" won't help much, posts "Rev 4f1a5 crashed when two players opened the same chest" will be much better. Things you might want to include in the post:
- version of Cuberite used (GIT revision)
- OS version (XP / Vista / 7) and bitness (32-bit / 64-bit)
- location of your Cuberite folder (program files / desktop / ...)
- number of players on the server
- the steps you've taken in reproducing / testing
Provide more information upon request
The developer may need some additional information from you. They will reply to your bug report, so read the replies.
Be ready to re-test
Eventually, a developer will try to fix your crash. When we do, we'll ask you to re-test the newest dev version.
Additional notes
* Crashdumps are only useful if the developer has debug files for that version. That is true for all the builds downloaded at the regular nightbuild page. If you built Cuberite from sources yourself, you can still provide us with the necessary files for debugging - they are all the ".pdb" files lying around after compilation, and the resulting .exe file - zip them up and attach as well. If you have no idea what I'm talking about, just stick to the official nightbuilds
* If you don't believe in your english skills, try anyway, post both English and your native language description. Cuberite developers are from all around the world and might be able to understand your native language better than a google-translated English
I will update this guide with new information when necessary. Feel free to comment on it
If Cuberite crashes on you, please take the time to do as much from this guide as possible - this will enable us developers to fix the issue as soon as possible for you.
Start by creating an empty folder (issue folder), where you'll be saving various files to include with the report.
The log
The log contains bits of the server's history that can come in handy for hunting a bug. It can show the number of players connected, the actions they were doing, helper objects that Cuberite created in memory for them etc.
Cuberite creates the log file in the "logs" subfolder of the folder it is run from, the file is called "LOG_<numbers>.txt". The highest numbers are the latest log. Move that file to your issue-folder.
The crashdump
When the Windows version of Cuberite crashes, it creates a "crashdump" file, which is basically a snapshot of the program state at the time of the crash. This file is extremely helpful for developers to track down the crash.
Cuberite creates the crashdump file in the folder it is run from, and the file is called "crash_mcs_<randomletters>.dmp". Move that file to your issue-folder.
Detailed crashdump
By default the crashdump file contains only the very basic information about the crash. More detailed information can be produced, at the cost of being quite large (tens of megabytes). The nightbuild package contains two "launchers" exactly for that purpose, "Cuberite_medium_detail_debug.cmd" and "Cuberite_high_detail_debug.cmd". If you encounter crashes more often, you're advised to use one of these launchers instead of the main Cuberite.exe file, as that will provide more information about the crash.
Reproduce
Can you make Cuberite crash the same way? Is the crash specific to an action a player was doing (e. g. opening a chest that another player already opened)? Restart the server and try to re-do the few last steps you did when the server crashed. If it crashes again, don't forget to store the crashdump and logfile! If possible, make a subfolder in your issue-folder so that the developer can pair the log file to the crashdump file). It might be beneficial to try reproduce with the detailed crashdump launchers, as described above.
Deadlocked server
If the server doesn't crash, but instead appears to have deadlocked, there is a way to report that as well. You will have to generate the (crash)dump manually, though. Download the program TaskInfo from http://www.iarsn.com (it is free for personal use), install it and run it. It will display the list of running processes. Right-click Cuberite and from the popup menu, select "Create dump". Save the dump file to your report folder.
Get latest development version
Make a copy of your entire Cuberite folder. Download the newest development version of Cuberite from the nightbuild web ( https://builds.cuberite.org ) and extract it into the copy, and try running it. Can you still reproduce the crash? Store the crashdump file and the log file.
Plugins
If you're using any plugins besides the standard Core, try disabling them (temporarily, in the settings.ini file). Does that fix the problem? If a plugin is the source of the problem, you might want to report that to the plugin's author as well. If you report such a crash to Cuberite developers, a list of used plugins is a bare minimum; you cannot go wrong if you actually copy the plugins into the issue-folder, as Cuberite developers may not have the plugins or have different versions.
Settings
Chances are that the devs are using different server settings and therefore unable to reproduce the bug. Copy your settings.ini and possibly world.ini to the issue folder, so that the developers can test with your exact setup.
Report the crash
Zip up your issue folder and upload it to a web hosting service, such as mediafire. Create a new post in the issue tracker (https://github.com/cuberite/cuberite/issues) and put a link to the zip file in it, together with description. Consider providing as much information as possible. Posts "It crashed" won't help much, posts "Rev 4f1a5 crashed when two players opened the same chest" will be much better. Things you might want to include in the post:
- version of Cuberite used (GIT revision)
- OS version (XP / Vista / 7) and bitness (32-bit / 64-bit)
- location of your Cuberite folder (program files / desktop / ...)
- number of players on the server
- the steps you've taken in reproducing / testing
Provide more information upon request
The developer may need some additional information from you. They will reply to your bug report, so read the replies.
Be ready to re-test
Eventually, a developer will try to fix your crash. When we do, we'll ask you to re-test the newest dev version.
Additional notes
* Crashdumps are only useful if the developer has debug files for that version. That is true for all the builds downloaded at the regular nightbuild page. If you built Cuberite from sources yourself, you can still provide us with the necessary files for debugging - they are all the ".pdb" files lying around after compilation, and the resulting .exe file - zip them up and attach as well. If you have no idea what I'm talking about, just stick to the official nightbuilds
* If you don't believe in your english skills, try anyway, post both English and your native language description. Cuberite developers are from all around the world and might be able to understand your native language better than a google-translated English
I will update this guide with new information when necessary. Feel free to comment on it