FYI..
There are a few interesting things in here which look like they may be real errors. (i'd ignore the PLKs for now) --Josh perl assemble.pl t/test.pasm > t/test.pbc ./test_prog t/test.pbc > t/test.out **** Purify instrumented test_prog (pid 17982 at Thu Sep 13 02:08:41 2001) * Purify 5.2 Solaris 2 (32-bit), Copyright (C) 1992-2000 Rational Software Corp. All rights reserved. * For contact information type: "purify -help" * Command-line: test_prog * Options settings: -purify -windows=no \ -purify-home=/usr/SD/rational/solaris2bin/../products/developertools.5.2.GA/releases/DeveloperTools.5.2/sun4_solaris2/bin/../../../purify-5.2-solaris2 * License successfully checked out. * Command-line: ./test_prog t/test.pbc **** Purify instrumented test_prog (pid 17982) **** UMR: Uninitialized memory read: * This is occurring while in: _unpacked_to_decimal_two [libc.so.1] __k_double_to_decimal [libc.so.1] double_to_decimal [libc.so.1] fconvert [libc.so.1] _doprnt [libc.so.1] printf [libc.so.1] * Reading 1 byte from 0xffbeda00 on the stack. * Address 0xffbeda00 is 1024 bytes below frame pointer in function _unpacked_to_decimal_two. **** Purify instrumented test_prog (pid 17982) **** Current file descriptors in use: 6 FIU: file descriptor 0: <stdin> FIU: file descriptor 1: <stdout> FIU: file descriptor 2: <stderr> FIU: file descriptor 3: "t/test.pbc", O_RDONLY * File info: -rw-r--r-- 1 jwilmes eman 268 Sep 13 02:08 * File position: 0 * This file descriptor was allocated from: __open [libc.so.1] _open [libc.so.1] main [test_main.c:62] _start [crt1.o] FIU: file descriptor 26: <reserved for Purify internal use> FIU: file descriptor 27: <reserved for Purify internal use> **** Purify instrumented test_prog (pid 17982) **** Purify: Searching for all memory leaks... Memory leaked: 0 bytes (0%); potentially leaked: 57400 bytes (77.8%) PLK: 32768 bytes potentially leaked at 0xa9b60 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:30] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xa7b08 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:29] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xb1bb8 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:31] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xb3c10 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:32] main [test_main.c:26] _start [crt1.o] PLK: 56 bytes potentially leaked at 0xa7a78 * This memory was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] make_interpreter [interpreter.c:24] main [test_main.c:26] _start [crt1.o] Purify Heap Analysis (combining suppressed and unsuppressed blocks) Blocks Bytes Leaked 0 0 Potentially Leaked 6 65600 In-Use 1 8192 ---------------------------------------- Total Allocated 7 73792 **** Purify instrumented test_prog (pid 17982) **** * Program exited with status code 0. * 1 access error, 3 total occurrences. * 0 bytes leaked. * 57400 bytes potentially leaked. * Basic memory usage (including Purify overhead): 462068 code 93516 data/bss 81920 heap (peak use) 2664 stack * Shared library memory usage (including Purify overhead): 1456 libpure_solaris2_init.so.1 (shared code) 252 libpure_solaris2_init.so.1 (private data) 141202 libm.so.1_pure_p3_c0_520_57_32_106368 (shared code) 1276 libm.so.1_pure_p3_c0_520_57_32_106368 (private data) 1051960 libc.so.1_pure_p3_c0_520_57_32_1115336 (shared code) 108024 libc.so.1_pure_p3_c0_520_57_32_1115336 (private data) 2316 libdl.so.1_pure_p3_c0_520_57_32_4528 (shared code) 4 libdl.so.1_pure_p3_c0_520_57_32_4528 (private data) 13528 libinternal_stubs.so.1 (shared code) 916 libinternal_stubs.so.1 (private data) 14284 libc_psr.so.1_pure_p3_c0_520_57_32 (shared code) 0 libc_psr.so.1_pure_p3_c0_520_57_32 (private data) * Memory mapped usage: 8192 mmap'd at 0xfebb0000 perl assemble.pl t/test2.pasm > t/test2.pbc ./test_prog t/test2.pbc > t/test2.out **** Purify instrumented test_prog (pid 18081 at Thu Sep 13 02:12:41 2001) * Purify 5.2 Solaris 2 (32-bit), Copyright (C) 1992-2000 Rational Software Corp. All rights reserved. * For contact information type: "purify -help" * Command-line: test_prog * Options settings: -purify -windows=no \ -purify-home=/usr/SD/rational/solaris2bin/../products/developertools.5.2.GA/releases/DeveloperTools.5.2/sun4_solaris2/bin/../../../purify-5.2-solaris2 * License successfully checked out. * Command-line: ./test_prog t/test2.pbc **** Purify instrumented test_prog (pid 18081) **** UMR: Uninitialized memory read: * This is occurring while in: string_substr [string.c:81] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] main [test_main.c:76] _start [crt1.o] * Reading 4 bytes from 0xb2018 in the heap. * Address 0xb2018 is 1120 bytes into a malloc'd block at 0xb1bb8 of 8192 bytes. * This block was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:31] main [test_main.c:26] _start [crt1.o] **** Purify instrumented test_prog (pid 18081) **** FMR: Free memory read: * This is occurring while in: _doprnt [libc.so.1] printf [libc.so.1] print_s [basic_opcodes.c:431] runops [interpreter.c:17] main [test_main.c:76] _start [crt1.o] * Reading 1 byte from 0xb7e70 in the heap. * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes. * This block was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] string_make [string.c:19] string_substr [string.c:82] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] * There have been 0 frees since this block was freed from: free [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] **** Purify instrumented test_prog (pid 18081) **** FMW: Free memory write: * This is occurring while in: memcpy [rtlib.o] string_native_substr [strnative.c:50] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] main [test_main.c:76] * Writing 1 byte to 0xb7e70 in the heap. * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes. * This block was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] string_make [string.c:19] string_substr [string.c:82] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] * There have been 0 frees since this block was freed from: free [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] **** Purify instrumented test_prog (pid 18081) **** FMR: Free memory read: * This is occurring while in: __mbtowc_sb [libc.so.1] _doprnt [libc.so.1] printf [libc.so.1] print_s [basic_opcodes.c:431] runops [interpreter.c:17] main [test_main.c:76] * Reading 1 byte from 0xb7e70 in the heap. * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes. * This block was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] string_make [string.c:19] string_substr [string.c:82] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] * There have been -1207959552 frees since this block was freed from: free [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] **** Purify instrumented test_prog (pid 18081) **** FMR: Free memory read: * This is occurring while in: __mbtowc_sb [libc.so.1] _doprnt [libc.so.1] printf [libc.so.1] print_s [basic_opcodes.c:431] runops [interpreter.c:17] main [test_main.c:76] * Reading 1 byte from 0xb7e70 in the heap. * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes. * This block was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] string_make [string.c:19] string_substr [string.c:82] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] * There have been -1207959552 frees since this block was freed from: free [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] **** Purify instrumented test_prog (pid 18081) **** FMR: Free memory read: * This is occurring while in: _doprnt [libc.so.1] printf [libc.so.1] print_s [basic_opcodes.c:431] runops [interpreter.c:17] main [test_main.c:76] _start [crt1.o] * Reading 1 byte from 0xb7e70 in the heap. * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes. * This block was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] string_make [string.c:19] string_substr [string.c:82] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] * There have been -1207959552 frees since this block was freed from: free [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] **** Purify instrumented test_prog (pid 18081) **** FMR: Free memory read: * This is occurring while in: _doprnt [libc.so.1] printf [libc.so.1] print_s [basic_opcodes.c:431] runops [interpreter.c:17] main [test_main.c:76] _start [crt1.o] * Reading 1 byte from 0xb7e71 in the heap. * Address 0xb7e71 is 2 bytes past end of a freed block at 0xb7e70 of 0 bytes. * This block was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] string_make [string.c:19] string_substr [string.c:82] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] * There have been -1214578688 frees since this block was freed from: free [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] **** Purify instrumented test_prog (pid 18081) **** FMR: Free memory read: * This is occurring while in: _doprnt [libc.so.1] printf [libc.so.1] print_s [basic_opcodes.c:431] runops [interpreter.c:17] main [test_main.c:76] _start [crt1.o] * Reading 1 byte from 0xb7e70 in the heap. * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes. * This block was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] string_make [string.c:19] string_substr [string.c:82] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] * There have been -1214578688 frees since this block was freed from: free [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] **** Purify instrumented test_prog (pid 18081) **** FMR: Free memory read: * This is occurring while in: _doprnt [libc.so.1] printf [libc.so.1] print_s [basic_opcodes.c:431] runops [interpreter.c:17] main [test_main.c:76] _start [crt1.o] * Reading 1 byte from 0xb7e70 in the heap. * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes. * This block was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] string_make [string.c:19] string_substr [string.c:82] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] * There have been -1214606336 frees since this block was freed from: free [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] **** Purify instrumented test_prog (pid 18081) **** FMR: Free memory read: * This is occurring while in: _doprnt [libc.so.1] printf [libc.so.1] print_s [basic_opcodes.c:431] runops [interpreter.c:17] main [test_main.c:76] _start [crt1.o] * Reading 1 byte from 0xb7e70 in the heap. * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes. * This block was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] string_make [string.c:19] string_substr [string.c:82] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] * There have been -1214606442 frees since this block was freed from: free [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] **** Purify instrumented test_prog (pid 18081) **** FMR: Free memory read: * This is occurring while in: memcpy [rtlib.o] _memcpy [rtlib.o] _doprnt [libc.so.1] printf [libc.so.1] print_s [basic_opcodes.c:431] runops [interpreter.c:17] * Reading 5 bytes from 0xb7e70 in the heap. * Address 0xb7e70 is 1 byte past end of a freed block at 0xb7e70 of 0 bytes. * This block was allocated from: *unknown func* [pc=0x6f03446c] Sys_Allocate [memory.c:35] string_make [string.c:19] string_substr [string.c:82] substr_s_s_i [basic_opcodes.c:452] runops [interpreter.c:17] * There have been -1214606442 frees since this block was freed from: free [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] **** Purify instrumented test_prog (pid 18081) **** Current file descriptors in use: 6 FIU: file descriptor 0: <stdin> FIU: file descriptor 1: <stdout> FIU: file descriptor 2: <stderr> FIU: file descriptor 3: "t/test2.pbc", O_RDONLY * File info: -rw-r--r-- 1 jwilmes eman 236 Sep 13 02:12 * File position: 0 * This file descriptor was allocated from: __open [libc.so.1] _open [libc.so.1] main [test_main.c:62] _start [crt1.o] FIU: file descriptor 26: <reserved for Purify internal use> FIU: file descriptor 27: <reserved for Purify internal use> **** Purify instrumented test_prog (pid 18081) **** Purify: Searching for all memory leaks... Memory leaked: 11 bytes (0.0149%); potentially leaked: 57400 bytes (77.7%) MLK: 11 bytes leaked at 0xb7ec8 * This memory was allocated from: malloc [rtlib.o] realloc [rtlib.o] string_grow [string.c:33] string_native_substr [strnative.c:49] string_substr [string.c:85] substr_s_s_i [basic_opcodes.c:452] PLK: 32768 bytes potentially leaked at 0xa9b60 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:30] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xa7b08 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:29] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xb1bb8 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:31] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xb3c10 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:32] main [test_main.c:26] _start [crt1.o] PLK: 56 bytes potentially leaked at 0xa7a78 * This memory was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] make_interpreter [interpreter.c:24] main [test_main.c:26] _start [crt1.o] Purify Heap Analysis (combining suppressed and unsuppressed blocks) Blocks Bytes Leaked 1 11 Potentially Leaked 6 65600 In-Use 5 8275 ---------------------------------------- Total Allocated 12 73886 **** Purify instrumented test_prog (pid 18081) **** * Program exited with status code 0. * 11 access errors, 193 total occurrences. * 11 bytes leaked. * 57400 bytes potentially leaked. * Basic memory usage (including Purify overhead): 462068 code 93516 data/bss 81920 heap (peak use) 2672 stack * Shared library memory usage (including Purify overhead): 1456 libpure_solaris2_init.so.1 (shared code) 252 libpure_solaris2_init.so.1 (private data) 141202 libm.so.1_pure_p3_c0_520_57_32_106368 (shared code) 1276 libm.so.1_pure_p3_c0_520_57_32_106368 (private data) 1051960 libc.so.1_pure_p3_c0_520_57_32_1115336 (shared code) 108024 libc.so.1_pure_p3_c0_520_57_32_1115336 (private data) 2316 libdl.so.1_pure_p3_c0_520_57_32_4528 (shared code) 4 libdl.so.1_pure_p3_c0_520_57_32_4528 (private data) 13528 libinternal_stubs.so.1 (shared code) 916 libinternal_stubs.so.1 (private data) 14284 libc_psr.so.1_pure_p3_c0_520_57_32 (shared code) 0 libc_psr.so.1_pure_p3_c0_520_57_32 (private data) * Memory mapped usage: 8192 mmap'd at 0xfebb0000 perl assemble.pl t/test3.pasm > t/test3.pbc ./test_prog t/test3.pbc > t/test3.out **** Purify instrumented test_prog (pid 18087 at Thu Sep 13 02:12:41 2001) * Purify 5.2 Solaris 2 (32-bit), Copyright (C) 1992-2000 Rational Software Corp. All rights reserved. * For contact information type: "purify -help" * Command-line: test_prog * Options settings: -purify -windows=no \ -purify-home=/usr/SD/rational/solaris2bin/../products/developertools.5.2.GA/releases/DeveloperTools.5.2/sun4_solaris2/bin/../../../purify-5.2-solaris2 * License successfully checked out. * Command-line: ./test_prog t/test3.pbc **** Purify instrumented test_prog (pid 18087) **** UMR: Uninitialized memory read: * This is occurring while in: print_i [basic_opcodes.c:157] runops [interpreter.c:17] main [test_main.c:76] _start [crt1.o] * Reading 4 bytes from 0xa8814 in the heap. * Address 0xa8814 is 3340 bytes into a malloc'd block at 0xa7b08 of 8192 bytes. * This block was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:29] main [test_main.c:26] _start [crt1.o] **** Purify instrumented test_prog (pid 18087) **** IPR: Invalid pointer read: * This is occurring while in: runops [interpreter.c:16] main [test_main.c:76] _start [crt1.o] * Reading 4 bytes from 0xfebb059c between the heap and the stack. **** Purify instrumented test_prog (pid 18087) **** Current file descriptors in use: 6 FIU: file descriptor 0: <stdin> FIU: file descriptor 1: <stdout> FIU: file descriptor 2: <stderr> FIU: file descriptor 3: "t/test3.pbc", O_RDONLY * File info: -rw-r--r-- 1 jwilmes eman 1436 Sep 13 02:12 * File position: 0 * This file descriptor was allocated from: __open [libc.so.1] _open [libc.so.1] main [test_main.c:62] _start [crt1.o] FIU: file descriptor 26: <reserved for Purify internal use> FIU: file descriptor 27: <reserved for Purify internal use> **** Purify instrumented test_prog (pid 18087) **** Purify: Searching for all memory leaks... Memory leaked: 0 bytes (0%); potentially leaked: 73784 bytes (81.8%) PLK: 32768 bytes potentially leaked at 0xa9b60 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:30] main [test_main.c:26] _start [crt1.o] PLK: 16384 bytes potentially leaked in 2 blocks * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] Parrot_push_i [register.c:21] push_i [basic_opcodes.c:339] runops [interpreter.c:17] main [test_main.c:76] * Block of 8192 bytes (2 times); last block at 0xbbd78 PLK: 8192 bytes potentially leaked at 0xa7b08 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:29] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xb1bb8 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:31] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xb3c10 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:32] main [test_main.c:26] _start [crt1.o] PLK: 56 bytes potentially leaked at 0xa7a78 * This memory was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] make_interpreter [interpreter.c:24] main [test_main.c:26] _start [crt1.o] Purify Heap Analysis (combining suppressed and unsuppressed blocks) Blocks Bytes Leaked 0 0 Potentially Leaked 8 81984 In-Use 1 8192 ---------------------------------------- Total Allocated 9 90176 **** Purify instrumented test_prog (pid 18087) **** * Program exited with status code 0. * 2 access errors, 3 total occurrences. * 0 bytes leaked. * 73784 bytes potentially leaked. * Basic memory usage (including Purify overhead): 462068 code 93516 data/bss 98304 heap (peak use) 2672 stack * Shared library memory usage (including Purify overhead): 1456 libpure_solaris2_init.so.1 (shared code) 252 libpure_solaris2_init.so.1 (private data) 141202 libm.so.1_pure_p3_c0_520_57_32_106368 (shared code) 1276 libm.so.1_pure_p3_c0_520_57_32_106368 (private data) 1051960 libc.so.1_pure_p3_c0_520_57_32_1115336 (shared code) 108024 libc.so.1_pure_p3_c0_520_57_32_1115336 (private data) 2316 libdl.so.1_pure_p3_c0_520_57_32_4528 (shared code) 4 libdl.so.1_pure_p3_c0_520_57_32_4528 (private data) 13528 libinternal_stubs.so.1 (shared code) 916 libinternal_stubs.so.1 (private data) 14284 libc_psr.so.1_pure_p3_c0_520_57_32 (shared code) 0 libc_psr.so.1_pure_p3_c0_520_57_32 (private data) * Memory mapped usage: 8192 mmap'd at 0xfebb0000 perl assemble.pl t/euclid.pasm > t/euclid.pbc ./test_prog t/euclid.pbc > t/euclid.out **** Purify instrumented test_prog (pid 18093 at Thu Sep 13 02:12:42 2001) * Purify 5.2 Solaris 2 (32-bit), Copyright (C) 1992-2000 Rational Software Corp. All rights reserved. * For contact information type: "purify -help" * Command-line: test_prog * Options settings: -purify -windows=no \ -purify-home=/usr/SD/rational/solaris2bin/../products/developertools.5.2.GA/releases/DeveloperTools.5.2/sun4_solaris2/bin/../../../purify-5.2-solaris2 * License successfully checked out. * Command-line: ./test_prog t/euclid.pbc **** Purify instrumented test_prog (pid 18093) **** Current file descriptors in use: 6 FIU: file descriptor 0: <stdin> FIU: file descriptor 1: <stdout> FIU: file descriptor 2: <stderr> FIU: file descriptor 3: "t/euclid.pbc", O_RDONLY * File info: -rw-r--r-- 1 jwilmes eman 200 Sep 13 02:12 * File position: 0 * This file descriptor was allocated from: __open [libc.so.1] _open [libc.so.1] main [test_main.c:62] _start [crt1.o] FIU: file descriptor 26: <reserved for Purify internal use> FIU: file descriptor 27: <reserved for Purify internal use> **** Purify instrumented test_prog (pid 18093) **** Purify: Searching for all memory leaks... Memory leaked: 0 bytes (0%); potentially leaked: 57400 bytes (77.7%) PLK: 32768 bytes potentially leaked at 0xa9b60 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:30] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xa7b08 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:29] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xb1bb8 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:31] main [test_main.c:26] _start [crt1.o] PLK: 8192 bytes potentially leaked at 0xb3c10 * This memory was allocated from: malloc [rtlib.o] Allocate_Aligned [memory.c:27] make_interpreter [interpreter.c:32] main [test_main.c:26] _start [crt1.o] PLK: 56 bytes potentially leaked at 0xa7a78 * This memory was allocated from: malloc [rtlib.o] Sys_Allocate [memory.c:35] make_interpreter [interpreter.c:24] main [test_main.c:26] _start [crt1.o] Purify Heap Analysis (combining suppressed and unsuppressed blocks) Blocks Bytes Leaked 0 0 Potentially Leaked 6 65600 In-Use 4 8264 ---------------------------------------- Total Allocated 10 73864 **** Purify instrumented test_prog (pid 18093) **** * Program exited with status code 0. * 0 access errors, 0 total occurrences. * 0 bytes leaked. * 57400 bytes potentially leaked. * Basic memory usage (including Purify overhead): 462068 code 93516 data/bss 81920 heap (peak use) 2672 stack * Shared library memory usage (including Purify overhead): 1456 libpure_solaris2_init.so.1 (shared code) 252 libpure_solaris2_init.so.1 (private data) 141202 libm.so.1_pure_p3_c0_520_57_32_106368 (shared code) 1276 libm.so.1_pure_p3_c0_520_57_32_106368 (private data) 1051960 libc.so.1_pure_p3_c0_520_57_32_1115336 (shared code) 108024 libc.so.1_pure_p3_c0_520_57_32_1115336 (private data) 2316 libdl.so.1_pure_p3_c0_520_57_32_4528 (shared code) 4 libdl.so.1_pure_p3_c0_520_57_32_4528 (private data) 13528 libinternal_stubs.so.1 (shared code) 916 libinternal_stubs.so.1 (private data) 14284 libc_psr.so.1_pure_p3_c0_520_57_32 (shared code) 0 libc_psr.so.1_pure_p3_c0_520_57_32 (private data) * Memory mapped usage: 8192 mmap'd at 0xfebb0000