Starting with the 2.2.3 Windows IDE release of GameMaker, we have a new crash-reporting system which is designed to take any hassle for you out of submitting a crash report to us.
This new tool will (if you allow it) collect all the required log files we need, grab a copy of GameMaker's memory usage so we can analyse this and see the crash, and also allow you to type in info about what was happening at the time of the crash if you wish. Then you can send all of this to us with one click - no having to report it as a bug in the IDE and attach files to the form there!
This system does not apply to the Mac IDE - it's Windows only.
Update if you haven't already
It's worth saying that before you even submit a report, you should confirm that you are on the latest version of GameMaker, as whatever your issue is may have already been fixed and so updating your install might allow you to use GameMaker straight away. (Updating is also the first thing our Helpdesk teams will ask you to do, should you send us a ticket.)
The new dialog
So, this error screen is now gone:
And instead you get this one:
NOTE: The dialog uses your GameMaker language setting if it can, but will always use English if the crash happens too early in the startup sequence.
As you can see, this dialog tells you there was an error from which GameMaker could not recover, then advises we'd love you to send back a report about the issue if you're happy to do this.
Entering text is entirely optional, but we would greatly appreciate it if you could tell us what steps you had performed in GameMaker shortly before the crash happened and also the names of any protection software running on your machine at the time. If you're on a school/company machine which has restricted file/folder permissions, then it might be useful if you could mention this also. You don't need to give us system specs or GameMaker version numbers, as this will be collected automatically (more on this later).
The dialog links to our privacy and cookie policies, so you can visit these pages direct from the error dialog if you wish. Similarly, the contact information for if you have a data request is shown and you can click this to launch your email client and send us a mail if you need to.
The "To see what data this report contains" link is probably what brought you to this page you're reading right now.
If you click Send...
The crash tool will gather the info we require, zip it up, and then send it to us. This process typically takes less than a minute (depending on your PC specs and internet connection speed), during which time GameMaker will close and you may see a couple of cmd windows quickly open and close also. After a short delay, you should then see a little confirmation dialog saying that we received your crash report successfully.
If you do not have internet at this time, or your connection keeps failing during the upload, then GameMaker will store the crash zip in your %programdata%\GameMakerStudio2\Uploads folder and attempt to upload it in the background the next time you start GameMaker successfully.
If you are totally unable to start GameMaker and you also have internet issues, then you can always later on "force" sending the report(s) to us at a time you know your internet connection is okay by running the new MiniDumpUploader.exe program you can find in your GameMaker installation folder. Again, this will just show a cmd window while the upload happens, then close itself and you should then see a confirmation that we received your crash report.
If you click Don't Send...
The crash-reporting dialogue and GameMaker are closed. That's all.
So what actually gets sent?
A zip file, typically around 5MB, containing the following:
- A DXDiag report as a text file
- A "mini dump" of GameMaker's memory in RAM at the time of the crash (not human-readable)
- A very small text file containing your GameMaker IDE and runtime version numbers, plus the version number of the privacy terms shown on the crash dialog
- Your ui.log file (the old ui_crash.log file we used to ask for is not created now we have this new tool)
- Your um.json user licensing/session information file
- Your IP address
- And, of course, a text file containing the text you typed into the dialog
As mentioned above, if you would like to see this zip and confirm exactly what is being sent on your machine, simply disconnect your internet momentarily when you see the crash dialog, type in whatever text you wish to send us, click Send, then check %programdata%\GameMakerStudio2\Uploads to find the zip. You can then view the contents of the archive using your chosen zip manager tool. Turn your internet back on, attempt to start GameMaker, and the zip should be sent to us.
If you are unhappy with the zip and no longer want to send it to us, just delete it - please don't edit the contents of the zip and then still send the report to us!
Why do YoYo collect this info now? What will we do with it?
Well, rather than requiring you to create a Helpdesk ticket and us have a back-and-forth asking you to attach files, etc., this new system makes things far quicker and easier for everyone, as now it's simplified to only one click for you and yet we know all the info we require is sent that first time.
The memory dump is a new tool for us, and we can now analyse the crash logs and the memory usage and get a far more accurate picture of what happened to cause the crash than the ui.log could ever really give us. It also captures issues which we would not be able to log because GameMaker couldn't get that far into startup, etc. Having the memory dump should allow us to fix each issue far more quickly also.
We also now collate the crash reports, which saves us a tremendous amount of time each day responding to lots of tickets about the same crash with identical responses, but this also allows us to easily watch and confirm that an issue doesn't get any further reports sent in when we have put out a fixed version, which is a further time-saver for us.
Once we have a solid idea about a new crash report appearing, we can then add it to our bug database with the correct info and then expose this issue on the bug-reporting page for IDE issues so everyone can see it before they send in a ticket:
(The bug we create from your crash would appear in the table highlighted in green.)
What can I do right now if GameMaker won't start at all?
If you're getting this dialog often/constantly, then please see the following guides, and if none of these fix your issue, please do still send us a Helpdesk ticket with as much info as you can give (just ensure you have sent us at least one crash report first):
First of all, confirm your machine does actually meet the system requirements to run GameMaker . If it doesn't, then whilst we may be able to stop the crash dialog from appearing, GameMaker still isn't going to work for you.
Then, try using the software renderer in order to confirm your GPU driver is okay or not.2.2.3 already has several fixes for applying this system automatically if it detects it's required, but it's always worth confirming.
If that still fails, try running Windows' own repair tool "SFC" to confirm Windows and .NET functionality is not corrupted in some way.
Also, ensure that there are no file permissions/antivirus/anti-malware/firewall problems by following this guide to GameMaker's required folders and URLs.
There are a number of issues beyond our ability to actually workaround (like hardware driver problems, antivirus clients blocking files, or file-permission issues) and so be aware that our "fix" for a subsequent release may only be to make GameMaker show an informative error message and then gracefully close, so you may always have to follow the advice in these guides in order to make your own machine support GameMaker.
How do I send a "full dump" report?
The crash-reporting tool has support for sending us a full memory dump so we can capture even more info about stubborn issues. This isn't something we would recommend you send unless we ask you to do so, but if you have a 100% startup crash issue then we would suggest sending us one of these.
Please note that this upload takes a lot longer to generate the zip file and upload it to us - the .zip file jumps from about 5MB to approximately 70MB, so users with low upload speeds should be aware of this size difference. Also, unless you have a very fast upload speed, even though your zip should reach us just fine you're unlikely to see the little confirmation dialog at the end.
This larger zip will have an additional file containing some debug information relevant to the specific version of GameMaker you're using, so we can decode the crash dump properly on our end using just the info in the .zip.
GameMaker will still close itself after a short delay, but the uploader process will still run until it has succeeded (or failed a few times), so "MiniDumpUploader.exe" will be visible in Task Manager for a little while after GameMaker was closed.
To enable this system, you need to right-click your GameMaker shortcut and choose its Properties, to modify the Target value to include an extra flag to the application. (Note the space in between the " and the - )
"C:\Program Files\GMS2\GameMakerStudio.exe" --minidump=full
As shown here:
OK that change, then use this shortcut to launch GameMaker and recreate the crash (your change only applies to starting up via this one shortcut, not to all methods of launching GameMaker on your PC).
What about "GameMaker has gone unstable" messages?
We aim to make these errors use the same crash-reporting tool in a future release, but for just now, if you see one of these errors please continue to report it as a bug in the IDE and upload your ui.log as requested by the form.
Be aware whilst GameMaker is generally able to continue when you get one of these messages, we would recommend you save your project and then restart GameMaker, otherwise further errors can occur.
The new crash-reporting tool replaces the old error message which asked you to file a ticket. It does this in a one-click fashion, simplifying the process for you and ensuring we get all the info we need in the report. We can then use this better information to much more quickly fix the issue and also confirm that when we say something is fixed it is actually fixed on all our user's machines.
Which should all mean far more stable releases going forward and fewer issues for you, our much-appreciated users.