ROOT freezes on startup

Hi everyone,

When I launch the “root” command on my mac, the prompt does not startup (even after a long time). I’ve also discovered that when I do CTRL+D, the prompt finally appears after few seconds.

I tried some fixes of other people that seemed to have a similar problem, but nothing worked. Do anyone has an idea on how to solve that ?

Cheers


ROOT Version : 6.12/06
Platform, compiler : MacOS/HighSierra/10.13.4/clang-902.0.39.1


That’s really weird …

Do you see the ROOT banner ?
is $ROOTSYS defined ?
do you have a special rootlogon.C ?
what are the fixes you tried ?
what do you get if you type which root ?
Can you copy/paste here the output you get ?

Thank you,

Do you see the ROOT banner ?
Yes the ROOT banner is showing up;

is $ROOTSYS defined ?
“echo $ROOTSYS” gave me:
/usr/local

do you have a special rootlogon.C ?
No

what are the fixes you tried ?
I tried the fixes that tweaks /etc/host file or modify the machine name on the local network.

what do you get if you type which root ?
/usr/local/bin/root

Can you copy/paste here the output you get when you start ROOT ?

Well their is nothing printed when I try to start root…

However when I’m not connected to the Internet, root starts normally. Also I managed to start root with Internet enabled by removing the “.ssh/known_hosts” file :

09:24 sphnmce182 [.ssh]$ mv known_hosts known_hosts_off
09:24 sphnmce182 [.ssh]$ root
root [0] .q

Finally I tried to rebuild the known_hosts file by validating the ssh keys fingerprints. And here the problem is back. root does not start anymore. :neutral_face:

Do you have an idea on how to get further ?

Again, thanks a lot for your support!

When you start root you should see something like that:

$ root
   ---------------------------------------------------------------------------
  | Welcome to ROOT 6.12/07                               http://root.cern.ch |
  |                                              (c) 1995-2017, The ROOT Team |
  | Built for macosx64                                                        |
  | From heads/v6-12-00-patches@v6-12-06-9-g10ca42249b, Mar 28 2018, 16:08:44 |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'                |
   ---------------------------------------------------------------------------

root [0] 

may be you have root aliased to root -l ?

I do not understand why having “internet on” would freeze ROOT on startup … may be @Axel has an idea about it …

Running ‘strace’ would help investigate where’s the issue is most probably originating from.

I remember that Mac had near broken behavior with multicast DNS. What does running hostname in a terminal print?

And yes, what @sbinet says!

Yes exactly, I have aliased root to root -l

It gave me this :

15:26 sphnmce182 [~]$ hostname
sphnmce182.local

What is strace @sbinet ?

I just tried sudo dtruss root -l and root launched successfully :

15:31 sphnmce182 [~]$ sudo dtruss root -l
dtrace: system integrity protection is on, some features will not be available

SYSCALL(args) 		 = return
root [0] madvise(0x1088CA000, 0x2000, 0x5)		 = 0 0
open("/dev/dtracehelper\0", 0x2, 0xFFFFFFFFE7340AD0)		 = 3 0
ioctl(0x3, 0x80086804, 0x7FFEE7340A30)		 = 0 0
close(0x3)		 = 0 0
(...)

Finally I reallize when I use sudo root, it launched fine also…!

Can you run it on root.exe (yes, also on MacOS)?

I expected the commit https://github.com/root-project/root/commit/1d968a04905b5256cdeb678c666bd260bfcdced8 to be relevant here, but that’s part of 6.12/07…

Does the issue go away if you set your hostname to something without “.local”?

https://linux.die.net/man/1/strace

Running ‘strace root.exe’ would help getting an indication as to where it’s hanging…

Here we are :

15:49 sphnmce182 [~]$ sudo dtruss root.exe
dtrace: system integrity protection is on, some features will not be available

SYSCALL(args) 		 = return
   ------------------------------------------------------------
  | Welcome to ROOT 6.12/06                http://root.cern.ch |
  |                               (c) 1995-2017, The ROOT Team |
  | Built for macosx64                                         |
  | From tag v6-12-06, 9 February 2018                         |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
   ------------------------------------------------------------

root [0] dtrace: 13362 dynamic variable drops with non-empty dirty list
madvise(0x104DBE000, 0x3000, 0x5)		 = 0 0
madvise(0x104B86000, 0x2000, 0x5)		 = 0 0
open("/dev/dtracehelper\0", 0x2, 0xFFFFFFFFEB098AE0)		 = 3 0
ioctl(0x3, 0x80086804, 0x7FFEEB098A40)		 = 0 0
close(0x3)		 = 0 0
access("/AppleInternal/XBS/.isChrooted\0", 0x0, 0x0)		 = -1 Err#2

And when I changed the hostname, root does not start neither :

15:53 sphnmce182_test [~]$ hostname
sphnmce182_test
15:53 sphnmce182_test [~]$ root

Spectacular!

Let’s try this: start up ROOT. Open the “Activity Monitor” (Spotlight will help). Find “root.exe”. Hit the cogwheel (top left: kill sign, “i” and the cogwheel), select “spindump” and attach it, please!

Cheers, Axel.

Spindump.txt (2.3 MB)

Here it is :

Ouch. Very informative.

What is the output of echo '#include <vector>' | clang -x c++ -fsyntax-only -v - ?

What do you suspect ? Here it is :

17:56 sphnmce182 [~]$ echo '#include <vector>' | clang -x c++ -fsyntax-only -v -Apple LLVM version 9.1.0 (clang-902.0.39.1)
Target: x86_64-apple-darwin17.5.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
 "/Library/Developer/CommandLineTools/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.13.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -fsyntax-only -disable-free -disable-llvm-verifier -discard-value-names -main-file-name - -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return -masm-verbose -munwind-tables -target-cpu penryn -target-linker-version 351.8 -v -dwarf-column-info -debugger-tuning=lldb -resource-dir /Library/Developer/CommandLineTools/usr/lib/clang/9.1.0 -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /Users/ablanche -ferror-limit 19 -fmessage-length 80 -stack-protector 1 -fblocks -fobjc-runtime=macosx-10.13.0 -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -x c++ -
clang -cc1 version 9.1.0 (clang-902.0.39.1) default target x86_64-apple-darwin17.5.0
ignoring nonexistent directory "/usr/include/c++/v1"
#include "..." search starts here:
#include <...> search starts here:
 /Library/Developer/CommandLineTools/usr/include/c++/v1
 /usr/local/include
 /Library/Developer/CommandLineTools/usr/lib/clang/9.1.0/include
 /Library/Developer/CommandLineTools/usr/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.

Could you please install Xcode, and run xcode-select --install?

10:14 sphnmce182 [~]$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Again thank you for the support !