ROOT crashes on Fedora 13

Hi,

I just installed ROOT from the svn repository on a fresh Fedora 13 machine. It compiled fine and I’m able to execute a few of the demos in the tutorial directory. However, demos.C and benchmarks.C fail (as may others). It appears to be failing at the line:

gROOT->SetMacroPath(Form("%s:%s",current,dir.Data()));

From the root shell, I can crash ROOT by typing Form("%s\n",“hello world”) as illustrated below.


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.27/03 27 April 2010 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      [root.cern.ch](http://root.cern.ch)            *
    
  •                                     *
    

ROOT 5.27/03 (trunk@33658, May 29 2010, 16:29:59 on linuxx8664gcc)

CINT/ROOT C/C++ Interpreter version 5.17.00, Dec 21, 2008
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.

Welcome to the ROOT tutorials

Type “.x demos.C” to get a toolbar from which to execute the demos

Type “.x demoshelp.C” to see the help window

==> Many tutorials use the file hsimple.root produced by hsimple.C
==> It is recommended to execute hsimple.C before any other script

root [0] Form("%s\n",“hello world”)

*** Break *** segmentation violation

===========================================================
There was a crash.
This is the entire stack trace of all threads:

#0 0x00000033310a66de in waitpid () from /lib64/libc.so.6
#1 0x000000333103e6e9 in do_system () from /lib64/libc.so.6
#2 0x00007f9cbaf2a79f in TUnixSystem::StackTrace() () from /usr/local/lib/root/libCore.so
#3 0x00007f9cbaf2b724 in TUnixSystem::DispatchSignals(ESignals) () from /usr/local/lib/root/libCore.so
#4
#5 0x0000000000000400 in ?? ()
#6 0x00007f9cbafdcb23 in G__G__Base1__0_244(G__value*, char const*, G__param*, int) () from /usr/local/lib/root/libCore.so
#7 0x00007f9cba3631c9 in Cint::G__ExceptionWrapper(int ()(G__value, char const*, G__param*, int), G__value*, char*, G__param*, int) () from /usr/local/lib/root/libCint.so
#8 0x00007f9cba403af1 in G__execute_call () from /usr/local/lib/root/libCint.so
#9 0x00007f9cba4052f2 in G__call_cppfunc () from /usr/local/lib/root/libCint.so
#10 0x00007f9cba3e2ea7 in G__interpret_func () from /usr/local/lib/root/libCint.so
#11 0x00007f9cba3d15cb in G__getfunction () from /usr/local/lib/root/libCint.so
#12 0x00007f9cba3ae3ba in G__getitem () from /usr/local/lib/root/libCint.so
#13 0x00007f9cba3b3be1 in G__getexpr () from /usr/local/lib/root/libCint.so
#14 0x00007f9cba43157a in G__exec_statement () from /usr/local/lib/root/libCint.so
#15 0x00007f9cba39acf7 in G__exec_tempfile_core () from /usr/local/lib/root/libCint.so
#16 0x00007f9cba39afce in G__exec_tempfile_fp () from /usr/local/lib/root/libCint.so
#17 0x00007f9cba43cc7c in G__process_cmd () from /usr/local/lib/root/libCint.so
#18 0x00007f9cbaef7926 in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) () from /usr/local/lib/root/libCore.so
#19 0x00007f9cbae6c861 in TApplication::ProcessLine(char const*, bool, int*) () from /usr/local/lib/root/libCore.so
#20 0x00007f9cb9cf4528 in TRint::HandleTermInput() () from /usr/local/lib/root/libRint.so
#21 0x00007f9cbaf2895e in TUnixSystem::CheckDescriptors() () from /usr/local/lib/root/libCore.so
#22 0x00007f9cbaf28b01 in TUnixSystem::DispatchOneEvent(bool) () from /usr/local/lib/root/libCore.so
#23 0x00007f9cbaeb9ff6 in TSystem::InnerLoop() () from /usr/local/lib/root/libCore.so
#24 0x00007f9cbaebb9db in TSystem::Run() () from /usr/local/lib/root/libCore.so
#25 0x00007f9cbae6aebf in TApplication::Run(bool) () from /usr/local/lib/root/libCore.so
#26 0x00007f9cb9cf48f5 in TRint::Run(bool) () from /usr/local/lib/root/libRint.so
#27 0x000000000040106c in main ()

The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug report at
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 0x0000000000000400 in ?? ()

Root >

Other commands such as new TBrowser() work. Any ideas?

Regards,

Glen

I can reproduce this and it is a problem in the rootcint generated assembler code for variable argument functions. Something changed in gcc 4.4.4 that conflicts with the our assembler code. I am working on a fix.

Cheers, Fons.

Hi,

this issue has been fixed in the ROOT trunk version.

Cheers, Fons.

Thank you Fons!