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

# Server crashing bug in 1.8.0alpha2

- Date: Tue, 26 Dec 1995 19:36:52 PST
- From:
- Content-Length: 1548
- Content-Type: text

    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!)

- Prev: Re: Request for LambdaMOO 1.8.0
- Next: Server Question...
- Index: MOO-cows
- Thread: MOO-cows

Home | Subject Index | Thread Index