MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
Server crashing bug in 1.8.0alpha2
I like the new error catching routines for MOO, but it looks
like there are still some bugs in them. Here's something I
stumbled upon while trying to put a `EXPR_H ! errs => result'
(what's the name for this?) inside a TRY statement:
;;try `1/0 ! E_RANGE => 3'; except v (ANY) return v; endtry
Dec 26 21:28:00: *** PANIC: Stack marker is not TYPE_CATCH!
Dec 26 21:28:00: #-1:Input to EVAL, line 2: server panic
Dec 26 21:28:00: ... called from built-in function eval()
Dec 26 21:28:00: ... called from #58:eval_cmd_string (this == #2), line 17
Dec 26 21:28:00: ... called from #58:eval*-d (this == #2), line 9
Dec 26 21:28:00: (End of traceback)
When the E_DIV error is not caught by `1/0 ! E_RANGE => 3', it
apparently is caught by the try statement, but the try statement
has no idea how to handle it... or something, like that. Strangely
enough,
;;try `1/0 ! E_DIV => raise(E_PERM)'; except v (ANY) return v; endtry
=> {E_PERM, "Permission denied", 0, {{#-1, "", #2, #-1, #2, 2}}}
Looks like a try statement can properly handle the 'result' part of
a `' statement (I need a name for that! :).
Also, has anyone noticed strange line numbers in tracebacks in 1.8.0a2?
I didn't bring it up before because I am running it on my OS/2 box,
and some of the errors there could be because it's on OS/2 instead of
*NIX. This error, however, I figured was not my fault, and
double-checked on a Solaris machine I have access to.
Waiting for 1.8.0 alpha 3 (or beta? :)...
Nate
(BTW, good job with the new server, Pavel!)
Home |
Subject Index |
Thread Index