Firm Bugtracker - libFirm
|
|||||
Viewing Issue Advanced Details | |||||
|
|||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
187 | backend | minor | always | 2016-12-07 12:35 | 2017-01-11 12:36 |
|
|||||
Reporter: | moben | Platform: | |||
Assigned To: | mohr | OS: | |||
Priority: | normal | OS Version: | |||
Status: | resolved | Product Version: | development | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | |||
|
|||||
Summary: | 0000187: Leak in co_collect_units | ||||
Description: |
we are building libfirm with LeakSanitizer (clang 3.9) and it is detecting a memory leak in co_collect_units. The corresponding .vcg file is attached. The called function in the inner loop is empty. LeakSanitizer output: ================================================================= ==10958==ERROR: LeakSanitizer: detected memory leaks Direct leak of 8 byte(s) in 1 object(s) allocated from: #0 0x5df618 in realloc /var/tmp/paludis/build/dev-libs-compiler-rt-3.9.0/work/compiler-rt-3.9.0.src/lib/asan/asan_malloc_linux.cc:77 0000001 0x2b5773984bf7 in xrealloc /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/adt/xmalloc.c:36:20 0000002 0x2b5773a1dcd4 in co_collect_units /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/be/becopyopt.c:406:17 0000003 0x2b5773a3fc3a in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:39:2 0000004 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000005 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000006 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000007 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000008 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000009 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000010 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 #11 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000012 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 #13 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000014 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000015 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000016 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000017 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000018 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000019 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000020 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000021 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000022 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000023 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000024 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 #25 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000026 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000027 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000028 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000029 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 Direct leak of 4 byte(s) in 1 object(s) allocated from: #0 0x5df618 in realloc /var/tmp/paludis/build/dev-libs-compiler-rt-3.9.0/work/compiler-rt-3.9.0.src/lib/asan/asan_malloc_linux.cc:77 0000001 0x2b5773984bf7 in xrealloc /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/adt/xmalloc.c:36:20 0000002 0x2b5773a1dcfb in co_collect_units /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/be/becopyopt.c:407:17 0000003 0x2b5773a3fc3a in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:39:2 0000004 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000005 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000006 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000007 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000008 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000009 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000010 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 #11 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000012 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 #13 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000014 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000015 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000016 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000017 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000018 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000019 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000020 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000021 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000022 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000023 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000024 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 #25 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000026 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000027 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 0000028 0x2b5773a3fc7c in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:44:4 0000029 0x2b5773a3fd2b in irg_walk_2_pre /home/moben/Hacking/Uni/compilerpraktikum/libfirm/ir/ir/irgwalk.c:48:4 SUMMARY: AddressSanitizer: 12 byte(s) leaked in 2 allocation(s). |
||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Relationships | |||||
Attached Files: |
![]() ![]() ![]() ![]() |
||||
|
|||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2016-12-07 12:35 | moben | New Issue | |||
2016-12-07 12:35 | moben | File Added: main-00.vcg | |||
2016-12-07 12:37 | moben | Note Added: 0000281 | |||
2016-12-07 15:17 | moben | File Added: libfirm_leak.java | |||
2017-01-10 10:22 | moben | File Added: firm-leak.patch | |||
2017-01-10 10:27 | moben | Note Added: 0000282 | |||
2017-01-10 10:28 | moben | File Added: firm-leak_v2.patch | |||
2017-01-10 10:28 | moben | Note Added: 0000283 | |||
2017-01-11 12:35 | mohr | Note Added: 0000285 | |||
2017-01-11 12:36 | mohr | Note Added: 0000286 | |||
2017-01-11 12:36 | mohr | Status | new => resolved | ||
2017-01-11 12:36 | mohr | Resolution | open => fixed | ||
2017-01-11 12:36 | mohr | Assigned To | => mohr |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|