View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002537 | FSSCP | Platform-Engine interaction | public | 2011-11-05 08:25 | 2015-05-03 03:19 |
Reporter | Echelon9 | Assigned To | Echelon9 | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | no change required | ||
Product Version | 3.6.14 RC1 | ||||
Fixed in Version | 3.7.2 | ||||
Summary | 0002537: Valgrind: Memory leak - anim_load() | ||||
Description | Valgrind reports ~19MB of still reachable memory, which was originally allocated with this section of the animation code: ptr->data = (ubyte *) vm_malloc(count); anim_load(char*, int, int) (animplay.cpp:791) | ||||
Additional Information | ==43692== 5,025,168 bytes in 6 blocks are still reachable in loss record 5,541 of 5,542 ==43692== at 0x1EC94C5: malloc (vg_replace_malloc.c:266) ==43692== by 0x29C05: _vm_malloc(int, char*, int, int) (stubs.cpp:563) ==43692== by 0xCFD92: anim_load(char*, int, int) (animplay.cpp:791) ==43692== by 0x4552DB: generic_anim_stream(generic_anim*) (generic.cpp:177) ==43692== by 0x1DFD99: main_hall_init(int) (mainhallmenu.cpp:599) ==43692== by 0x6BAF4: game_enter_state(int, int) (freespace.cpp:5932) ==43692== by 0x116C35: gameseq_set_state(int, int) (gamesequence.cpp:282) ==43692== by 0x6CE54: game_process_event(int, int) (freespace.cpp:5125) ==43692== by 0x117195: gameseq_process_events() (gamesequence.cpp:397) ==43692== by 0x6B564: game_main(char*) (freespace.cpp:7084) ==43692== by 0x6B717: SDL_main (freespace.cpp:7218) ==43692== by 0x3D235: -[SDLMain applicationDidFinishLaunching:] (SDLMain.m:300) ==43692== ==43692== 14,146,552 bytes in 3 blocks are still reachable in loss record 5,542 of 5,542 ==43692== at 0x1EC94C5: malloc (vg_replace_malloc.c:266) ==43692== by 0x29C05: _vm_malloc(int, char*, int, int) (stubs.cpp:563) ==43692== by 0xCFD92: anim_load(char*, int, int) (animplay.cpp:791) ==43692== by 0x4552DB: generic_anim_stream(generic_anim*) (generic.cpp:177) ==43692== by 0x1DFC51: main_hall_init(int) (mainhallmenu.cpp:579) ==43692== by 0x6BAF4: game_enter_state(int, int) (freespace.cpp:5932) ==43692== by 0x116C35: gameseq_set_state(int, int) (gamesequence.cpp:282) ==43692== by 0x6CE54: game_process_event(int, int) (freespace.cpp:5125) ==43692== by 0x117195: gameseq_process_events() (gamesequence.cpp:397) ==43692== by 0x6B564: game_main(char*) (freespace.cpp:7084) ==43692== by 0x6B717: SDL_main (freespace.cpp:7218) ==43692== by 0x3D235: -[SDLMain applicationDidFinishLaunching:] (SDLMain.m:300) | ||||
Tags | No tags attached. | ||||
|
Any progress on this? |
|
Still working on it. There is code to correctly free the relevant malloc'd memory, so I'm currently thinking there is a code path which exits without correctly calling that function to free the memory. |
|
Closing as unable to reproduce with current trunk. Cross-checked with Valgrind on Linux which did not report such a leak. |
Date Modified | Username | Field | Change |
---|---|---|---|
2011-11-05 08:25 | Echelon9 | New Issue | |
2011-11-05 08:26 | Echelon9 | Status | new => assigned |
2011-11-05 08:26 | Echelon9 | Assigned To | => Echelon9 |
2011-11-05 08:26 | Echelon9 | Summary | Valgrind: Memory leak - => Valgrind: Memory leak - anim_load() |
2012-02-09 07:03 | Goober5000 | Note Added: 0013267 | |
2012-02-11 03:22 | Echelon9 | Note Added: 0013274 | |
2015-05-03 03:19 | Echelon9 | Note Added: 0016690 | |
2015-05-03 03:19 | Echelon9 | Status | assigned => closed |
2015-05-03 03:19 | Echelon9 | Resolution | open => no change required |
2015-05-03 03:19 | Echelon9 | Fixed in Version | => 3.7.2 |