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 | 
