The same error problems are occuring with ROOT 5.19.04, which I compiled recently on the following
machine:
$ gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /cardhu.b/gnatmail/release-gpl/build-cardhu/src/configure --prefix=/usr/gnat
–enable-languages=c,ada --disable-nls --disable-libada --target=i686-pc-linux-gnu
–host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --enable-checking=release --enable-threads=posix
Thread model: posix
gcc version 4.1.3 20070403 for GNAT GPL 2007 (20070402)
$ uname -a
Linux nulinux 2.6.22.18-co-0.8.0 #1 PREEMPT Sat Mar 29 14:40:10 UTC 2008 i686 i686 i386 GNU/Linux
After reading some more of ROOTTALK I discovered an answer suggesting the use of valgrind. Here is
the output, and again using the -v and --show-reachable=yes options as suggested by valgrind.
I have read about undoDB (undo-software.com), which can step backwards in a program. I am not paid to program and so could
download for free, but I’m not sure I would then know how to use it or what the data might mean.
The aborted 05andi.cxx and 05andi.h files are at the bottom, if where they end is of any help.
Thank you.
$ rootcint -f 05andi.cxx -c -p -I. -I/opt/cern/root/include netcdfcpp.h ms10.h ms10io.h
andi_LinkDef.h
Segmentation fault
$ valgrind rootcint -f 05andi.cxx -c -p -I. -I/opt/cern/root/include netcdfcpp.h ms10.h
ms10io.h andi_LinkDef.h
==2946== Memcheck, a memory error detector.
==2946== Copyright © 2002-2006, and GNU GPL’d, by Julian Seward et al.
==2946== Using LibVEX rev 1658, a library for dynamic binary translation.
==2946== Copyright © 2004-2006, and GNU GPL’d, by OpenWorks LLP.
==2946== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==2946== Copyright © 2000-2006, and GNU GPL’d, by Julian Seward et al.
==2946== For more details, rerun with: -v
==2946==
==2946== Invalid read of size 4
==2946== at 0x41AD5C6: G__getvariable (in /opt/cern/root/lib/libCint.so)
==2946== by 0x41B5160: G__getstructmem (in /opt/cern/root/lib/libCint.so)
==2946== by 0x40BF371: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2946== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2946== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2946== by 0x40BF1FD: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2946== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2946== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2946== by 0x40BFFB3: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2946== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2946== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2946== by 0x40BF1FD: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2946== Address 0x40 is not stack’d, malloc’d or (recently) free’d
==2946==
==2946== Process terminating with default action of signal 11 (SIGSEGV)
==2946== Access not within mapped region at address 0x40
==2946== at 0x41AD5C6: G__getvariable (in /opt/cern/root/lib/libCint.so)
==2946== by 0x41B5160: G__getstructmem (in /opt/cern/root/lib/libCint.so)
==2946== by 0x40BF371: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2946== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2946== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2946== by 0x40BF1FD: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2946== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2946== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2946== by 0x40BFFB3: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2946== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2946== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2946== by 0x40BF1FD: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2946==
==2946== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 20 from 1)
==2946== malloc/free: in use at exit: 576,853 bytes in 11,902 blocks.
==2946== malloc/free: 17,804 allocs, 5,902 frees, 1,494,517 bytes allocated.
==2946== For counts of detected errors, rerun with: -v
==2946== searching for pointers to 11,902 not-freed blocks.
==2946== checked 4,319,248 bytes.
==2946==
==2946== LEAK SUMMARY:
==2946== definitely lost: 0 bytes in 0 blocks.
==2946== possibly lost: 738 bytes in 28 blocks.
==2946== still reachable: 576,115 bytes in 11,874 blocks.
==2946== suppressed: 0 bytes in 0 blocks.
==2946== Reachable blocks (those to which a pointer was found) are not shown.
==2946== To see them, rerun with: --show-reachable=yes
Segmentation fault
$ valgrind -v --show-reachable=yes rootcint -f -5andi.cxx -c -p -I. -I/opt/cern/root/include
netcdfcpp.h ms10.h ms10io.h andi_LinkDef.h
==2952== Memcheck, a memory error detector.
==2952== Copyright © 2002-2006, and GNU GPL’d, by Julian Seward et al.
==2952== Using LibVEX rev 1658, a library for dynamic binary translation.
==2952== Copyright © 2004-2006, and GNU GPL’d, by OpenWorks LLP.
==2952== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==2952== Copyright © 2000-2006, and GNU GPL’d, by Julian Seward et al.
==2952==
–2952-- Command line
–2952-- rootcint
–2952-- -f
–2952-- -5andi.cxx
–2952-- -c
–2952-- -p
–2952-- -I.
–2952-- -I/opt/cern/root/include
–2952-- netcdfcpp.h
–2952-- ms10.h
–2952-- ms10io.h
–2952-- andi_LinkDef.h
–2952-- Startup, with flags:
–2952-- -v
–2952-- --show-reachable=yes
–2952-- Contents of /proc/version:
–2952-- Linux version 2.6.22.18-co-0.8.0 (hn@hn-dt) (gcc version 4.2.1 (SUSE Linux)) #1 PREEMPT Sat Mar 29 14:40:10 UTC 2008
–2952-- Arch and hwcaps: X86, x86-sse1-sse2
–2952-- Valgrind library directory: /usr/lib/valgrind
–2952-- Reading syms from /opt/cern/root/bin/rootcint (0x8048000)
–2952-- Reading syms from /usr/lib/valgrind/x86-linux/memcheck (0x38000000)
–2952-- object doesn’t have a dynamic symbol table
–2952-- Reading syms from /lib/ld-2.5.so (0x4FFA2000)
–2952-- Reading suppressions file: /usr/lib/valgrind/default.supp
–2952-- REDIR: 0x4FFB70F0 (index) redirected to 0x38027D0F (vgPlain_x86_linux_REDIR_FOR_index)
–2952-- Reading syms from /usr/lib/valgrind/x86-linux/vgpreload_core.so (0x4001000)
–2952-- Reading syms from /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so (0x4003000)
==2952== WARNING: new redirection conflicts with existing – ignoring it
–2952-- new: 0x4FFB70F0 (index ) R-> 0x040060C0 index
–2952-- REDIR: 0x4FFB7290 (strlen) redirected to 0x4006290 (strlen)
–2952-- Reading syms from /opt/cern/root/lib/libCint.so (0x4009000)
–2952-- Reading syms from /lib/libdl-2.5.so (0x41127000)
–2952-- Reading syms from /usr/lib/libstdc++.so.6.0.8 (0x41F9D000)
–2952-- object doesn’t have a symbol table
–2952-- Reading syms from /lib/libm-2.5.so (0x410FE000)
–2952-- Reading syms from /lib/libgcc_s-4.1.1-20061011.so.1 (0x41EF0000)
–2952-- object doesn’t have a symbol table
–2952-- Reading syms from /lib/libc-2.5.so (0x4FFBF000)
–2952-- REDIR: 0x5002B640 (rindex) redirected to 0x4005FA0 (rindex)
–2952-- REDIR: 0x5002C4E0 (memset) redirected to 0x4006580 (memset)
–2952-- REDIR: 0x5002B2A0 (strlen) redirected to 0x4006270 (strlen)
–2952-- REDIR: 0x42052D00 (operator new(unsigned)) redirected to 0x4005B19 (operator new(unsigned))
–2952-- REDIR: 0x5002C9D0 (memcpy) redirected to 0x4006C60 (memcpy)
–2952-- REDIR: 0x5002B490 (strncmp) redirected to 0x40062D0 (strncmp)
–2952-- REDIR: 0x50026CB0 (malloc) redirected to 0x400537B (malloc)
–2952-- REDIR: 0x500284C0 (free) redirected to 0x4004F95 (free)
–2952-- REDIR: 0x5002ADB0 (strcpy) redirected to 0x40069F0 (strcpy)
–2952-- REDIR: 0x500269B0 (calloc) redirected to 0x40046A8 (calloc)
–2952-- REDIR: 0x5002B590 (strncpy) redirected to 0x4006DE0 (strncpy)
–2952-- REDIR: 0x42051850 (operator delete(void*)) redirected to 0x4004CAC (operator delete(void*))
–2952-- REDIR: 0x5002AA20 (strcat) redirected to 0x4006660 (strcat)
–2952-- REDIR: 0x5002ABD0 (index) redirected to 0x4006090 (index)
–2952-- REDIR: 0x5002B350 (strnlen) redirected to 0x4006240 (strnlen)
–2952-- REDIR: 0x500286B0 (realloc) redirected to 0x400542A (realloc)
–2952-- REDIR: 0x5002AD40 (strcmp) redirected to 0x4006340 (strcmp)
–2952-- Reading syms from /opt/cern/root/cint/cint/include/stdfunc.dll (0x45D0000)
–2952-- REDIR: 0x4FFB7650 (stpcpy) redirected to 0x4006830 (stpcpy)
–2952-- REDIR: 0x5002C6D0 (stpcpy) redirected to 0x4006910 (stpcpy)
–2952-- REDIR: 0x5002BFE0 (memchr) redirected to 0x4006460 (memchr)
==2952== Invalid read of size 4
==2952== at 0x41AD5C6: G__getvariable (in /opt/cern/root/lib/libCint.so)
==2952== by 0x41B5160: G__getstructmem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BF371: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BF1FD: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BFFB3: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BF1FD: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== Address 0x40 is not stack’d, malloc’d or (recently) free’d
==2952==
==2952== Process terminating with default action of signal 11 (SIGSEGV)
==2952== Access not within mapped region at address 0x40
==2952== at 0x41AD5C6: G__getvariable (in /opt/cern/root/lib/libCint.so)
==2952== by 0x41B5160: G__getstructmem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BF371: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BF1FD: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BFFB3: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BF1FD: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952==
==2952== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 20 from 1)
==2952==
==2952== 1 errors in context 1 of 1:
==2952== Invalid read of size 4
==2952== at 0x41AD5C6: G__getvariable (in /opt/cern/root/lib/libCint.so)
==2952== by 0x41B5160: G__getstructmem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BF371: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BF1FD: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BFFB3: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== by 0x4095741: G__getitem (in /opt/cern/root/lib/libCint.so)
==2952== by 0x409C719: G__getexpr (in /opt/cern/root/lib/libCint.so)
==2952== by 0x40BF1FD: G__getfunction (in /opt/cern/root/lib/libCint.so)
==2952== Address 0x40 is not stack’d, malloc’d or (recently) free’d
–2952–
–2952-- supp: 20 Fedora-Core-6-hack3-ld25
==2952==
==2952== IN SUMMARY: 1 errors from 1 contexts (suppressed: 20 from 1)
==2952==
==2952== malloc/free: in use at exit: 576,853 bytes in 11,902 blocks.
==2952== malloc/free: 17,804 allocs, 5,902 frees, 1,494,517 bytes allocated.
==2952==
==2952== searching for pointers to 11,902 not-freed blocks.
==2952== checked 4,319,236 bytes.
==2952==
==2952== LEAK SUMMARY:
==2952== definitely lost: 0 bytes in 0 blocks.
==2952== possibly lost: 738 bytes in 28 blocks.
==2952== still reachable: 576,115 bytes in 11,874 blocks.
==2952== suppressed: 0 bytes in 0 blocks.
–2952-- memcheck: sanity checks: 257 cheap, 11 expensive
–2952-- memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use
–2952-- memcheck: auxmaps: 0 searches, 0 comparisons
–2952-- memcheck: SMs: n_issued = 74 (1184k, 1M)
–2952-- memcheck: SMs: n_deissued = 0 (0k, 0M)
–2952-- memcheck: SMs: max_noaccess = 65535 (1048560k, 1023M)
–2952-- memcheck: SMs: max_undefined = 0 (0k, 0M)
–2952-- memcheck: SMs: max_defined = 129 (2064k, 2M)
–2952-- memcheck: SMs: max_non_DSM = 74 (1184k, 1M)
–2952-- memcheck: max sec V bit nodes: 2 (0k, 0M)
–2952-- memcheck: set_sec_vbits8 calls: 6 (new: 2, updates: 4)
–2952-- memcheck: max shadow mem size: 1488k, 1M
–2952-- translate: fast SP updates identified: 11,325 ( 90.8%)
–2952-- translate: generic_known SP updates identified: 712 ( 5.7%)
–2952-- translate: generic_unknown SP updates identified: 423 ( 3.3%)
–2952-- tt/tc: 85,763 tt lookups requiring 93,134 probes
–2952-- tt/tc: 85,763 fast-cache updates, 3 flushes
–2952-- transtab: new 14,800 (368,172 -> 5,517,521; ratio 149:10) [0 scs]
–2952-- transtab: dumped 0 (0 -> ??)
–2952-- transtab: discarded 8 (189 -> ??)
–2952-- scheduler: 25,763,202 jumps (bb entries).
–2952-- scheduler: 257/115,200 major/minor sched events.
–2952-- sanity: 258 cheap, 11 expensive checks.
–2952-- exectx: 30,011 lists, 2,983 contexts (avg 0 per list)
–2952-- exectx: 23,711 searches, 21,168 full compares (892 per 1000)
–2952-- exectx: 0 cmp2, 62 cmp4, 0 cmpAll
Segmentation fault
more 05andi.cxx
/********************************************************
********************************************************/
#include “05andi.h” //newlink 3678
#ifdef G__MEMTEST
#undef malloc
#undef free
#endif
#if defined(GNUC) && (GNUC > 3) && (GNUC_MINOR > 1)
#pragma GCC diagnostic ignored “-Wstrict-aliasing”
#endif
extern “C” void G__cpp_reset_tagtable05andi();
extern “C” void G__set_cpp_environment05andi() {
G__add_compiledheader("/tmp/rootcint_Gqo1dz.h");
$ more 05andi.h
/********************************************************************
********************************************************************/
#ifdef CINT
#error 05andi.h/C is only for compilation. Abort cint.
#endif
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#define G__ANSIHEADER
#define G__DICTIONARY
#include "G__ci.h"
extern “C” {
extern void G__cpp_setup_tagtable05andi();
extern void G__cpp_setup_inheritance05andi();
extern void G__cpp_setup_typetable05andi();
extern void G__cpp_setup_memvar05andi();
extern void G__cpp_setup_global05andi();
extern void G__cpp_setup_memfunc05andi();
extern void G__cpp_setup_func05andi();
extern void G__set_cpp_environment05andi();
}
#include “/tmp/rootcint_Gqo1dz.h”