View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000398 | LDMud 3.3 | Runtime | public | 2005-08-25 14:15 | 2018-01-29 21:57 |
Reporter | Gnomi | Assigned To | Gnomi | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | i686 | OS | Debian GNU/Linux | OS Version | 3.1 |
Product Version | 3.3 | ||||
Fixed in Version | 3.3.718 | ||||
Summary | 0000398: ed/check_valid_path leaks file name | ||||
Description | Starting ed("file", "ed_ends"), doing a garbage collection meanwhile and then exiting ed with 'x' leaks the filename. This is the output from a second garbage collection after that: 2005.08.25 21:27:56 --- Garbage Collection --- freeing small block 0x08cbfcb8 (user 0x08cbfcc0) simulate.c 3446 By object: obj/zauberstab#10 By program: i/zauberstab/zauberstab.c (/i/zauberstab/zlib.inc) line:407 08cbfcd4: 02 01 00 00 00 00 00 00 11 00 00 00 00 00 77 2f ..............w/ 08cbfce4: 67 6e 6f 6d 69 2f 70 72 6f 6c 61 6e 67 2e 79 00 gnomi/prolang.y. 08cbfcf4: 00 98 e2 08 06 09 00 38 c9 6c 2e ed 78 f1 16 09 ..â....8Él.íxñ.. 08cbfd04: 04 00 00 ... 1 small blocks freed 2005.08.25 21:27:56 GC freed 0 destructed objects. Greetings, Gnomi. | ||||
Tags | No tags attached. | ||||
|
During a GC count_ed_buffer_refs() counts the reference to this string, but clear_ed_buffer_refs() does not clear it in the beginning. All tabled strings get their refcounts cleared automatically, so when this string is not tabled its reference count will be doubled and this will be found by the next GC. |
|
This is not the only missing refcount clearance. I found a second one also in ed.c, and there are a lot less clear_string_ref() calls than count_ref_from_string() calls, so I have to check them all. (Most of these missing calls maybe okay, because the compiler puts all of its strings into the table, but I have to take a look to make sure of that.) |
|
Fixed in r2452. |
Date Modified | Username | Field | Change |
---|---|---|---|
2005-08-25 14:15 | Gnomi | New Issue | |
2008-06-30 03:08 | Gnomi | Status | new => assigned |
2008-06-30 03:08 | Gnomi | Assigned To | => Gnomi |
2008-07-02 08:53 | Gnomi | Note Added: 0000662 | |
2008-07-02 10:10 | Gnomi | Note Added: 0000663 | |
2008-12-23 18:26 | Gnomi | Status | assigned => resolved |
2008-12-23 18:26 | Gnomi | Fixed in Version | => 3.3.718 |
2008-12-23 18:26 | Gnomi | Resolution | open => fixed |
2008-12-23 18:26 | Gnomi | Note Added: 0000827 | |
2010-11-16 09:42 | Gnomi | Source_changeset_attached | => ldmud.git master d4e7295e |
2018-01-29 18:59 | Gnomi | Source_changeset_attached | => ldmud.git master d4e7295e |
2018-01-29 21:57 | Gnomi | Source_changeset_attached | => ldmud.git master d4e7295e |