On Thu, 21 Jan 1999, Will Andrews wrote: >Cannot access memory at address 0x200a9080. >#0 0x201175d1 in ?? () >(gdb) bt >#0 0x201175d1 in ?? () >#1 0x20116e34 in ?? () >#2 0x48c3 in nonblock (s=26) at comm.c:1812 Strange, that's only called during socket setup. >#3 0xefbfdfdc in ?? () Looks thoroughly mangled. >#4 0x87e4f in update_ferry () at ferry.c:137 >#5 0x29e5 in heartbeat (pulse=33600) at comm.c:826 >#6 0x28cd in game_loop (mother_desc=3) at comm.c:715 >#7 0x1c04 in init_game (port=4000) at comm.c:274 >#8 0x1a50 in main (argc=3, argv=0xefbfdd54) at comm.c:244 Not Linux or I could tell where you were by pointer addresses. >ferry.c:135-138: >if(time_info.hours == ferrys[onferrynum].ferry_time_board_dock1) { > send_to_room(ferrys[onferrynum].board_dock_dock1, >real_room(ferrys[onferrynum].dock1_room)); > send_to_room(ferrys[onferrynum].board_ferry_dock1, >real_room(ferrys[onferrynum].ferry_at_dock_room)); >} [...] >This is where I get stumped. How can send_to_room possibly cause an >infinite loop? Could be real_room() getting confused on a corrupted world array. I'd add a counter to real_room(): real_room() { int counter=0; ... top of loop ... counter++; if (counter > 10000) { log(important_variables) abort(); } ... bottom of loop ... } -- George Greer - greerga@circlemud.org - http://www.circlemud.org/~greerga/ I have three jobs covering 6 days of the week, 17 credit hours on two campuses 30 minutes apart, and am trying to have a semblance of a life. Don't be suprised if I take week or more to answer anything directly mailed to me. +------------------------------------------------------------+ | 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 : 12/15/00 PST