Type | Bug | Status | tested | Date | 29-Jun-2009 13:39 |
---|---|---|---|---|---|
Version | alpha 64 | Category | n/a | Submitted by | meijeru |
Platform | All | Severity | crash | Priority | high |
Summary | MAKE ERROR! [CODE: integer] behaves erratically |
---|---|
Description |
In #975, I reported that probe make error! 1 gave a crash. This was solved in alpha 64. The errors with code in range 0-99 are special. When one supplies their numbers in a block, number 1 still crashes, others either give an error or are well-behaved. If it helps anything: #[error! [code: 1]] does NOT crash |
Example code |
>> probe make error! [code: 0] ** Script error: invalid argument: [code: 0] >> probe make error! [code: 2] ** Throw error: no catch for throw: make error! 2 >> probe make error! [code: 1] == REBOL System Error #1305: invalid datatype 88 This should never happen |
Assigned to | n/a | Fixed in | alpha 65 | Last Update | 30-Jun-2009 02:25 |
---|
Comments | |
---|---|
(0001121)
BrianH 29-Jun-2009 18:19 |
Errors < 100 are supposed to only be generated by RETURN, EXIT, THROW, BREAK, CONTINUE, QUIT and HALT. It would probably be a good idea to block their creation by the MAKE error! action or the serialized constructor #[error! 1] or #[error! [code: 1]], since otherwise would be a security hole.
If there is any way to block errors < 100 in REBOL syntax without breaking the functions that are supposed to throw them, that would be preferable. |
(0001127)
Carl 29-Jun-2009 19:13 |
Yes, I think that's possible, and it makes sense.
Normally for most datatypes I favor fewer restrictive cases (even if trivial or almost meaningless), but errors are rather special. |
(0001148)
BrianH 30-Jun-2009 02:25 |
Note that this now generates an error, but no longer crashes. |
Date | User | Field | Action | Change |
---|---|---|---|---|
30-Jun-2009 02:25 | BrianH | Comment : 0001148 | Added | - |
29-Jun-2009 22:44 | BrianH | Status | Modified | built => tested |
29-Jun-2009 19:39 | carl | Fixedin | Modified | => alpha 65 |
29-Jun-2009 19:39 | carl | Status | Modified | reviewed => built |
29-Jun-2009 19:13 | carl | Comment : 0001127 | Added | - |
29-Jun-2009 18:19 | BrianH | Comment : 0001121 | Added | - |
29-Jun-2009 18:12 | BrianH | Status | Modified | submitted => reviewed |
29-Jun-2009 18:12 | BrianH | Priority | Modified | normal => high |
29-Jun-2009 14:09 | meijeru | Description | Modified | - |
29-Jun-2009 14:09 | meijeru | Code | Modified | - |
29-Jun-2009 13:39 | meijeru | Ticket | Added | - |