Re: [MYSQL] Crash in parse_object after reading triggers for mobs

From: George Greer (greerga@circlemud.org)
Date: 11/10/01


On Sat, 10 Nov 2001, Artovil wrote:

>   while ((trigger_row = mysql_fetch_row(assigns)))  {
>     /*
>      * Something goes wrong here when it assigns the trigger to the mob,
>      * the mud SIGSEGV's on parse_object at db.c:1637
>      * #0  parse_object (object_row=0x823d7b8, extradescs=0x8260c28,
>affects=0x81c7cb8, vnum=106) at db.c:1637
[...]
>     dg_read_trigger(trigger_row, &mob_proto[i], MOB_TRIGGER);

Can you confirm 'i' is accurate?

Try adding '-lefence' to LIBS in Makefile as well.  Then run CircleMUD
again.  With luck, it'll crash where the problem is instead of the
symptom.  If that doesn't work, try:

  EF_PROTECT_BELOW=1 bin/circle -c

>I had a backtrace in my comments there...  If I just comment out the line
>with dg_read_trigger, it works just fine.  It passes the row instead of a
>file, and this works fine elsewhere, so I suppose it is something else,
>since I have it set up like a lot of other functions that work.

The other fun part about memory corruption is that you could have the
problem elsewhere that your trigger function just amplifies to cause a
crash in parse_object().

--
George Greer
greerga@circlemud.org

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



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