MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
Re: PANIC on renumber()
I also had a server panic under 1.8.0 alpha 4 in some code using eval (actually using $code_utils:eval_d).
Jan 9 13:15:28: *** PANIC: Caught signal 11
Jan 9 13:15:28: #60:eval_d, line 7: server panic
Jan 9 13:15:28: ... called from #83:_include_filter (this == #109), line 30
Jan 9 13:15:28: ... called from #-1:Input to EVAL, line 3
Jan 9 13:15:28: ... called from built-in function eval()
Jan 9 13:15:28: ... called from #59:eval_cmd_string (this == #2), line 18
Jan 9 13:15:28: ... called from #59:eval*-d (this == #2), line 10
@list #60:eval_d
#60:"eval_d" any any any
1: ":eval_d(code...) => {compiled?,result}";
2: "This works exactly like the builtin eval() except that the code is
evaluated ";
3: "as if the d flag were unset.";
4: code = {"set_verb_code(this,\"1\",{\"\\\"Do not remove this verb! This is
an auxiliary verb for :eval_d().\\\";\"});", "dobj=iobj=this=#-1;",
"dobjstr=iobjstr=prepstr=argstr=verb=\"\";", tostr("caller=", caller, ";"),
"set_task_perms(caller_perms());", @args};
5: if (!caller_perms().programmer)
6: return E_PERM;
7: elseif (svc = set_verb_code(this, "1", code))
8: lines = {};
9: for line in (svc)
10: if (index(line, "Line ") == 1 && (n = tonum(line[6..(colon =
index(line + ":", ":")) - 1])))
11: lines = {@lines, tostr("Line ", n - 5, line[colon..length(line)])};
12: else
13: lines = {@lines, line};
14: endif
15: endfor
16: return {0, lines};
17: else
18: set_task_perms(caller_perms());
19: return {1, this:("1")()};
20: endif
The problem was reproducible (restarting the server and typing the same command line panicked again). I should have kept the code calling this for reference, but did not. If I see the problem again I'll do some more serious testing to isolate the problem with the simplest possible verb.
References:
Home |
Subject Index |
Thread Index