*** Break *** segmentation violation (6.23.01) It didn't crash before

I had ROOT working before, but now I get this crash. Where should I start to look to find a solution?

Root version 6.23.01
Ubuntu 14.04

 *** Break *** segmentation violation



===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00007fc79186199c in __libc_waitpid (pid=4360, stat_loc=stat_loc
entry=0x7ffcdba5ad40, options=options
entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:31
#1  0x00007fc7917e65a2 in do_system (line=<optimized out>) at ../sysdeps/posix/system.c:148
#2  0x00007fc79456ea26 in TUnixSystem::StackTrace() () from /home/parallels/Desktop/build/lib/libCore.so
#3  0x00007fc79457078a in TUnixSystem::DispatchSignals(ESignals) () from /home/parallels/Desktop/build/lib/libCore.so
#4  <signal handler called>
#5  __GI_____strtol_l_internal (nptr=0x0, endptr=endptr
entry=0x0, base=base
entry=10, group=group
entry=0, loc=0x7fc791b60060 <_nl_global_locale>) at ../stdlib/strtol_l.c:298
#6  0x00007fc7917dd762 in __GI_strtol (nptr=<optimized out>, endptr=endptr
entry=0x0, base=base
entry=10) at ../stdlib/strtol.c:108
#7  0x00007fc7917da220 in atoi (nptr=<optimized out>) at atoi.c:27
#8  0x0000000000437799 in main ()
===========================================================


The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum http://root.cern.ch/forum
Only if you are really convinced it is a bug in ROOT then please submit a
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.
===========================================================
#5  __GI_____strtol_l_internal (nptr=0x0, endptr=endptr
entry=0x0, base=base
entry=10, group=group
entry=0, loc=0x7fc791b60060 <_nl_global_locale>) at ../stdlib/strtol_l.c:298
#6  0x00007fc7917dd762 in __GI_strtol (nptr=<optimized out>, endptr=endptr
entry=0x0, base=base
entry=10) at ../stdlib/strtol.c:108
#7  0x00007fc7917da220 in atoi (nptr=<optimized out>) at atoi.c:27
#8  0x0000000000437799 in main ()

Hi @Andrew_Silge,
from the stacktrace, it looks like you are calling atoi with an invalid argument? (ROOT does not seem to be involved). I suggest you compile the program with debug symbols (-g compilation flag) and step through with a debugger (see e.g. http://www.gdbtutorial.com/).

Cheers,
Enrico

That fixed it! Thank you so much for the quick reply!

1 Like

Now I’m getting this. How do I solve it?

===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00007f3a3dc6e99c in __libc_waitpid (pid=18693, stat_loc=stat_loc
entry=0x7ffeae4ebac0, options=options
entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:31
#1  0x00007f3a3dbf35a2 in do_system (line=<optimized out>) at ../sysdeps/posix/system.c:148
#2  0x00007f3a4097ba26 in TUnixSystem::StackTrace() () from /home/parallels/Desktop/build/lib/libCore.so
#3  0x00007f3a4097d78a in TUnixSystem::DispatchSignals(ESignals) () from /home/parallels/Desktop/build/lib/libCore.so
#4  <signal handler called>
#5  strlen () at ../sysdeps/x86_64/strlen.S:106
#6  0x00007f3a3e243d65 in std::string::insert(unsigned long, char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00000000004380fe in std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) ()
#8  0x0000000000437e86 in SetupVisualizer(int, std::string) ()
#9  0x00000000004378d6 in main ()
===========================================================


The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum http://root.cern.ch/forum
Only if you are really convinced it is a bug in ROOT then please submit a
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.
===========================================================
#5  strlen () at ../sysdeps/x86_64/strlen.S:106
#6  0x00007f3a3e243d65 in std::string::insert(unsigned long, char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00000000004380fe in std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) ()
#8  0x0000000000437e86 in SetupVisualizer(int, std::string) ()
#9  0x00000000004378d6 in main ()
===========================================================

Hi Andrew,
please review Posting code? Read this first! .
The cause of the crash is similar (or same?) as before: it’s a bug in your program, unrelated to ROOT, in the handling of some strings. You can step through with a debugger to see what’s happening (see link above for a tutorial) or run the program within valgrind --suppressions=$ROOTSYS/etc/valgrind-root.supp ./yourprogram to see if it sees something fishy going on (remember to compile the program with debug symbols (i.e. -g compilation flag).

Cheers,
Enrico