Bug #1342

Segfaults when using '-tracemode perfReport'

Added by Sam White over 2 years ago. Updated over 2 years ago.

Target version:
Start date:
Due date:
% Done:



The switch from getline() to C++ file I/O appears to have broken use of '-tracemode perfReport':

Compiling examples/charm++/hello/1darray/ with 'make OPTS="-g -O0 -tracemode perfReport"' and running with './hello 10' gives the following. It is the same for all other examples/tests.

$ gdb --args ./hello 10
Starting program: /dcsdata/home/swhite/tmp/charm/netlrts-linux-x86_64-clang/examples/charm++/hello/1darray/hello 10
Charm++: standalone mode (not using charmrun)
Charm++> Running in non-SMP mode: numPes 1
Converse/Charm++ Commit ID: v6.7.0-517-gee03b66d8
Charm++> scheduler running in netpoll mode.
CharmLB> Load balancer assumes all CPUs are same.
Charm++> Running on 1 unique compute nodes (8-way SMP).
Charm++> cpu topology info is gathered in 0.000 seconds.
Running Hello on 1 processors for 10 elements
Hello 0 created
Hello 1 created
Hello 2 created
Hello 3 created
Hello 4 created
Hello 5 created
Hello 6 created
Hello 7 created
Hello 8 created
Hello 9 created
Charm++ - PICS > Enabled pics autoPerf ......

Program received signal SIGSEGV, Segmentation fault.
std::vector<TreeNode*, std::allocator<TreeNode*> >::push_back (this=0x8, __x=@0x7fffffffd8e0: 0x8fecb0)
    at /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:903
903        if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)

(gdb) bt
#0  std::vector<TreeNode*, std::allocator<TreeNode*> >::push_back (this=0x8, __x=@0x7fffffffd8e0: 0x8fecb0)
    at /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_vector.h:903
#1  0x00000000004ffe1a in TreeNode::addChild (this=0x0, tn=0x8fecb0) at picstreenode.C:235
#2  0x0000000000502bac in DecisionTree::build (this=0x8f7450, filename=0x521d6a "tree.txt") at picsdecisiontree.C:103
#3  0x00000000004e3015 in TraceAutoPerfBOC::TraceAutoPerfBOC (this=0x8f94b0) at picsautoperf.C:597
#4  0x00000000004e8070 in CkIndex_TraceAutoPerfBOC::_call_TraceAutoPerfBOC_void (impl_msg=0x814980, impl_obj_void=0x8f94b0) at ./TraceAutoPerf.def.h:1342
#5  0x0000000000412d91 in CkCreateLocalGroup ()
#6  0x000000000041346e in CkCreateGroup ()
#7  0x00000000004e4408 in CProxy_TraceAutoPerfBOC::ckNew (impl_e_opts=0x0) at ./TraceAutoPerf.def.h:1325
#8  0x00000000004e42cd in TraceAutoPerfInit::TraceAutoPerfInit (this=0x8f7420, args=0x8f9490) at picsautoperf.C:717
#9  0x00000000004e573d in CkIndex_TraceAutoPerfInit::_call_TraceAutoPerfInit_CkArgMsg (impl_msg=0x8f9490, impl_obj_void=0x8f7420) at ./TraceAutoPerf.def.h:595
#10 0x000000000040c04d in _initCharm(int, char**) ()
#11 0x00000000004b3a3c in ConverseInit ()
#12 0x000000000040a8f4 in main ()


#1 Updated by Phil Miller over 2 years ago

  • Status changed from New to Implemented

#2 Updated by Ronak Buch over 2 years ago

  • Status changed from Implemented to Merged
  • translation missing: en.field_closed_date set to 2017-01-18 17:16:25.459127

Also available in: Atom PDF