Help please?

From: AJ (
Date: 10/11/01

Running Circle30bpl19dgolc with a few minor additions, when I try to
enter the Dual wield patch and fix listed at the bottom of this message
it compiles fine (after adding in the 'NULL' in the obj_in_list_vis) but
I get a seg fault that returns all this through gdb. Now, somewhere in
the list I found a message (can't find it again to save my life sorry)
that said that a problem with the trg_proto line might be because the
pointer is returning NULL? Might that be what has happened here? Any
help is appreciated as this has me totally stumped.


(gdb) run
Starting program: /cygdrive/c/circle19/bin/circle.exe

Program received signal SIGSEGV, Segmentation fault.
0x004513e7 in assign_triggers (i=0xa1ac9c0, type=0) at

(gdb) bt
#0  0x004513e7 in assign_triggers (i=0xa1ac9c0, type=0) at dg_db_scripts.c:323
     switch (type)
    case MOB_TRIGGER:
      mob = (char_data *)i;
      trg_proto = mob->proto_script;
      while (trg_proto) {
        rnum = real_trigger(trg_proto->vnum);       <--line 323

#1  0x0044bda2 in read_mobile (nr=0, type=0) at db.c:1742
      CREATE(mob, struct char_data, 1);
  *mob = mob_proto[i];
  mob->next = character_list;
  character_list = mob;

  if (!mob->points.max_hit) {
    mob->points.max_hit = dice(mob->points.hit, mob->points.mana) +
  } else
    mob->points.max_hit = number(mob->points.hit, mob->points.mana);

  mob->points.hit = mob->points.max_hit;
  mob->points.mana = mob->points.max_mana;
  mob->points.move = mob->points.max_move;   <--line 1742

#2  0x0044c625 in reset_zone (zone=0) at db.c:1914
#3  0x00446d49 in boot_db () at db.c:373
#4  0x0043e815 in init_game (port=4000) at comm.c:353
#5  0x0043e6e7 in main (argc=1, argv=0xa011238) at comm.c:329
#6  0x6100401e in _libkernel32_a_iname ()
#7  0x6100421d in _libkernel32_a_iname ()
#8  0x6100425c in _libkernel32_a_iname ()
#9  0x004a816b in cygwin_crt0 () at

   | FAQ: |
   | Archives: |

This archive was generated by hypermail 2b30 : 12/06/01 PST