ID:103269
 
Not a bug
This is due to a recursive procedure overflowing the stack memory. This can be resolved by using sleep() instead of recursive spawn() (see comment)
BYOND Version:479
Operating System:Linux
Web Browser:Firefox 3.6.10
Applies to:Dream Daemon
Status: Not a bug

This is not a bug. It may be an incorrect use of syntax or a limitation in the software. For further discussion on the matter, please consult the BYOND forums.
Descriptive Problem Summary:
When I start the server and everyone logs on Dream Daemon crashes Suddenly without leaving anything on the log about why it crashed. it happens within 2 hours each time.
Numbered Steps to Reproduce Problem:
Start up the game with the command:
/sbin/start-stop-daemon -d /home/iratu/Dragonball\ Shuurajou -p /home/iratu/Dragonball\ Shuurajou/Dragonball\ Shuurajou.pid -m -b -S -x /usr/local/byond/bin/DreamDaemon -- /home/iratu/Dragonball\ Shuurajou/Dragonball\ Shuurajou.dmb 6334 -safe -logself -quiet

Then wait and it'll go down without any warning.

Code Snippet (if applicable) to Reproduce Problem:


Expected Results:
The game to stay online without crashes
Actual Results:
The game Crashes.
Does the problem occur:
Every time? Or how often? Once within 2 hours.
In other games? Don't know.
In other user accounts? Yes.
On other computers? Can't test this because I only have one Debian Server.

When does the problem NOT occur?
It stays on when there are almost no players online.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
I have not tested this.
Workarounds:
N/A
Pass -core to the command line and provide a link to the resultant core file when it crashes. I might not be able to do much with that (in which case I'll have to schedule a debugging session with you), but it may provide a clue.
Ok, running with the -core command we'll see how long it takes this time...
Well, it actually took some time but it finally crashed,
http://www.dragonballshuurajou.us/core

Thats the Core Dump file.
Would it be possible to give me temporary access to the shell hosting this game? That would make it easier to debug this core file. Unfortunately every linux system is different.
Ok I will send you a pager with the login info?
Sure, or email to [email protected].
Ok, server has crashed once again.
I'm looking at it, but preliminary analysis is really confusing. It's not giving me any info and doesn't even appear to be crashing in our module. I may have to host your game from our machine to see if it crashes there. Let me know if that is OK.
Preliminary analysis shows this to be a recursive call that may be preventable from within the DM (we'd have to isolate the code for sure). However, it should be issuing a warning instead of crashing.

[edit] Informed that world.loop_checks=0, that is probably the issue.
Instead of doing:
tick()
spawn(delay) tick()

use
init() 
while(1)
tick()
sleep(delay)