Ticks not updated, knowing why.

From: Rasmus 'Con' Ronlev (raro94ab@hp4.econ.cbs.dk)
Date: 07/08/96


I beleave this question might be for the more experienced coders and 
gurus on this list, so don't bother to read the message if you're very 
new to this implementor thing (unless you're allso having 'trouble' with 
'ticks not updated'). So much for the warning *grin*

Anyway, I'm slightly satisfied that it seems, as if I got the most 'crash 
bugs' out of the mud I code on, unfortunately I'n receiving those damn 
"TICKS NOT UPDATED" automatic shutdown things now. It's my understanding 
that all causes to such a 'bug' should not exist in the straight 
circlemud code (the mud is based on bpl8). The mud has been pretty 
heavily modified though, and thus the most probable cause for this 'tick 
error' would be some part of the code that I've added.
In the proccess of debugging the mud I used some of the GDB scrips that 
were strewn arround here lately, and made a few modifications to the 
interpreter.c, so that I get the LAST executed command, the room in which 
is was executed, the arguments, and the players name. All this functions 
nicely, but ermm.. It's helped me to debug the few real 'crashbugs' which 
were difficult to find in anything but constant play, but now I'm faced 
with the reality, that I can't figure out whats wrong.. *sulk*

All I get is ticks not updated errors on the commands quit and kill.
I might've found the cause of the kill stuff, as there was a level 0 mob 
on the mud, it's fixed now, but it's yet to be seen if it works :)
On the quit command however, I'm totaly left out in the bare. It's not 
happening the first time someone quits, just 'sometime' when the mud 
feels like it.. 

This is what I get from GDB (combined output from gdb and the syslog).

Sun Jul  7 10:47:30 :: Brightstar has quit the game.
Sun Jul  7 10:47:31 :: Losing player: Brightstar.
Sun Jul  7 10:51:49 :: SYSERR: CHECKPOINT shutdown: tics not updated

Program received signal SIGABRT, Aborted.
0x40018875 in __kill ()
(gdb) #0  0x40018875 in __kill ()
#1  0x40043eb9 in gsignal ()
#2  0xbfffc62c in __ypbindlist ()
#3  0x6f6d6564 in __ypbindlist ()
Cannot access memory at address 0x20656854.
(gdb) No symbol "c" in current context.
(gdb) No symbol "ch" in current context.
(gdb) No symbol "vict" in current context.
(gdb) No symbol "victim" in current context.
(gdb) $1 = "Brightstar\000\000\000\000\000\000\000\000\000\000"
(gdb) $2 = "quit", '\000' <repeats 252 times>
(gdb) $3 = '\000' <repeats 256 times>


$1 is the name of the player, $2 is the command (QUIT! :P) and $3 the 
argument(s) if any.

In this case the mud had an uptime of a few hours.

Any help and/or sugestions how to track down such 'tick bugs' is 


     Rasmus Rønlev DOEK'94      WWW: http://www.econ.cbs.dk/people/raro94ab  
     Student instructor         MUD: exiled.mud.circlemud.org 5000
       Student, B.Sc in Computer Science and Business Administration. 

This archive was generated by hypermail 2b30 : 12/07/00 PST