First of all, I'm running a modified Oasis OLC 2.0 on a bpl17. However, I have done nothing to change the shop code at all. I saw a post to the list in the archives that talked about someone using the same OLC and patch as I having it crash at the same point (after choosing Y to "save internally"). Up to the point where I set a break-point and stepped my way through, the error always showed up in a backtrace as being here: if(*tlist) free(*tlist); Here's the gdb stack trace from before I walked through the code: ------------------------------ chunk_free (ar_ptr=0xe80875ff, p=0x40134d68) at malloc.c:3049 3049 malloc.c: No such file or directory. (gdb) bt #0 chunk_free (ar_ptr=0xe80875ff, p=0x40134d68) at malloc.c:3049 #1 0x4009ffba in __libc_free (mem=0x40134d70) at malloc.c:3023 #2 0x807376c in copy_list (tlist=0x811541c, flist=0x81153f8) at genshp.c:76 #3 0x80736e9 in copy_shop (tshop=0x8115418, fshop=0x8115568) at genshp.c:50 #4 0x8073f76 in add_shop (nshp=0x8115568) at genshp.c:397 #5 0x8089fe4 in sedit_save_internally (d=0x8112b00) at sedit.c:48 #6 0x808a9ad in sedit_parse (d=0x8112b00, arg=0xbffff818 "y") at sedit.c:374 #7 0x807dcf5 in nanny (d=0x8112b00, arg=0xbffff818 "y") at interpreter.c:1412 #8 0x8066c50 in game_loop (mother_desc=5) at comm.c:733 #9 0x8066348 in init_game (port=1337) at comm.c:369 #10 0x80662c5 in main (argc=2, argv=0xbffffba4) at comm.c:333 (gdb) frame #0 chunk_free (ar_ptr=0xe80875ff, p=0x40134d68) at malloc.c:3049 3049 in malloc.c (gdb) frame 2 #2 0x807376c in copy_list (tlist=0x811541c, flist=0x81153f8) at genshp.c:76 76 free(*tlist); --------------------------------- However, this is what I got when I stepped: (You can tell from the prints I have that that was where I thought the problem was.) --------------------------------- Breakpoint 1, copy_list (tlist=0x8115468, flist=0x81156b0) at genshp.c:75 75 if (*tlist) (gdb) print *tlist $2 = (sh_int *) 0x0 (gdb) print tlist $3 = (sh_int **) 0x8115468 (gdb) step 81 for (i = 0; flist[i] != -1; i++); (gdb) step 82 num_items = i + 1; (gdb) step 87 CREATE(*tlist, sh_int, num_items); (gdb) step __libc_calloc (n=2, elem_size=2) at malloc.c:3663 3663 malloc.c: No such file or directory. (gdb) bt #0 __libc_calloc (n=2, elem_size=2) at malloc.c:3663 #1 0x80737b8 in copy_list (tlist=0x8115468, flist=0x81156b0) at genshp.c:87 #2 0x80736dd in copy_shop (tshop=0x8115428, fshop=0x8115480) at genshp.c:49 #3 0x8073f76 in add_shop (nshp=0x8115480) at genshp.c:397 #4 0x8089fe4 in sedit_save_internally (d=0x8112b00) at sedit.c:48 #5 0x808a9ad in sedit_parse (d=0x8112b00, arg=0xbffff818 "y") at sedit.c:374 #6 0x807dcf5 in nanny (d=0x8112b00, arg=0xbffff818 "y") at interpreter.c:1412 #7 0x8066c50 in game_loop (mother_desc=4) at comm.c:733 #8 0x8066348 in init_game (port=1337) at comm.c:369 #9 0x80662c5 in main (argc=2, argv=0xbffffba4) at comm.c:333 (gdb) frame 1 #1 0x80737b8 in copy_list (tlist=0x8115468, flist=0x81156b0) at genshp.c:87 87 CREATE(*tlist, sh_int, num_items); -------------------------- Anyone have any insights? -Praetor +------------------------------------------------------------+ | 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/11/01 PDT