View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000038 | LDMud 3.3 | Runtime | public | 2003-12-21 07:18 | 2004-05-17 07:27 |
Reporter | peng | Assigned To | |||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Summary | 0000038: function_exists() on destructed object calls fatal | ||||
Description | this doesn't make sense imho: in object.c (731ff 3.3.489) #ifdef DEBUG if (ob->flags & O_DESTRUCTED) fatal("function_exists() on destructed object\n"); #endif There is no need for the fatal, especially cause its only if the driver is compiled with DEBUG on. | ||||
Tags | No tags attached. | ||||
|
That piece of code is a sanity check: the internal function_exists() function should never be called with a destructed object, as that object may no longer have the pointers function_exists() requires to do its work. I added proper checks to both f_function_exists() and f_variable_exists() (the actual efun functions) to throw a runtime error if called for a destructed object. Fixed in 3.2-dev.624 and 3.3.509. |
Date Modified | Username | Field | Change |
---|---|---|---|
2003-12-21 07:18 | peng | New Issue | |
2004-04-03 16:44 |
|
Status | new => resolved |
2004-04-03 16:44 |
|
Resolution | open => fixed |
2004-04-03 16:44 |
|
Assigned To | => lars |
2004-04-03 16:44 |
|
Note Added: 0000044 | |
2004-05-17 07:27 |
|
Status | resolved => closed |