'all backends are dead'
This error message may be displayed if your server has died or has been shut down. This usually happens for one of a few reasons:
- Your server has been detected as inactive for an extended period of time
- You have the IDE open in multiple tabs/windows/machines, and one goes inactive
- Your server has been shut down via the terminal
- Your server's main process has died
These issues will normally resolve themselves in around 5 minutes max, at which point you can launch the IDE again from within Mimir Classroom, but you can also contact us via the Intercom button on the bottom right of the page to get more assistance.
One thing to keep in mind is that there is a client side inactivity check on the IDE. If your tab is inactive too long, it will trigger an automatic save and shutdown. This is why you should not have your IDE open in multiple tabs or windows. If one tab or window goes inactive for long enough, it will send a request to the server to save and shut down. This can cause you to lose your work since the inactive tab's state will be saved, while the active tabs IDE will be shutdown without being able to save.
'Page not working' or 'No data sent'
This can happen if the main/init process of your server becomes paused. Usually it is because of misconfigured command line arguments to the
gdb application, such as:
gdb ./a.out 1 2 3
gdb interprets arguments after the executable name as additional arguments to gdb itself, not the program you are debugging. This is an issue in the above example, as gdb will then attach to process id 1 (which is the init process) and pause its execution, causing your IDE to lock up. Refreshing the page will normally result in an error message to the effect of 'No data sent' or 'Page not working'. The issue should resolve by itself within 5-15 minutes when your IDE is deemed inactive and stopped (at which point you can restart it from your project/course page). You can also contact us via the Intercom button in the bottom right to have someone from our team assist you in unlocking your IDE.
The correct way to use arguments with gdb looks like this:
# now, inside gdb, we can run with arguments
(gdb) r 1 2 3
gdb -ex=r --args ./a.out 1 2 3