crossfire-cvs-admin at lists.sourceforge.net wrote: > Module Name: crossfire > Committed By: cavesomething > Date: Mon Oct 3 03:29:41 UTC 2005 > > Modified Files: > crossfire: ChangeLog > crossfire/common: item.c loader.l map.c > crossfire/doc/Developers: map-technical > crossfire/include: define.h libproto.h map.h sproto.h > crossfire/server: apply.c c_object.c shop.c skill_util.c > Added Files: > crossfire/doc/Developers: shops > > Log Message: > add support for specialised shops > > Mikee and I both discovered a segfault caused here: Saving map /scorn/shops/bowshop Program received signal SIGSEGV, Segmentation fault. print_shop_string (m=0xafffee20, output_string=0xafffee20 "") at map.c:710 710 for (i=0; i>items[0].index; i++) { (gdb) bt #0 print_shop_string (m=0xafffee20, output_string=0xafffee20 "") at map.c:710 #1 0x080d29d9 in new_save_map (m=0x888d1d8, flag=0) at map.c:1194 #2 0x080aab16 in swap_map (map=0x888d1d8) at swap.c:166 #3 0x080aabf2 in check_active_maps () at swap.c:194 #4 0x08085429 in main (argc=13, argv=0xafffee20) at main.c:1247 (gdb) print i $13 = 0 (gdb) print items[i] Cannot access memory at address 0x0 (gdb) print items $15 = (shopitems *) 0x0 (gdb) print m->shopitems $14 = (shopitems *) 0x2e3a72 (gdb) print *m->shopitems Cannot access memory at address 0x2e3a72 Looking at this, the issue is "items" being a null pointer. Also, from what I've found, it's something perticular about the bowshop that's causing it. Also, if this helps: (gdb) up #1 0x080d29d9 in new_save_map (m=0x888d1d8, flag=0) at map.c:1194 1194 print_shop_string(m, shop); (gdb) print m $19 = (mapstruct *) 0x888d1d8 (gdb) print shop $20 = "\000\000\000\000\000\000\000\004\000\000\000\000\210S\035\b(\uffff\uffff\b\000\000\000\000\004\000\000\000\uffff7\uffff\bK\001\000\000\000\000\000\000\210\uffff\uffff\uffff\uffffU\v\b\uffff\205\uffff\b", '\0' <repeats 19 times>, "\004\000\000\000\000\210S\035\b(\uffff\uffff\b\000\000\000\000\004\000\000\000\000{\uffff\bJ\001\000\000\000\000\000\000\uffff\uffff\uffff\uffff\uffffU\v\b\uffff7\uffff\b", '\0' <repeats 19 times>, "\004\000\000\000\000\210S\035\b(\uffff\uffff\b\000\000\000\000\004\000\000\000\220u\uffff\bI\001\000\000\000\000\000\000\b\uffff\uffff\uffff\uffffU\v\b\000{\uffff\b", '\0' <repeats 19 times>, "\004\000\000\000\000\210S\035\b(\uffff\uffff\b\000\000\000\000\004\000\000\000(\uffff\uffff\bH\001\000"... Alex Schultz