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 |