I just wanted to make a quick comment on getting / not getting the message, because this can freak people out and it might help some of you to understand how you get that message.Tiamat wrote:If you don't get the message, the game threw an unhandled exception and blew up. It can happen in major and minor crashes. It just depends on what error it was. Generally, major crashes are caused by corrupted data or some coder being naughty before they properly tested their changes. Corrupted data happens easily in DIKU because of how haphazardly coded it is.RiderOnTheStorm wrote:Just curious, when the game supercrashes and stays down for more than a second, if you caused it, do you still get the
OMG! SOMETHING IN "<COMMAND YOU ENTERED>" BLEW UP THE GAME. STOP IT.
Or do those only show up on minor crashes? I always get worried when I'm in the middle of something and the game goes boom.
99% of the time, the RPI Engine crashes because of a Segmentation Fault, which means it tried to access memory that it shouldn't. When that happens, the operating system sends a "signal" (SIGNAL11) to the program saying "you did something you shouldn't have, and I'm afraid I'm going to have to ask you to shutdown now".
The RPI Engine has a few "stages" during its game loop, one of which is the one where it handles input from players. When it's doing that, it sets a variable to keep track of the last player whose input they were tracking.
Then, if the MUD receives SIGNAL11, it looks to see whether anyone was set as the last command enterer in the input loop. If so, it sends that message to the player that you see. Either way, it then writes a core dump, writes a message to the "crashes" newsboard, and shuts down.
If you don't see the message, it didn't crash during the execution of your commands. It might have crashed immediately before or immediately after, and that might've even been indirectly because of what you entered, but it didn't crash during it.
Even if you do see the message, it could be only coincidence that it happened then. I recall one time there was a command that would occasionally crash the MUD, it drove us mad. It turned out the problem was actually that some people's clans were being corrupted sometimes, and this command just happened to touch on clans, and so it was usually what "found" this corruption first.
If the RPI Engine was a person, you'd shoot it in the face, honestly. I am pretty sure it was designed by Cthulhu, specifically to drive people into his arms. So if you get the crash message, don't freak out. I'd say it's at least 90% likely it wasn't something wrong with that command, but rather that the command just happened to stumble across something that went wrong elsewhere.