I have patched in the big.patch and dgolcplus patch. After handpatching
in the board-2.2.patch, I get a strange crash, not so strange actually.
If I take a already made board from stock circle and edit it all is fine.
If I do oedit 1288 and set type to board, and goto valus and enter them in
the minlev to read/write/remove works fine after that I crash on
create_new_board. Yes I understand that obj is null that is caused by
trying to create an object with vnum of -1. What is called is
Board_save_board(GET_OBJ_VNUM(OLC_OBJ(d)));
The beginning of Board_save_board is defined as
int Board_save_board(int board_vnum)
{
extern struct board_info_type *board_info;
struct board_info_type *thisboard=board_info;
struct board_msg_info *message;
struct board_memory_type *memboard;
struct obj_data *obj;
FILE *fl;
int i= 1, counter = 0;
while(thisboard) {
if (BOARD_VNUM(thisboard) == board_vnum)
break;
thisboard=BOARD_NEXT(thisboard);
}
if(!thisboard) {
thisboard=create_new_board(board_vnum);
}
after it tries to create the obj with vnum -1 in the etc/boards directory
it creates the file -1, neither linux nor circlemud likes to try an deal
with that either
I get SYSERR: Trying to create obj with a negative vnum.
Here's the output.
create_new_board (board_vnum=-1) at boards.c:72
72 READ_LVL(temp_board)=GET_OBJ_VAL(obj, 0);
(gdb) info locals
board_vnum = -1
bmsg = (struct board_msg_info *) 0x0
t_messages = 0
error = 0
t = {137016904, 137029616, -1073745216, 49}
mnum = 0
poster = 0
timestamp = 0
sflag = -1
buf = "etc/boards/-1\000\000\000\031d\031\031\031\031\031\000d\000d\000ô\001ô\001R\000R\000d", '\000' <repeats 11 times>, "ÀÏj", '\000' <repeats 125 times>, "í9\003@\230\t\n@\000\000\000\004àê\f\fàê\f\b\by\a@|ñÿ¿àê\f\bàê\f\f\000\000\000\000\230\t\n0|ñÿ¿Ò\
t\004@|ñÿ¿à¦\013\b\220òÿ¿|ñÿ¿àê\f\bÿÿÿÿàê\f\b|ñÿ¿\000\000\000\000\230\t\n@H¶*\bðç*\b¬òÿ¿\001\000ûàê\f\bàê\f\bàê\f\bàê\f\b@ì\f\bàê\f\fàê\f\bàê\f\f"...
fl = (_IO_FILE *) 0x82aeca0
temp_board = (struct board_info_type *) 0x82aecf8
old_board = (struct board_info_type *) 0x82aecf8
obj = (struct obj_data *) 0x0
memboard = (struct board_memory_type *) 0xbffff064
(gdb) bt
#0 create_new_board (board_vnum=-1) at boards.c:72
#1 0x80652b2 in Board_save_board (board_vnum=-1) at boards.c:564
#2 0x808bad7 in oedit_disp_val4_menu (d=0x82ab648) at oedit.c:745
#3 0x808c870 in oedit_parse (d=0x82ab648, arg=0xbffffa64 "1") at oedit.c:1184
#4 0x8075c9b in nanny (d=0x82ab648, arg=0xbffffa64 "1") at interpreter.c:1268
#5 0x804a092 in game_loop (mother_desc=5) at comm.c:705
#6 0x80497c0 in init_game (port=4000) at comm.c:326
#7 0x8049739 in main (argc=1, argv=0xbffffdc8) at comm.c:288
#8 0x804947b in _start ()
(gdb) list
67 else {
68
69 obj = read_object(real_object(board_vnum), REAL);
70
71 CREATE(temp_board, struct board_info_type, 1);
72 READ_LVL(temp_board)=GET_OBJ_VAL(obj, 0);
73 WRITE_LVL(temp_board)=GET_OBJ_VAL(obj, 1);
74 REMOVE_LVL(temp_board)=GET_OBJ_VAL(obj, 2);
75 BOARD_VNUM(temp_board)=board_vnum;
76 BOARD_MNUM(temp_board)=0;
Chris Powell * I don't have bugs, I have * I don't crash, I
http://patch.gator.net * randomly developed features * have random reboots
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST