On Sun, 11 Dec 2005, Justin Pryzby wrote: >Thanks for the info. Could you try running it under valgrind? If you
OK. >still have the debug copy of make lying around, that would be Yes. >preferrable. I'm curious if glob() is reading or writing to invalid Here are the results: ==1919== Memcheck, a memory error detector for x86-linux. ==1919== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==1919== Using valgrind-2.4.0, a program supervision framework for x86-linux. ==1919== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==1919== ==1919== My PID = 1919, parent PID = 31849. Prog and args are: ==1919== ../make-dbg/make-3.80/make ==1919== ==1919== Valgrind library directory: /usr/lib/valgrind ==1919== Command line ==1919== ../make-dbg/make-3.80/make ==1919== Startup, with flags: ==1919== -v ==1919== --log-file=/tmp/valg2.txt ==1919== Contents of /proc/version: ==1919== Linux version 2.4.29 ([EMAIL PROTECTED]) (gcc version 3.3.5 (Debian 1:3.3.5-8)) #1 Thu Feb 24 17:03:56 EET 2005 ==1919== Reading syms from /home/tuukkat/work/make-dbg/make-3.80/make (0x8048000) ==1919== Reading syms from /lib/ld-2.3.2.so (0x1B8E4000) ==1919== object doesn't have a symbol table ==1919== Reading debug info from /lib/ld-2.3.2.so... ==1919== ... CRC mismatch (computed E7117123 wanted 4ECF6D33) ==1919== object doesn't have any debug info ==1919== Reading syms from /usr/lib/valgrind/stage2 (0xB0000000) ==1919== Reading syms from /lib/ld-2.3.2.so (0xB1000000) ==1919== object doesn't have a symbol table ==1919== Reading debug info from /lib/ld-2.3.2.so... ==1919== ... CRC mismatch (computed E7117123 wanted 4ECF6D33) ==1919== object doesn't have any debug info ==1919== Reading syms from /lib/libdl-2.3.2.so (0xB1028000) ==1919== object doesn't have a symbol table ==1919== Reading debug info from /lib/libdl-2.3.2.so... ==1919== ... CRC mismatch (computed 6F61513E wanted 280D08E5) ==1919== object doesn't have any debug info ==1919== Reading syms from /lib/libc-2.3.2.so (0xB102B000) ==1919== object doesn't have a symbol table ==1919== Reading debug info from /lib/libc-2.3.2.so... ==1919== ... CRC mismatch (computed 76EC50B6 wanted 52619D67) ==1919== object doesn't have any debug info ==1919== Reading syms from /usr/lib/valgrind/vgskin_memcheck.so (0xB125F000) ==1919== Reading suppressions file: /usr/lib/valgrind/default.supp ==1919== ==1919== Reading syms from /usr/lib/valgrind/vg_inject.so (0x1B8FE000) ==1919== Reading syms from /usr/lib/valgrind/vgpreload_memcheck.so (0x1B901000) ==1919== Reading syms from /lib/librt-2.3.2.so (0x1B91C000) ==1919== object doesn't have a symbol table ==1919== Reading debug info from /lib/librt-2.3.2.so... ==1919== ... CRC mismatch (computed 41D974E0 wanted 9761B3E0) ==1919== object doesn't have any debug info ==1919== Reading syms from /lib/libc-2.3.2.so (0x1B930000) ==1919== object doesn't have a symbol table ==1919== Reading debug info from /lib/libc-2.3.2.so... ==1919== ... CRC mismatch (computed 76EC50B6 wanted 52619D67) ==1919== object doesn't have any debug info ==1919== Reading syms from /lib/libdl-2.3.2.so (0x1BA64000) ==1919== object doesn't have a symbol table ==1919== Reading debug info from /lib/libdl-2.3.2.so... ==1919== ... CRC mismatch (computed 6F61513E wanted 280D08E5) ==1919== object doesn't have any debug info ==1919== Reading syms from /lib/libpthread-0.10.so (0x1BA68000) ==1919== Reading debug info from /lib/libpthread-0.10.so... ==1919== ... CRC mismatch (computed B767E120 wanted 5963E353) ==1919== object doesn't have any debug info ==1919== TRANSLATE: 0x1B9A0F20 redirected to 0x1B904510 ==1919== TRANSLATE: 0x1B9A7720 redirected to 0x1B905C80 ==1919== TRANSLATE: 0x1B9A10E0 redirected to 0x1B904A82 ==1919== TRANSLATE: 0x1B9A1710 redirected to 0x1B904EE2 ==1919== TRANSLATE: 0x1B9A11A0 redirected to 0x1B904FA1 ==1919== Invalid read of size 4 ==1919== at 0x1BA70F5C: __pthread_internal_tsd_get (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFD88 is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== Invalid read of size 4 ==1919== at 0x1B9DDE6B: (within /lib/libc-2.3.2.so) ==1919== Address 0xC is not stack'd, malloc'd or (recently) free'd ==1919== ==1919== Process terminating with default action of signal 11 (SIGSEGV) ==1919== Access not within mapped region at address 0xC ==1919== at 0x1B9DDE6B: (within /lib/libc-2.3.2.so) ==1919== ==1919== Invalid read of size 1 ==1919== at 0x1BA6CBAE: _pthread_cleanup_push_defer (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC61 is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== Invalid read of size 4 ==1919== at 0x1BA6CBB8: _pthread_cleanup_push_defer (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC5C is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== Invalid write of size 1 ==1919== at 0x1BA6CBD0: _pthread_cleanup_push_defer (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC61 is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== Invalid write of size 4 ==1919== at 0x1BA6CBD7: _pthread_cleanup_push_defer (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC5C is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== Invalid read of size 1 ==1919== at 0x1BA6CC1B: _pthread_cleanup_pop_restore (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC62 is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== Invalid write of size 4 ==1919== at 0x1BA6CC25: _pthread_cleanup_pop_restore (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC5C is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== Invalid write of size 1 ==1919== at 0x1BA6CC2C: _pthread_cleanup_pop_restore (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC61 is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== Invalid read of size 4 ==1919== at 0x1BA3BB02: (within /lib/libc-2.3.2.so) ==1919== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==1919== ==1919== Process terminating with default action of signal 11 (SIGSEGV) ==1919== Access not within mapped region at address 0x0 ==1919== at 0x1BA3BB02: (within /lib/libc-2.3.2.so) ==1919== ==1919== ERROR SUMMARY: 11 errors from 10 contexts (suppressed: 18 from 2) ==1919== ==1919== 1 errors in context 1 of 10: ==1919== Invalid read of size 4 ==1919== at 0x1BA3BB02: (within /lib/libc-2.3.2.so) ==1919== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==1919== ==1919== 1 errors in context 2 of 10: ==1919== Invalid write of size 1 ==1919== at 0x1BA6CC2C: _pthread_cleanup_pop_restore (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC61 is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== 1 errors in context 3 of 10: ==1919== Invalid write of size 4 ==1919== at 0x1BA6CC25: _pthread_cleanup_pop_restore (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC5C is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== 1 errors in context 4 of 10: ==1919== Invalid read of size 1 ==1919== at 0x1BA6CC1B: _pthread_cleanup_pop_restore (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC62 is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== 1 errors in context 5 of 10: ==1919== Invalid write of size 4 ==1919== at 0x1BA6CBD7: _pthread_cleanup_push_defer (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC5C is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== 1 errors in context 6 of 10: ==1919== Invalid write of size 1 ==1919== at 0x1BA6CBD0: _pthread_cleanup_push_defer (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC61 is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== 1 errors in context 7 of 10: ==1919== Invalid read of size 4 ==1919== at 0x1BA6CBB8: _pthread_cleanup_push_defer (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC5C is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== 1 errors in context 8 of 10: ==1919== Invalid read of size 1 ==1919== at 0x1BA6CBAE: _pthread_cleanup_push_defer (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFC61 is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes ==1919== ==1919== 1 errors in context 9 of 10: ==1919== Invalid read of size 4 ==1919== at 0x1B9DDE6B: (within /lib/libc-2.3.2.so) ==1919== Address 0xC is not stack'd, malloc'd or (recently) free'd ==1919== ==1919== 2 errors in context 10 of 10: ==1919== Invalid read of size 4 ==1919== at 0x1BA70F5C: __pthread_internal_tsd_get (in /lib/libpthread-0.10.so) ==1919== Address 0x525FFD88 is just below %esp. Possibly a bug in GCC/G++ ==1919== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes --1919-- --1919-- supp: 1 Unterminated strstr string in is_smp_system() (LinuxThreads) --1919-- supp: 17 Ugly strchr error in /lib/ld-2.3.2.so ==1919== ==1919== IN SUMMARY: 11 errors from 10 contexts (suppressed: 18 from 2) ==1919== ==1919== malloc/free: in use at exit: 45347741 bytes in 1209445 blocks. ==1919== malloc/free: 1209594 allocs, 149 frees, 47450010 bytes allocated. ==1919== ==1919== searching for pointers to 1209445 not-freed blocks. ==1919== checked 25488232 bytes. ==1919== ==1919== LEAK SUMMARY: ==1919== definitely lost: 19576842 bytes in 392115 blocks. ==1919== possibly lost: 2421 bytes in 48 blocks. ==1919== still reachable: 25768478 bytes in 817282 blocks. ==1919== suppressed: 0 bytes in 0 blocks. ==1919== Use --leak-check=full to see details of leaked memory. --1919-- TT/TC: 0 tc sectors discarded. --1919-- 4056 tt_fast misses. --1919-- translate: new 4003 (65802 -> 887546; ratio 134:10) --1919-- discard 0 (0 -> 0; ratio 0:10). --1919-- chainings: 2625 chainings, 0 unchainings. --1919-- dispatch: 373110979 jumps (bb entries); of them 31877239 (8%) unchained. --1919-- 7463/1228860 major/minor sched events. --1919-- reg-alloc: 759 t-req-spill, 156630+5136 orig+spill uis, --1919-- 20482 total-reg-rank --1919-- sanity: 7464 cheap, 299 expensive checks. --1919-- ccalls: 15219 C calls, 54% saves+restores avoided (48776 bytes) --1919-- 20541 args, avg 0.86 setup instrs each (5390 bytes) --1919-- 0% clear the stack (45657 bytes) --1919-- 6672 retvals, 28% of reg-reg movs avoided (3660 bytes) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]