Dear All,
I am interested in studying memory usage in a variety of situations inside ROOT. Usually I do it with TObjectTable but it has come to my attention that the TMemStat might be better for studying memory footprints. However, when trying to instance a TMemStat object by using TMemStat mm("gnubuiltin");
or so, I get a bus error (reproduced below).
Do I miss a .rootrc option or perhaps a compilation option? When I tried enabling Root.TMemStat: 1
inside $ROOTSYS/etc/system.rootrc
I also get a crash when starting root (probably the same crash as root initialization will probably try instancing the TMemStat…).
My operating system is MAC OS X 10.8.2 and I’m running ROOT v5-34-05…
Many thanks for all help!
Best Regards,
David
Bus Error:
[code]root [0] TMemStat mm(“gnubuiltin”);
*** Break *** bus error
===========================================================
There was a crash (kSigBus).
This is the entire stack trace of all threads:
Thread 1 (process 6377):
#0 0x00007fff8a3af6ac in wait4 ()
#1 0x00007fff8890603a in system ()
#2 0x0000000102055899 in TUnixSystem::Exec (this=0x7fbb5b407850, shellcmd=0x7fbb5c4c78c0 “/Users/david/wonderland/root-v5-34-05/etc/gdb-backtrace.sh /Users/david/wonderland/root/bin/root.exe 6377 1>&2”) at /Users/david/wonderland/root-v5-34-05/core/unix/src/TUnixSystem.cxx:2088
#3 0x000000010205646c in TUnixSystem::StackTrace (this=0x7fbb5b407850) at /Users/david/wonderland/root-v5-34-05/core/unix/src/TUnixSystem.cxx:2336
#4 0x0000000102053203 in TUnixSystem::DispatchSignals (this=0x7fbb5b407850, sig=kSigBus) at /Users/david/wonderland/root-v5-34-05/core/unix/src/TUnixSystem.cxx:1212
#5 0x000000010204fb34 in SigHandler (sig=kSigBus) at /Users/david/wonderland/root-v5-34-05/core/unix/src/TUnixSystem.cxx:368
#6 0x000000010205b7e7 in sighandler (sig=10) at /Users/david/wonderland/root-v5-34-05/core/unix/src/TUnixSystem.cxx:3650
#7 0x000000010209a896 in textinput::TerminalConfigUnix::HandleSignal (this=0x1028105c8, signum=10) at /Users/david/wonderland/root-v5-34-05/core/textinput/src/textinput/TerminalConfigUnix.cpp:96
#8 0x000000010209a69b in TerminalConfigUnix__handleSignal (signum=10) at /Users/david/wonderland/root-v5-34-05/core/textinput/src/textinput/TerminalConfigUnix.cpp:36
#9
#10 0x00000001066088a8 in TMemStatHook::trackZoneMalloc (pm=0x106600100 <memstat::TMemStatMng::MacAllocHook(void*, unsigned long)>, pf=0x106600150 memstat::TMemStatMng::MacFreeHook(void*)) at /Users/david/wonderland/root-v5-34-05/misc/memstat/src/TMemStatHook.cxx:110
#11 0x00000001066000ee in memstat::TMemStatMng::Enable (this=0x7fbb5c4bf410) at /Users/david/wonderland/root-v5-34-05/misc/memstat/src/TMemStatMng.cxx:237
#12 0x00000001065fe6ef in TMemStat::TMemStat (this=0x7fbb5c4bc1e0, option=0x7fbb5c3323a8 “gnubuiltin”, buffersize=10000, maxcalls=5000000) at /Users/david/wonderland/root-v5-34-05/misc/memstat/src/TMemStat.cxx:125
#13 0x00000001065fe4d9 in TMemStat::TMemStat (this=0x7fbb5c4bc1e0, option=0x7fbb5c3323a8 “gnubuiltin”, buffersize=10000, maxcalls=5000000) at /Users/david/wonderland/root-v5-34-05/misc/memstat/src/TMemStat.cxx:129
#14 0x000000010660f240 in G__G__MemStat_131_0_1 ()
#15 0x0000000102dc3044 in Cint::G__ExceptionWrapper (funcp=0x10660ea10 <G__G__MemStat_131_0_1(G__value*, char const*, G__param*, int)>, result7=0x7fff5dd013a0, funcname=0x7fbb5c02d640 “”, libp=0x7fff5dcf6960, hash=0) at Api.cxx:393
#16 0x0000000102ece862 in G__execute_call (result7=0x7fff5dd013a0, libp=0x7fff5dcf6960, ifunc=0x7fbb5c02d640, ifn=0) at newlink.cxx:2408
#17 0x0000000102ecf1e5 in G__call_cppfunc (result7=0x7fff5dd013a0, libp=0x7fff5dcf6960, ifunc=0x7fbb5c02d640, ifn=0) at newlink.cxx:2612
#18 0x0000000102e910e4 in G__interpret_func (result7=0x7fff5dd013a0, funcname=0x7fbb5b822c00 “TMemStat”, libp=0x7fff5dcf6960, hash=783, p_ifunc=0x7fbb5c02d640, funcmatch=1, memfunc_flag=3) at ifunc.cxx:5791
#19 0x0000000102e73cac in G__getfunction (item=0x7fbb5b84a200 “TMemStat(“gnubuiltin”)”, known3=0x7fff5dd02fb8, memfunc_flag=3) at func.cxx:2660
#20 0x0000000102e30d69 in G__define_var (tagnum=1745, typenum=-1) at decl.cxx:2232
#21 0x0000000102f1c621 in G__defined_type (type_name=
0x7fff5dd046e0, len=8) at parse.cxx:4652
#22 0x0000000102f1298f in G__exec_statement (mparen=0x7fff5dd0485c) at parse.cxx:6672
#23 0x0000000102e2d010 in G__exec_tempfile_core (file=0x0, fp=0x7fff75603300) at debug.cxx:266
#24 0x0000000102e2c9c9 in G__exec_tempfile_fp (fp=0x7fff75603300) at debug.cxx:807
#25 0x0000000102f30970 in G__process_cmd (line=0x7fbb5c331dc0 “TMemStat mm(“gnubuiltin”);”, prompt=0x7fbb5b412e78 “”, more=0x7fbb5b412e70, err=0x7fff5dd07a8c, rslt=0x7fff5dd07a90) at pause.cxx:3343
#26 0x0000000101ff3b49 in TCint::ProcessLine (this=0x7fbb5b412e30, line=0x7fbb5c331dc0 “TMemStat mm(“gnubuiltin”);”, error=0x0) at /Users/david/wonderland/root-v5-34-05/core/meta/src/TCint.cxx:545
#27 0x0000000101f05645 in TApplication::ProcessLine (this=0x7fbb5b4f68a0, line=0x7fbb5c331dc0 “TMemStat mm(“gnubuiltin”);”, sync=false, err=0x0) at /Users/david/wonderland/root-v5-34-05/core/base/src/TApplication.cxx:896
#28 0x00000001036f00f7 in TRint::HandleTermInput (this=0x7fbb5b4f68a0) at /Users/david/wonderland/root-v5-34-05/core/rint/src/TRint.cxx:584
#29 0x00000001036ed3ea in TTermInputHandler::Notify (this=0x7fbb5c325260) at /Users/david/wonderland/root-v5-34-05/core/rint/src/TRint.cxx:125
#30 0x00000001036f1659 in TTermInputHandler::ReadNotify (this=0x7fbb5c325260) at /Users/david/wonderland/root-v5-34-05/core/rint/src/TRint.cxx:117
#31 0x00000001020523fe in TUnixSystem::CheckDescriptors (this=0x7fbb5b407850) at /Users/david/wonderland/root-v5-34-05/core/unix/src/TUnixSystem.cxx:1314
#32 0x0000000102051e21 in TUnixSystem::DispatchOneEvent (this=0x7fbb5b407850, pendingOnly=false) at /Users/david/wonderland/root-v5-34-05/core/unix/src/TUnixSystem.cxx:1021
#33 0x0000000101f93773 in TSystem::InnerLoop (this=0x7fbb5b407850) at /Users/david/wonderland/root-v5-34-05/core/base/src/TSystem.cxx:408
#34 0x0000000101f935bc in TSystem::Run (this=0x7fbb5b407850) at /Users/david/wonderland/root-v5-34-05/core/base/src/TSystem.cxx:358
#35 0x0000000101f065b4 in TApplication::Run (this=0x7fbb5b4f68a0, retrn=false) at /Users/david/wonderland/root-v5-34-05/core/base/src/TApplication.cxx:1044
#36 0x00000001036ef7de in TRint::Run (this=0x7fbb5b4f68a0, retrn=false) at /Users/david/wonderland/root-v5-34-05/core/rint/src/TRint.cxx:455
#37 0x0000000101ef6714 in main (argc=1, argv=0x7fff5dd0a538) at /Users/david/wonderland/root-v5-34-05/main/src/rmain.cxx:29
The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug report at
http://root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
#10 0x00000001066088a8 in TMemStatHook::trackZoneMalloc (pm=0x106600100 <memstat::TMemStatMng::MacAllocHook(void*, unsigned long)>, pf=0x106600150 memstat::TMemStatMng::MacFreeHook(void*)) at /Users/david/wonderland/root-v5-34-05/misc/memstat/src/TMemStatHook.cxx:110
#11 0x00000001066000ee in memstat::TMemStatMng::Enable (this=0x7fbb5c4bf410) at /Users/david/wonderland/root-v5-34-05/misc/memstat/src/TMemStatMng.cxx:237
#12 0x00000001065fe6ef in TMemStat::TMemStat (this=0x7fbb5c4bc1e0, option=0x7fbb5c3323a8 “gnubuiltin”, buffersize=10000, maxcalls=5000000) at /Users/david/wonderland/root-v5-34-05/misc/memstat/src/TMemStat.cxx:125
#13 0x00000001065fe4d9 in TMemStat::TMemStat (this=0x7fbb5c4bc1e0, option=0x7fbb5c3323a8 “gnubuiltin”, buffersize=10000, maxcalls=5000000) at /Users/david/wonderland/root-v5-34-05/misc/memstat/src/TMemStat.cxx:129
Root >
[/code]