Lost Zergling wrote:@Paul Doe. I'll try to do my best even thought it is not perfect or bugged. Your post was interesting for me because it forces me to improve the level of requirement. Welcome back with suggestions as your choice.
As you wish. I hope that you at least
heed the advice you're receiving (which is quite a lot), instead of
choosing to ignore it (as if you've had a choice in the first place):
Lost Zergling wrote:...however it would not be unacceptable (for not too demanding users) what would not be the case of a significant memory loss proportional to the load...
What!? The app shouldn't leak a zzzzzingle byte, much less
kilobytes.
StringEpsilon wrote:As of the nastyness: The example leaks a total of 8.5 kilobyte. That's quite a lot of memory for something that only demoes a list. pValTmp accounts for 527 bytes from 4 calls to AllowPancake().
@Lost Zergling: to put this in perspective, let's assume a similar load for another app, that does something like this:
Code: Select all
dim as uinteger numLists = 1000
dim as List compositeList( 0 to numLists - 1)
Which is an entirely possible scenario if you want to make, for example, a composite list (and also simply because you're providing the 'library' as an
object). That line alone will leak 8,3 MB. Imagine what would happen with higher loads...
Worse still:
the longer the program runs, the more memory it leaks.
This is the report produced by
Dr. Memory (a tool similar to valgrind but has a Win32 version) for 'exemple 5.bas'. I removed some entries that didn't had anything to do with your code, and also splitted it in two posts because the report doesn't fit in one:
Code: Select all
Dr. Memory version 1.11.0 build 2 built on Aug 29 2016 02:42:07
Dr. Memory results for pid 6220: "example-5.exe"
Application cmdline: "example-5.exe"
Recorded 115 suppression(s) from default C:\Programming\DrMemory-Windows-1.11.0-2\bin\suppress-default.txt
Running on an unsupported operating system. Please download http://drmemory.org/syscalls_wow64.txt and save as C:\Programming\DrMemory-Windows-1.11.0-2\bin\syscalls_wow64.txt to avoid false positives and other problems. If that fails, please file a bug report.
Error #1: UNADDRESSABLE ACCESS beyond heap bounds: writing 0x048e14b9-0x048e14ba 1 byte(s)
# 0 fb_hStrCopy@12 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 1 fb_StrAssignEx@24 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 2 fb_StrAssign@20 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 3 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:8]
Note: @0:00:07.439 in thread 7760
Note: next higher malloc: 0x048e14e0-0x048e14e1
Note: refers to 0 byte(s) beyond last valid byte in prior malloc
Note: prev lower malloc: 0x048e14b8-0x048e14b9
Note: instruction: mov $0x00 -> (%edi)
Error #7: UNADDRESSABLE ACCESS of freed memory: writing 0x048e0e30-0x048e0e34 4 byte(s)
# 0 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:966]
# 1 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:46]
Note: @0:00:09.250 in thread 7760
Note: next higher malloc: 0x048e0e60-0x048e0e85
Note: prev lower malloc: 0x048e0d70-0x048e0da4
Note: 0x048e0e30-0x048e0e34 overlaps memory 0x048e0e10-0x048e0e40 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:46]
Note: instruction: mov %eax -> (%edx)
Error #8: UNADDRESSABLE ACCESS of freed memory: writing 0x048e1308-0x048e130c 4 byte(s)
# 0 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:966]
# 1 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.312 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e1308-0x048e130c overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov %eax -> (%edx)
Error #9: UNADDRESSABLE ACCESS of freed memory: writing 0x048e3b4c-0x048e3b50 4 byte(s)
# 0 LIST::ROOT__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:501]
# 1 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 2 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 3 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.359 in thread 7760
Note: next higher malloc: 0x048e3b80-0x048e3ba5
Note: prev lower malloc: 0x048e3950-0x048e3975
Note: 0x048e3b4c-0x048e3b50 overlaps memory 0x048e3b30-0x048e3b60 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:955]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov %eax -> (%edx)
Error #10: UNADDRESSABLE ACCESS of freed memory: writing 0x048e3b4c-0x048e3b50 4 byte(s)
# 0 LIST::ROOT__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:501]
# 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 2 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 3 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 4 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.375 in thread 7760
Note: next higher malloc: 0x048e3b80-0x048e3ba5
Note: prev lower malloc: 0x048e3950-0x048e3975
Note: 0x048e3b4c-0x048e3b50 overlaps memory 0x048e3b30-0x048e3b60 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:955]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov %eax -> (%edx)
Error #11: UNADDRESSABLE ACCESS of freed memory: reading 0x048e12ec-0x048e12f0 4 byte(s)
# 0 fb_StrCompare@16 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 1 LIST::FLAT__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:174]
# 2 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 3 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 4 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 5 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.390 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e12ec-0x048e12f0 overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov 0x04(%ebp) -> %edx
Error #12: UNADDRESSABLE ACCESS of freed memory: reading 0x048e12e8-0x048e12ec 4 byte(s)
# 0 fb_StrCompare@16 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 1 LIST::FLAT__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:174]
# 2 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 3 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 4 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 5 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.406 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e12e8-0x048e12ec overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov 0x00(%ebp) -> %esi
Error #13: UNADDRESSABLE ACCESS of freed memory: reading 0x048e12ec-0x048e12f0 4 byte(s)
# 0 fb_hStrDelTemp_NoLock@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 1 fb_StrCompare@16 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 2 LIST::FLAT__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:174]
# 3 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 4 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 5 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 6 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.422 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e12ec-0x048e12f0 overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov 0x04(%ebx) -> %eax
Error #14: UNADDRESSABLE ACCESS of freed memory: reading 0x048e130c-0x048e1310 4 byte(s)
# 0 LIST::FLAT__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:174]
# 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 2 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 3 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 4 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.437 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e130c-0x048e1310 overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov (%eax) -> %eax
Error #15: UNADDRESSABLE ACCESS of freed memory: reading 0x048e1304-0x048e1308 4 byte(s)
# 0 LIST::FLAT__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:178]
# 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 2 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 3 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 4 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.453 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e1304-0x048e1308 overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov (%eax) -> %eax
Error #16: UNADDRESSABLE ACCESS of freed memory: reading 0x048e1304-0x048e1308 4 byte(s)
# 0 LIST::FLAT__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:178]
# 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 2 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 3 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 4 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.469 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e1304-0x048e1308 overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov 0x1c(%eax) -> %eax
Error #17: UNADDRESSABLE ACCESS of freed memory: reading 0x048e1304-0x048e1308 4 byte(s)
# 0 LIST::GARBAGECOLLECTOR__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:189]
# 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 2 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 3 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 4 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.484 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e1304-0x048e1308 overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov (%eax) -> %eax
Error #18: UNADDRESSABLE ACCESS of freed memory: reading 0x048e12ec-0x048e12f0 4 byte(s)
# 0 fb_StrAssignEx@24 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 1 fb_StrAssign@20 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 2 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 3 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 4 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 5 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.500 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e12ec-0x048e12f0 overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov 0x04(%ebx) -> %eax
Error #19: UNADDRESSABLE ACCESS of freed memory: reading 0x048e12e8-0x048e12ec 4 byte(s)
# 0 fb_StrAssignEx@24 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 1 fb_StrAssign@20 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 2 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 3 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 4 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 5 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.515 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e12e8-0x048e12ec overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov (%ebx) -> %eax
Error #20: UNADDRESSABLE ACCESS of freed memory: reading 0x048e12f4-0x048e12f8 4 byte(s)
# 0 fb_StrDelete@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 1 fb_StrAssignEx@24 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 2 fb_StrAssign@20 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:135]
# 3 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 4 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 5 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 6 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.531 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e12f4-0x048e12f8 overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov (%ebx) -> %eax
Error #21: UNADDRESSABLE ACCESS of freed memory: reading 0x048e1300-0x048e1304 4 byte(s)
# 0 LIST::GARBAGECOLLECTOR__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:191]
# 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 2 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 3 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 4 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.547 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e1300-0x048e1304 overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov (%eax) -> %eax
Error #22: UNADDRESSABLE ACCESS of freed memory: reading 0x048e1304-0x048e1308 4 byte(s)
# 0 LIST::GARBAGECOLLECTOR__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:192]
# 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 2 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 3 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 4 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.547 in thread 7760
Note: next higher malloc: 0x048e1338-0x048e135d
Note: prev lower malloc: 0x048e1248-0x048e127c
Note: 0x048e1304-0x048e1308 overlaps memory 0x048e12e8-0x048e1318 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:943]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov 0x1c(%eax) -> %eax
Error #23: UNADDRESSABLE ACCESS of freed memory: reading 0x048e3b48-0x048e3b4c 4 byte(s)
# 0 LIST::GARBAGECOLLECTOR__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:191]
# 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 2 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 3 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 4 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.578 in thread 7760
Note: next higher malloc: 0x048e3b80-0x048e3ba5
Note: prev lower malloc: 0x048e3950-0x048e3975
Note: 0x048e3b48-0x048e3b4c overlaps memory 0x048e3b30-0x048e3b60 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:955]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov (%eax) -> %eax
Error #24: UNADDRESSABLE ACCESS of freed memory: reading 0x048e3b48-0x048e3b4c 4 byte(s)
# 0 LIST::GARBAGECOLLECTOR__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:191]
# 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 2 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 3 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 4 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.578 in thread 7760
Note: next higher malloc: 0x048e3b80-0x048e3ba5
Note: prev lower malloc: 0x048e3950-0x048e3975
Note: 0x048e3b48-0x048e3b4c overlaps memory 0x048e3b30-0x048e3b60 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:955]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov 0x18(%eax) -> %eax
Error #25: UNADDRESSABLE ACCESS of freed memory: writing 0x048e3b48-0x048e3b4c 4 byte(s)
# 0 LIST::GARBAGECOLLECTOR__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:191]
# 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 2 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 3 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 4 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.594 in thread 7760
Note: next higher malloc: 0x048e3b80-0x048e3ba5
Note: prev lower malloc: 0x048e3950-0x048e3975
Note: 0x048e3b48-0x048e3b4c overlaps memory 0x048e3b30-0x048e3b60 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:955]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov $0x00000000 -> (%eax)
Error #26: UNADDRESSABLE ACCESS of freed memory: reading 0x048e3b48-0x048e3b4c 4 byte(s)
# 0 LIST::VALPRIVATE__get__@8 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:288]
# 1 LIST::VAL__get__@8 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:439]
# 2 LIST::GARBAGECOLLECTOR__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:195]
# 3 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 4 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 5 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 6 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.625 in thread 7760
Note: next higher malloc: 0x048e3b80-0x048e3ba5
Note: prev lower malloc: 0x048e3950-0x048e3975
Note: 0x048e3b48-0x048e3b4c overlaps memory 0x048e3b30-0x048e3b60 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:955]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov (%eax) -> %eax
Error #27: UNADDRESSABLE ACCESS of freed memory: writing 0x048e3b48-0x048e3b4c 4 byte(s)
# 0 LIST::VALPRIVATE__get__@8 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:288]
# 1 LIST::VAL__get__@8 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:439]
# 2 LIST::GARBAGECOLLECTOR__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:195]
# 3 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 4 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 5 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 6 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.640 in thread 7760
Note: next higher malloc: 0x048e3b80-0x048e3ba5
Note: prev lower malloc: 0x048e3950-0x048e3975
Note: 0x048e3b48-0x048e3b4c overlaps memory 0x048e3b30-0x048e3b60 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:955]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov %eax -> (%edx)
Error #28: UNADDRESSABLE ACCESS of freed memory: reading 0x048e3b48-0x048e3b4c 4 byte(s)
# 0 LIST::VALPRIVATE__get__@8 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:288]
# 1 LIST::VAL__get__@8 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:439]
# 2 LIST::GARBAGECOLLECTOR__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:195]
# 3 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:922]
# 4 LIST::DESTROY__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:973]
# 5 LIST::~LIST [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:150]
# 6 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: @0:00:09.656 in thread 7760
Note: next higher malloc: 0x048e3b80-0x048e3ba5
Note: prev lower malloc: 0x048e3950-0x048e3975
Note: 0x048e3b48-0x048e3b4c overlaps memory 0x048e3b30-0x048e3b60 that was freed here:
Note: # 0 replace_free [d:\drmemory_package\common\alloc_replace.c:2706]
Note: # 1 LIST::DROPALL__get__@4 [C:/PROGRAMMING/FREEBASIC/FB FORUM CODE/LOST ZERGLING LZLE/LZLE.BI:955]
Note: # 2 main [C:\Programming\FreeBasic\FB Forum Code\Lost Zergling LZLE/example-5.bas:47]
Note: instruction: mov (%eax) -> %eax