Hello, I am currently converting my MUD to use mySQL instead of files to store data. A couple of days ago I put in the ASCII object patch (objsave.c) found on the Ceramic Mouse site. If this has something to do with my recent crashes I find hard to determine. This email might be a little long since I included a full backtrace and code snippets from affected files. If someone can help out off-list with this I would be extremely grateful. I am going to try to make a hand-patch file out of this when I am finished so that others can try MySQL as well, but I want things to work first. If I create an object in the MUD by a spell or such, and then drop this in room, the mud crashes upon the call to point_update(). Generally it takes up to about 10 minutes before it happens if I start the server and create the object right away and drop it. If I drop/load a prototyped object it works fine. This works on my other port where I am running a regular bpl19 *without* MySQL and ASCII objects (objsave.c). -------GDB output:---------------------------------------------------- Program received signal SIGSEGV, Segmentation fault. 0x80ca580 in point_update () at limits.c:450 450 for (j = object_list; j && j->next; j = next_thing) { (gdb) bt #0 0x80ca580 in point_update () at limits.c:450 #1 0x809195b in heartbeat (pulse=2400) at comm.c:979 #2 0x8091872 in game_loop (mother_desc=6) at comm.c:932 #3 0x8090f42 in init_game (port=9000) at comm.c:500 #4 0x8090b8f in main (argc=5, argv=0xbffff9c4) at comm.c:377 (gdb) bt full #0 0x80ca580 in point_update () at limits.c:450 i = (char_data *) 0x0 next_char = (char_data *) 0x0 j = (obj_data *) 0x6c616572 next_thing = (obj_data *) 0x6c616572 jj = (obj_data *) 0x8 next_thing2 = (obj_data *) 0x0 #1 0x809195b in heartbeat (pulse=2400) at comm.c:979 pulse = 2400 mins_since_crashsave = 0 #2 0x8091872 in game_loop (mother_desc=6) at comm.c:932 input_set = {fds_bits = {0 <repeats 32 times>}} output_set = {fds_bits = {256, 0 <repeats 31 times>}} exc_set = {fds_bits = {0 <repeats 32 times>}} null_set = {fds_bits = {0 <repeats 32 times>}} last_time = {tv_sec = 1003870933, tv_usec = 441781} opt_time = {tv_sec = 0, tv_usec = 100000} process_time = {tv_sec = 0, tv_usec = 3120} temp_time = {tv_sec = 0, tv_usec = 96880} before_sleep = {tv_sec = 1003870933, tv_usec = 344901} now = {tv_sec = 1003870933, tv_usec = 444877} timeout = {tv_sec = 0, tv_usec = 0} comm = "look\000parch\000e word\000\000\000\000\020\000\000\b\000\000\000°ØÕ;\000\000\000\000ø\215\213;\000\000\000\000è¨\n@0\222\027\bè \004@\b\000\000\000\000\220\000@\000\020\000\000è¨\n@C\025\004@0\222\027\b\000\220\000@\000\020\000\0000\222\027\bè¨\n@", '\000' <repeats 13 times>, "\t", '\000' <repeats 22 times>, " ", '\000' <repeats 122 times> d = (struct descriptor_data *) 0x0 next_d = (struct descriptor_data *) 0x0 pulse = 2400 missed_pulses = 0 maxdesc = 0 aliased = 0 #3 0x8090f42 in init_game (port=9000) at comm.c:500 port = 9000 #4 0x8090b8f in main (argc=5, argv=0xbffff9c4) at comm.c:377 argc = 5 pos = 4 dir = 0xbffffb18 "/home/a/arcanere/developer/lib" ----------------------------------------------------------------------- That was the output I received from doing a backtrace. If you need more data just let me know how to fetch it from the debugger. -----------limits.c(450)----------------------------------------------- for (j = object_list; j && j->next; j = next_thing) { next_thing = j->next; /* Next in object list */ -----------limits.c---------------------------------------------------- I have converted all world file reading to MySQL but for triggers and shops. Perhaps this error might have something to do with index_boot() in db.c, where it counts records, or perhaps it has something to do with parse_object that increments top_of_objt since it dies in a loop? To my knowledge I am counting my database rows in the same way as the rows in the files are counted, and the same thing goes for reading everything in. Please, if you have any useful information and help on this matter, do not hesitate to reply or contact me directly. :) Warm regards, Torgny -- +---------------------------------------------------------------+ | 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