MOO-cows Mailing List Archive

[Prev][Next][Index][Thread]

another panic with 1.7.9p1




MediaMOO panic'd again this morning.  I'm running 1.7.9p1 on a 
Sun SPARCstation ipc running SunOS Release 4.1.4 (GENERIC) #2.
I enabled the outbound network connection and command logging options.

Looks like the panic was in the following match expression:
m = match((verb + " ") + argstr, "%(%++?%)%([^ ]*%) *%(.*%)$");
Where verb is "+swb" and argstr is "waves. "Morning""

Here's the output from the log file:

Oct 23 09:10:55: *** PANIC: Caught signal 10
Oct 23 09:10:55: *** COMMAND HISTORY:
[ordinary looking stuff deleted]
Oct 23 09:10:54: #10560: +swb waves. "Morning"
Oct 23 09:10:55: #9340:+* (this == #10560), line 6:  server panic
Oct 23 09:10:55: (End of traceback)
Oct 23 09:10:55: PANIC-DUMPING on MediaMOO.db.new.PANIC ...
Oct 23 09:17:23: PANIC-DUMPING on MediaMOO.db.new.PANIC finished

Here's some info from the core file:
(dbx) where
warning: core file read error: address not in data space
kill() at 0xf775f040
abort_server(), line 117 in "code/MOO-1.7.9p1/server.c"
panic(), line 145 in "code/MOO-1.7.9p1/server.c"
panic_signal(), line 154 in "code/MOO-1.7.9p1/server.c"
_sigtramp() at 0xf7732c4c
rx_handle_cache_miss(), line 4051 in "code/MOO-1.7.9p1/rx.c"
rx_cache_malloc_or_get(), line 3128 in "code/MOO-1.7.9p1/rx.c"
superset_allocator(), line 3194 in "code/MOO-1.7.9p1/rx.c"
rx_hash_store(), line 1007 in "code/MOO-1.7.9p1/rx.c"
rx_superset_cons(), line 3397 in "code/MOO-1.7.9p1/rx.c"
rx_superstate_eclosure_union(), line 3428 in "code/MOO-1.7.9p1/rx.c"
solve_destination(), line 3730 in "code/MOO-1.7.9p1/rx.c"
rx_handle_cache_miss(), line 4051 in "code/MOO-1.7.9p1/rx.c"
re_search_2(rxb = 0x41f9c, string1 = (nil), size1 = 0, size2 = 21, startpos = 0,
 range = 45736072, regs = 0x43cf8, stop = 21), line 7925 in "code/MOO-1.7.9p1/rx
.c"
re_search(), line 8070 in "code/MOO-1.7.9p1/rx.c"
do_match(), line 794 in "code/MOO-1.7.9p1/list.c"
bf_match(), line 846 in "code/MOO-1.7.9p1/list.c"
call_bi_func(), line 224 in "code/MOO-1.7.9p1/functions.c"
run(result = (nil)), line 1134 in "code/MOO-1.7.9p1/execute.c"
do_task(), line 1295 in "code/MOO-1.7.9p1/execute.c"
do_input_task(), line 1412 in "code/MOO-1.7.9p1/execute.c"
do_command_task(), line 498 in "code/MOO-1.7.9p1/tasks.c"
run_ready_tasks(), line 882 in "code/MOO-1.7.9p1/tasks.c"
main_loop(), line 337 in "code/MOO-1.7.9p1/server.c"
main(), line 1002 in "code/MOO-1.7.9p1/server.c"
(dbx)

Here's the complete listing of that verb:

#9340:1
"Remote-Emote           Page: +<player> [<message>]";
"                    Respond: + <message>";
"Use a ++ instead of + to effect a no-space emote (such as ::).";
"Remote-Emote responds to the player last contacted with \"'\" or \"+\".";
"Original remote-emote code from Quinn and others on LambdaMOO.";
m = match((verb + " ") + argstr, "%(%++?%)%([^ ]*%) *%(.*%)$");
if (!(string = substitute("%2", m)))
who = this.last_player_paged;
else
who = $string_utils:match_player(string);
if ($command_utils:player_match_failed(who, string))
return;
endif
this.last_player_paged = who;
endif
if (!(who in connected_players()))
player:tell(who:page_absent_msg());
return;
endif
who:tell("(from ", player.location:title(), ") ", player.name, (substitute("%1"
m) == "++") ? "" | " ", substitute("%3", m));
player:tell(who.name, " has received your emote.");
.

-- Amy


Follow-Ups:

Home | Subject Index | Thread Index