|
From: Benny C. <bwl...@gm...> - 2005-03-24 18:33:13
|
Nicholas Nethercote <njn <at> cs.utexas.edu> writes: > Even if that's the case, Valgrind should die with a helpful error message > rather than just seg faulting. Benny, can you file a Bugzilla bug report? > (see www.valgrind.org/support/bug_reports.html). Hi Nicholas, Here is my bug report. Hope it is of the right format and gives clear enough description, since I am writing such report for the first time. Please let me know if you need further information. Thanks a lot! Best Regards, Benny. ========= Bug Report: Segmentation fault with valgrind 2.4.0-rc4 ========== Valgrind version: 2.4.0-rc4 Linux version: Fedora Core 1 Kernel version (uname -r): 2.4.22-1.2115.nptl Compilation command: g++ -o ad65536 -g -O -DN=65536 -Wno-deprecated dsminit-add.cpp dsmlock.cpp dsmcomm.cpp dsmmem.cpp dsmall.cpp g++ (gcc) version: gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1) My application program is a parallel program. I run it using 8 machines, they communicate with each other through Linux sockets. SIGIO handler is installed and file I/O is possible. However, when error occurs, there should not be any SIGIO signal invoking (signals may be invoked during my self-implemented barrier, but they should have been served). There are no file I/O yet at the point of valgrind crash, except the program needs to read in the machine list at the start. This is the error log obtained using valgrind -v: [benny@GD074 benny]$ vg/bin/valgrind -v --tool=memcheck --error-limit=no ./ad65536 ==6859== Memcheck, a memory error detector for x86-linux. ==6859== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==6859== Using valgrind-2.4.0.rc4, a program supervision framework for x86-linux. ==6859== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==6859== Valgrind library directory: /home/benny/vg/lib/valgrind ==6859== Command line ==6859== ./ad65536 ==6859== Startup, with flags: ==6859== -v ==6859== --tool=memcheck ==6859== --error-limit=no ==6859== Contents of /proc/version: ==6859== Linux version 2.4.22-1.2115.nptl (bhc...@da...) (gcc version 3.2.3 20030422 (Red Hat Linux 3.2.3-6)) #1 Wed Oct 29 15:42:51 EST 2003 ==6859== Reading syms from /home/benny/ad65536 (0x8048000) ==6859== Warning: set address range perms: large range 285949952, a 0, v 0 ==6859== Reading syms from /mnt/nfsroot/lib/ld-2.3.2.so (0x1B8E4000) ==6859== object doesn't have any debug info ==6859== Reading syms from /home/benny/vg/lib/valgrind/stage2 (0xB0000000) ==6859== Reading syms from /mnt/nfsroot/lib/ld-2.3.2.so (0xB1000000) ==6859== object doesn't have any debug info ==6859== Reading syms from /mnt/nfsroot/lib/libdl-2.3.2.so (0xB1016000) ==6859== object doesn't have any debug info ==6859== Reading syms from /mnt/nfsroot/lib/tls/libc-2.3.2.so (0xB1019000) ==6859== object doesn't have any debug info ==6859== Reading syms from /home/benny/vg/lib/valgrind/vgskin_memcheck.so (0xB1152000) ==6859== Reading suppressions file: /home/benny/vg/lib/valgrind/default.supp ==6859== ==6859== Reading syms from /home/benny/vg/lib/valgrind/vg_inject.so (0x1B8FD000) ==6859== Reading syms from /home/benny/vg/lib/valgrind/vgpreload_memcheck.so (0x1B900000) ==6859== Reading syms from /mnt/nfsroot/usr/lib/libstdc++.so.5.0.5 (0x1B918000) ==6859== object doesn't have a symbol table ==6859== object doesn't have any debug info ==6859== Reading syms from /mnt/nfsroot/lib/tls/libm-2.3.2.so (0x1B9D1000) ==6859== object doesn't have any debug info ==6859== Reading syms from /mnt/nfsroot/lib/libgcc_s-3.3.2-20031023.so.1 (0x1B9F4000) ==6859== object doesn't have a symbol table ==6859== object doesn't have any debug info ==6859== Reading syms from /mnt/nfsroot/lib/tls/libc-2.3.2.so (0x1B9FD000) ==6859== object doesn't have any debug info ==6859== Reading syms from /mnt/nfsroot/lib/libdl-2.3.2.so (0x1BB39000) ==6859== object doesn't have any debug info ==6859== TRANSLATE: 0x1BA731D0 redirected to 0x1B9045A8 ==6859== TRANSLATE: 0x1B8E4C30 redirected to 0x52BFF020 start ==6859== TRANSLATE: 0x1BA6C080 redirected to 0x1B9034E0 The file has 8 lines ==6859== TRANSLATE: 0x1BA6C200 redirected to 0x1B9039F0 ID is 0 ID 0: Hostname is GD074A rsh -l benny GD075A "./ad65536 dsmid 1 port 17767 " & rsh -l benny GD076A "./ad65536 dsmid 2 port 17767 " & rsh -l benny GD077A "./ad65536 dsmid 3 port 17767 " & rsh -l benny GD078A "./ad65536 dsmid 4 port 17767 " & rsh -l benny GD079A "./ad65536 dsmid 5 port 17767 " & rsh -l benny GD080A "./ad65536 dsmid 6 port 17767 " & rsh -l benny GD081A "./ad65536 dsmid 7 port 17767 " & First 0 is 0x8212020 Final 2047 is 0x10212000 End bound is 0x10222020 ID 0: Comm Init Okay ==6859== Warning: set address range perms: large range 268435456, a 0, v 1 maddr[0] is 0x1c7fc028 ==6859== Warning: set address range perms: large range 268435456, a 0, v 1 maddr[1] is 0x2c7fe028 ==6859== Warning: set address range perms: large range 268435456, a 0, v 1 maddr[2] is 0x3c800028 start The file has 8 lines ID is 2 ID 2: Hostname is GD076A start The file has 8 lines ID is 1 ID 1: Hostname is GD075A start The file has 8 lines ID is 3 ID 3: Hostname is GD077A start The file has 8 lines ID is 4 ID 4: Hostname is GD078A start The file has 8 lines ID is 5 ID 5: Hostname is GD079A start The file has 8 lines ID is 6 ID 6: Hostname is GD080A start The file has 8 lines ID is 7 ID 7: Hostname is GD081A ==6859== TRANSLATE: 0x1B9A8600 redirected to 0x1B903881 ==6859== TRANSLATE: 0x1B9A6F50 redirected to 0x1B903D08 xbcount = 1, linec = 8, from 0 barr(): now at barrwait xbcount = 2, linec = 8, from 2 xbcount = 3, linec = 8, from 5 xbcount = 4, linec = 8, from 7 xbcount = 5, linec = 8, from 1 xbcount = 6, linec = 8, from 3 xbcount = 7, linec = 8, from 6 xbcount = 8, linec = 8, from 4 Into barrgrant sending routine Sending Barrgrant message to 0 Sending Barrgrant message to 1 Sending Barrgrant message to 2 Sending Barrgrant message to 3 Sending Barrgrant message to 4 Sending Barrgrant message to 5 Sending Barrgrant message to 6 Sending Barrgrant message to 7 barr(): barrwait says 0, passed barrier Debug: Allocating 65536 elements on obj 128, address in object map is 0x1c7fc220 Debug: id = 128, objid = 128, #segment = 16 Debug: first segment address 0x1e7bc028 Debug: Allocating 65536 elements on obj 256, address in object map is 0x1c7fc420 Debug: id = 256, objid = 256, #segment = 16 Debug: first segment address 0x207bc028 Debug: Allocating 65536 elements on obj 384, address in object map is 0x1c7fc620 Debug: id = 384, objid = 384, #segment = 16 Debug: first segment address 0x227bc028 Debug: Allocating 65536 elements on obj 512, address in object map is 0x1c7fc820 Debug: id = 512, objid = 512, #segment = 16 Debug: first segment address 0x247bc028 Debug: Allocating 65536 elements on obj 640, address in object map is 0x1c7fca20 Debug: id = 640, objid = 640, #segment = 16 Debug: first segment address 0x267bc028 Debug: Allocating 65536 elements on obj 768, address in object map is 0x1c7fcc20 Debug: id = 768, objid = 768, #segment = 16 Debug: first segment address 0x287bc028 Debug: Allocating 65536 elements on obj 896, address in object map is 0x1c7fce20 Debug: id = 896, objid = 896, #segment = 16 Debug: first segment address 0x2a7bc028 Segmentation fault [benny@GD074 benny]$ exit Script done on Thu 24 Mar 2005 07:48:32 PM HKT (Using valgrind 2.2.0, the above error does not occur. Or, if my program allocates three chunks of 64MB of memory instead of 256MB, the above error does not occur either with valgrind 2.4.0-rc4). |