*ugh* Backtracking..

From: The Merciless Lord of Everything (serces@mud.dk)
Date: 01/24/00


Hiya all..

I'm currently fighting a very weird random hitting bug. The problem arises
when someone tries to Redit a room, and *boom* the mud crashes with
coredump and everything.

Apparently it comes from DG_Scripts.c (Yes, I run with DG_Scripts :)

GDB tells me the following:
#0  0x80c306b in script_driver (go=0x4013bed8, trig=0x8241220, type=2,
mode=1)
    at dg/dg_scripts.c:2862
2862        if (!(sc = SCRIPT((struct room_data *) go))) {

a print of sc reveals:
(gdb) print sc
$3 = (struct script_data *) 0x0
(gdb) print *sc
$4 = {types = 83907072, trig_list = 0x200, global_vars = 0x3e803e8,
  purged = 69 'E', context = 8423, next = 0x20e7}

a Backtrack shows:

#0  0x80c306b in script_driver (go=0x4013bed8, trig=0x8241220, type=2,
mode=1)
    at dg/dg_scripts.c:2862
#1  0x80bd9c8 in trig_wait_event (info=0x8554ad0) at dg/dg_scripts.c:483
#2  0x80b9752 in process_events () at dg/dg_event.c:81
#3  0x804a5d8 in heartbeat (pulse=8059) at comm.c:759
#4  0x804a590 in game_loop (mother_desc=4) at comm.c:742
#5  0x8049a15 in init_game (port=4000) at comm.c:296
#6  0x80499a2 in main (argc=3, argv=0xbffffc84) at comm.c:263
#7  0x4005bcb3 in __libc_start_main (main=0x8049774 <main>, argc=3,
    argv=0xbffffc84, init=0x8048fb8 <_init>, fini=0x80c969c <_fini>,
    rtld_fini=0x4000a350 <_dl_fini>, stack_end=0xbffffc7c)
    at ../sysdeps/generic/libc-start.c:78

I *might* have an idea to where the problem is, but I'm not sure. As far
as I recall, when you edit a new room, it will be pushed in where it is
supposed to be, ie something like this:

Let's say we have room rooms Above zone 45, but nothing below, so the
first room is called VNUM(4500) but it's RNUM is (0), now I edit roomno
3300 and save, VNUM(3300) and RNUM(0) now, everything is pushed up one
nudge.

I recall some discussion about this at some point, but cannot locate
anything about it in the mailarchives, nor do I remember the outcome.

Any Ideas??

/S


"The Law of Self Sacrifice"
When you starve with a tiger, the tiger starves last.


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/10/01 PDT