Slow startup

Hi there,

I am getting the same problem with 6.26/04

time root.exe -b -n -q; time root.exe -l -n -q-q
   ------------------------------------------------------------------
  | Welcome to ROOT 6.26/04                        https://root.cern |
  | (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxx8664gcc on Jun 27 2022, 13:19:00                 |
  | From heads/latest-stable@2bc8ca5a                                |
  | With c++ (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2)                |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'       |
   ------------------------------------------------------------------



real	3m40.112s
user	0m2.265s
sys	0m8.830s


real	0m1.737s
user	0m0.705s
sys	0m1.007s

About 4 minutes to start root.exe up.
Any suggestion?

Thanks
Luiz Regis

Hi Luiz,

As this is 5 years after the post you replied to it’s likely a different issue - I have moved your post to a new topic. Please generally don’t resurrect old topics but start new ones, that makes communication less confusing for us :slight_smile:

We need waaay more info on your ROOT build :slight_smile:

  • how did you get ROOT?
  • what is the OS?
  • is this a laptop, your desktop, a remote connection, a server?
  • is ROOT on a network filesystem?
  • what does echo $PATH; echo $LD_LIBRARY_PATH show?

You quote two times from ROOT started with different flags (the batch one being slow, the graphics one being fast). What happens if you start the batch one twice, i.e. is slow both times when starting in batch?

Cheers, Axel

Hi Axel,

Thanks for redirecting my question.
I got ROOT from CERN using the command:

git clone --branch latest-stable --depth=1 https://github.com/root-project/root.git root_src
mkdir root_build root_install && cd root_build

Configuration:

cmake -DCMAKE_INSTALL_PREFIX=../root_install ../root_src 

Compilation and installation:

cmake --build . -- install -j4

I am using a desktop personal computer (frankenstein) running Fedora 35 OS, not remote, locally.

echo $PATH
/data2/root_install/bin:/usr/lib64/qt-3.3/bin:/usr/share/Modules/bin:/usr/lib64/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/libexec/sdcc:/opt/Supermicro/SuperDoctor5:/home/lgemedia/lifetime:/home/lgemedia/lifetime/life18:/data2/cmsShow-11.1:/usr/lib:/home/lgemedia/.local/bin:/home/lgemedia/bin:/home/lgemedia/lifetime:/home/lgemedia/upak/upak-compiler/hhirf:/usr/libexec/sdcc:/home/lgemedia/lifetime:/home/lgemedia/lifetime/life18:/data2/cmsShow-11.1:/usr/lib

echo $LD_LIBRARY_PATH
/data2/root_install/lib:/usr/lib:/lib:/usr/lib:/lib

Starting ROOT in batch mode twice:

time root.exe -b -n -q; time root.exe -b -n -q;

| Welcome to ROOT 6.26/04 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Jun 27 2022, 13:19:00 |
| From heads/latest-stable@2bc8ca5a |
| With c++ (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) |

Try ‘.help’, ‘.demo’, ‘.license’, ‘.credits’, ‘.quit’/’.q’

real 6m16.682s
user 0m3.191s
sys 0m14.237s


| Welcome to ROOT 6.26/04 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Jun 27 2022, 13:19:00 |
| From heads/latest-stable@2bc8ca5a |
| With c++ (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) |

Try ‘.help’, ‘.demo’, ‘.license’, ‘.credits’, ‘.quit’/’.q’

real 0m1.933s
user 0m0.749s
sys 0m1.070s

Cheers,
Luiz Regis

Is “/data2” a local disk or an external drive?

/data2 is local internal 3.5.

I am wondering why my LD PATH is set to: /usr/lib and not to /usr/lib64.
I have changed it to:
##export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64
##export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib64

Maybe I have to recompile it.

It’s likely that /usr/lib is a symlink to /usr/lib64 or vice-versa. You can check with ls -ld /usr/lib /usr/lib64.

It would be great to check what root.exe is doing for those 6 minutes(!!!) that it takes to start up.
Maybe Axel has a better idea, but the one I can think of is checking the PID of the root.exe process from top or htop and attach to it with gdb -p $PID_OF_ROOT.EXE, then run backtrace to see what the process is doing.

Unfortunately we cannot debug this on our end unless you can provide a recipe to reproduce the problem (e.g. in a Docker container).

Cheers,
Enrico

not sure whether that’s the same issue.
but: I had the same kind of behaviour for years on my laptop and workstation (ArchLinux).
until I changed filesystems (on the same hardware): dropping btrfs in favour of good ol’ ext4.

(interestingly fedora defaults to btrfs since version 33 or so…)

Maybe I have to recompile it.

Before anything else, please disable your network and then see whether ROOT’s start-up is still slow.

Cheers, Axel

systemctl stop NetworkManager.service
systemctl status NetworkManager.service

systemd[1]: NetworkManager.service: Deactivated successfully.
systemd[1]: Stopped Network Manager.

I have disconnected the ethernet cable as well.

time root.exe -b -n -q; time root.exe -b -n -q;

| Welcome to ROOT 6.26/04 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Jun 27 2022, 13:19:00 |
| From heads/latest-stable@2bc8ca5a |
| With c++ (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) |

Try ‘.help’, ‘.demo’, ‘.license’, ‘.credits’, ‘.quit’/’.q’

real 4m14.603s
user 0m2.617s
sys 0m10.989s


| Welcome to ROOT 6.26/04 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Jun 27 2022, 13:19:00 |
| From heads/latest-stable@2bc8ca5a |
| With c++ (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2) |

Try ‘.help’, ‘.demo’, ‘.license’, ‘.credits’, ‘.quit’/’.q’

real 0m1.836s
user 0m0.726s
sys 0m1.080s

Switching to a second HDD running Debian 11 in the same machine, same hardware, root.exe is pretty fast at startup.

By the way:

ls -ld /usr/lib /usr/lib64
dr-xr-xr-x. 113 root root 45056 Jun 27 15:31 /usr/lib
dr-xr-xr-x. 414 root root 450560 Jun 27 15:31 /usr/lib64

My Fedora 35 system is not btrfs:

lsblk -o NAME,KNAME,FSTYPE,MOUNTPOINT,SIZE
NAME KNAME FSTYPE MOUNTPOINT SIZE
sda sda 0B
sdb sdb 0B
sdc sdc 0B
sdd sdd 0B
sde sde 2.7T
├─sde1 sde1 1M
├─sde2 sde2 1M
├─sde3 sde3 ext4 /boot 900M
├─sde4 sde4 ext4 /data1 1T
├─sde5 sde5 ext4 / 651.9G
├─sde6 sde6 ext4 /home 102.4G
├─sde7 sde7 swap [SWAP] 8.1G
└─sde8 sde8 ext4 /data2 1006.7G
sr0 sr0 1024M
zram0 zram0 [SWAP] 7.8G

During these 4 minutes, top shows these processes in the attached pictures.


I have Fedora 35 OS installed on my other desktop (DELL) and root works perfectly, pretty fast:

[lgemedia@yeager ~]$ time root.exe -b -n -q; time root.exe -b -n -q;

| Welcome to ROOT 6.26/02 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Apr 14 2022, 11:49:00 |
| From heads/latest-stable@v6-26-02-320-gc8d49336b6 |
| With c++ (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) |

Try ‘.help’, ‘.demo’, ‘.license’, ‘.credits’, ‘.quit’/’.q’

real 0m9.952s
user 0m0.430s
sys 0m0.715s

| Welcome to ROOT 6.26/02 https://root.cern |
| (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Apr 14 2022, 11:49:00 |
| From heads/latest-stable@v6-26-02-320-gc8d49336b6 |
| With c++ (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) |

Try ‘.help’, ‘.demo’, ‘.license’, ‘.credits’, ‘.quit’/’.q’

real 0m0.328s
user 0m0.183s
sys 0m0.144s

Given that top output, to get a stacktrace that tells us what ROOT is up to, could you please try to do gdb -p PID (where PID is the PID of root.exe as reported by top) and then backtrace at the gdb prompt? You can then also give a continue, then CTRL-C, and a backtrace again, a few times, to gather a few samples of where root.exe is stuck at.

1 Like

Hi Enrico,

Here it is:

ps -A
...
8745 pts/2    00:00:00 root
8746 pts/2    00:00:00 root.exe

[lgemedia@zabriskie ~]$ gdb -p 8746
GNU gdb (GDB) Fedora 12.1-1.fc35
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 8746
Reading symbols from /data2/root_install/bin/root.exe...

This GDB supports auto-downloading debuginfo from the following URLs:
https://debuginfod.fedoraproject.org/ 
Enable debuginfod for this session? (y or [n]) 
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
(No debugging symbols found in /data2/root_install/bin/root.exe)
Reading symbols from /data2/root_install/lib/libRint.so...
(No debugging symbols found in /data2/root_install/lib/libRint.so)
Reading symbols from /data2/root_install/lib/libCore.so...
(No debugging symbols found in /data2/root_install/lib/libCore.so)
Reading symbols from /usr/lib64/libstdc++.so.6...
Reading symbols from .gnu_debugdata for /usr/lib64/libstdc++.so.6...
(No debugging symbols found in .gnu_debugdata for /usr/lib64/libstdc++.so.6)
Reading symbols from /usr/lib64/libm.so.6...
Reading symbols from .gnu_debugdata for /usr/lib64/libm.so.6...
(No debugging symbols found in .gnu_debugdata for /usr/lib64/libm.so.6)
Reading symbols from /usr/lib64/libgcc_s.so.1...
Reading symbols from .gnu_debugdata for /usr/lib64/libgcc_s.so.1...
(No debugging symbols found in .gnu_debugdata for /usr/lib64/libgcc_s.so.1)
Reading symbols from /usr/lib64/libc.so.6...
(No debugging symbols found in /usr/lib64/libc.so.6)
Reading symbols from /lib64/ld-linux-x86-64.so.2...
Reading symbols from /usr/lib64/libpcre.so.1...
Reading symbols from .gnu_debugdata for /usr/lib64/libpcre.so.1...
(No debugging symbols found in .gnu_debugdata for /usr/lib64/libpcre.so.1)
Reading symbols from /usr/lib64/liblzma.so.5...
Reading symbols from .gnu_debugdata for /usr/lib64/liblzma.so.5...
(No debugging symbols found in .gnu_debugdata for /usr/lib64/liblzma.so.5)
Reading symbols from /usr/lib64/libxxhash.so.0...
Reading symbols from .gnu_debugdata for /usr/lib64/libxxhash.so.0...
(No debugging symbols found in .gnu_debugdata for /usr/lib64/libxxhash.so.0)
Reading symbols from /usr/lib64/liblz4.so.1...
Reading symbols from .gnu_debugdata for /usr/lib64/liblz4.so.1...
(No debugging symbols found in .gnu_debugdata for /usr/lib64/liblz4.so.1)
Reading symbols from /usr/lib64/libz.so.1...
Reading symbols from .gnu_debugdata for /usr/lib64/libz.so.1...
(No debugging symbols found in .gnu_debugdata for /usr/lib64/libz.so.1)
Reading symbols from /usr/lib64/libzstd.so.1...
Reading symbols from .gnu_debugdata for /usr/lib64/libzstd.so.1...
(No debugging symbols found in .gnu_debugdata for /usr/lib64/libzstd.so.1)
Reading symbols from /data2/root_install/lib/libRIO.so...
(No debugging symbols found in /data2/root_install/lib/libRIO.so)
Reading symbols from /data2/root_install/lib/libThread.so...
(No debugging symbols found in /data2/root_install/lib/libThread.so)
Reading symbols from /data2/root_install/lib/libCling.so...
(No debugging symbols found in /data2/root_install/lib/libCling.so)
Reading symbols from /usr/lib64/libtinfo.so.6...
Reading symbols from .gnu_debugdata for /usr/lib64/libtinfo.so.6...
(No debugging symbols found in .gnu_debugdata for /usr/lib64/libtinfo.so.6)
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
0x00007fa3eb13e682 in read () from /usr/lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.34-35.fc35.x86_64 libgcc-11.3.1-2.fc35.x86_64 libstdc++-11.3.1-2.fc35.x86_64 libzstd-1.5.2-2.fc35.x86_64 lz4-libs-1.9.3-3.fc35.x86_64 ncurses-libs-6.2-8.20210508.fc35.x86_64 pcre-8.45-1.fc35.x86_64 xz-libs-5.2.5-9.fc35.x86_64 zlib-1.2.11-30.fc35.x86_64
(gdb) backtrace
#0  0x00007fa3eb13e682 in read () from /usr/lib64/libc.so.6
#1  0x00007fa3eb0989c4 in __GI__IO_file_underflow () from /usr/lib64/libc.so.6
#2  0x00007fa3eb0999f6 in _IO_default_uflow () from /usr/lib64/libc.so.6
#3  0x00007fa3eb08d34c in _IO_getline_info () from /usr/lib64/libc.so.6
#4  0x00007fa3eb08c430 in fgets () from /usr/lib64/libc.so.6
#5  0x00007fa3e7265fd7 in (anonymous namespace)::AddHostArguments(llvm::StringRef, std::vector<char const*, std::allocator<char const*> >&, char const*, cling::CompilerOptions const&) [clone .constprop.0] () from /data2/root_install/lib/libCling.so
#6  0x00007fa3e726b764 in (anonymous namespace)::createCIImpl(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, cling::CompilerOptions const&, char const*, std::unique_ptr<clang::ASTConsumer, std::default_delete<clang::ASTConsumer> >, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&, bool, bool) ()
   from /data2/root_install/lib/libCling.so
#7  0x00007fa3e726e707 in cling::CIFactory::createCI(llvm::StringRef, cling::InvocationOptions const&, char const*, std::unique_ptr<clang::ASTConsumer, std::default_delete<clang::ASTConsumer> >, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&) () from /data2/root_install/lib/libCling.so
#8  0x00007fa3e732ac59 in cling::IncrementalParser::IncrementalParser(cling::Interpreter*, char const*, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&) ()
   from /data2/root_install/lib/libCling.so
#9  0x00007fa3e72aa96b in cling::Interpreter::Interpreter(int, char const* const*, char const*, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&, bool, cling::Interpreter const*) ()
   from /data2/root_install/lib/libCling.so
#10 0x00007fa3e71ffa9a in TCling::TCling(char const*, char const*, char const* const*) () from /data2/root_install/lib/libCling.so
#11 0x00007fa3e7201ab1 in CreateInterpreter () from /data2/root_install/lib/libCling.so
#12 0x00007fa3eb99acec in TROOT::InitInterpreter() () from /data2/root_install/lib/libCore.so
#13 0x00007fa3eb99b19f in ROOT::Internal::GetROOT2() () from /data2/root_install/lib/libCore.so
#14 0x00007fa3eb9a79e5 in TApplication::TApplication(char const*, int*, char**, void*, int) () from /data2/root_install/lib/libCore.so
#15 0x00007fa3ebd401a6 in TRint::TRint(char const*, int*, char**, void*, int, bool, bool) () from /data2/root_install/lib/libRint.so
#16 0x00000000004011b1 in main ()
(gdb) continue
Continuing.
^C       
Program received signal SIGINT, Interrupt.
0x00007fa3eb13e682 in read () from /usr/lib64/libc.so.6
(gdb) backtrace
#0  0x00007fa3eb13e682 in read () from /usr/lib64/libc.so.6
#1  0x00007fa3eb0989c4 in __GI__IO_file_underflow () from /usr/lib64/libc.so.6
#2  0x00007fa3eb0999f6 in _IO_default_uflow () from /usr/lib64/libc.so.6
#3  0x00007fa3eb08d34c in _IO_getline_info () from /usr/lib64/libc.so.6
#4  0x00007fa3eb08c430 in fgets () from /usr/lib64/libc.so.6
#5  0x00007fa3e7265fd7 in (anonymous namespace)::AddHostArguments(llvm::StringRef, std::vector<char const*, std::allocator<char const*> >&, char const*, cling::CompilerOptions const&) [clone .constprop.0] () from /data2/root_install/lib/libCling.so
#6  0x00007fa3e726b764 in (anonymous namespace)::createCIImpl(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, cling::CompilerOptions const&, char const*, std::unique_ptr<clang::ASTConsumer, std::default_delete<clang::ASTConsumer> >, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&, bool, bool) ()
   from /data2/root_install/lib/libCling.so
#7  0x00007fa3e726e707 in cling::CIFactory::createCI(llvm::StringRef, cling::InvocationOptions const&, char const*, std::unique_ptr<clang::ASTConsumer, std::default_delete<clang::ASTConsumer> >, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&) () from /data2/root_install/lib/libCling.so
#8  0x00007fa3e732ac59 in cling::IncrementalParser::IncrementalParser(cling::Interpreter*, char const*, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&) ()
   from /data2/root_install/lib/libCling.so
#9  0x00007fa3e72aa96b in cling::Interpreter::Interpreter(int, char const* const*, char const*, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&, bool, cling::Interpreter const*) ()
   from /data2/root_install/lib/libCling.so
#10 0x00007fa3e71ffa9a in TCling::TCling(char const*, char const*, char const* const*) () from /data2/root_install/lib/libCling.so
#11 0x00007fa3e7201ab1 in CreateInterpreter () from /data2/root_install/lib/libCling.so
#12 0x00007fa3eb99acec in TROOT::InitInterpreter() () from /data2/root_install/lib/libCore.so
#13 0x00007fa3eb99b19f in ROOT::Internal::GetROOT2() () from /data2/root_install/lib/libCore.so
#14 0x00007fa3eb9a79e5 in TApplication::TApplication(char const*, int*, char**, void*, int) () from /data2/root_install/lib/libCore.so
#15 0x00007fa3ebd401a6 in TRint::TRint(char const*, int*, char**, void*, int, bool, bool) () from /data2/root_install/lib/libRint.so
#16 0x00000000004011b1 in main ()
(gdb) continue
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00007fa3eb13e682 in read () from /usr/lib64/libc.so.6
(gdb) backtrace
#0  0x00007fa3eb13e682 in read () from /usr/lib64/libc.so.6
#1  0x00007fa3eb0989c4 in __GI__IO_file_underflow () from /usr/lib64/libc.so.6
#2  0x00007fa3eb0999f6 in _IO_default_uflow () from /usr/lib64/libc.so.6
#3  0x00007fa3eb08d34c in _IO_getline_info () from /usr/lib64/libc.so.6
#4  0x00007fa3eb08c430 in fgets () from /usr/lib64/libc.so.6
#5  0x00007fa3e7265fd7 in (anonymous namespace)::AddHostArguments(llvm::StringRef, std::vector<char const*, std::allocator<char const*> >&, char const*, cling::CompilerOptions const&) [clone .constprop.0] () from /data2/root_install/lib/libCling.so
#6  0x00007fa3e726b764 in (anonymous namespace)::createCIImpl(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, cling::CompilerOptions const&, char const*, std::unique_ptr<clang::ASTConsumer, std::default_delete<clang::ASTConsumer> >, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&, bool, bool) ()
   from /data2/root_install/lib/libCling.so
#7  0x00007fa3e726e707 in cling::CIFactory::createCI(llvm::StringRef, cling::InvocationOptions const&, char const*, std::unique_ptr<clang::ASTConsumer, std::default_delete<clang::ASTConsumer> >, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&) () from /data2/root_install/lib/libCling.so
#8  0x00007fa3e732ac59 in cling::IncrementalParser::IncrementalParser(cling::Interpreter*, char const*, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&) ()
   from /data2/root_install/lib/libCling.so
#9  0x00007fa3e72aa96b in cling::Interpreter::Interpreter(int, char const* const*, char const*, std::vector<std::shared_ptr<clang::ModuleFileExtension>, std::allocator<std::shared_ptr<clang::ModuleFileExtension> > > const&, bool, cling::Interpreter const*) ()
   from /data2/root_install/lib/libCling.so
#10 0x00007fa3e71ffa9a in TCling::TCling(char const*, char const*, char const* const*) () from /data2/root_install/lib/libCling.so
#11 0x00007fa3e7201ab1 in CreateInterpreter () from /data2/root_install/lib/libCling.so
#12 0x00007fa3eb99acec in TROOT::InitInterpreter() () from /data2/root_install/lib/libCore.so
#13 0x00007fa3eb99b19f in ROOT::Internal::GetROOT2() () from /data2/root_install/lib/libCore.so
#14 0x00007fa3eb9a79e5 in TApplication::TApplication(char const*, int*, char**, void*, int) () from /data2/root_install/lib/libCore.so
#15 0x00007fa3ebd401a6 in TRint::TRint(char const*, int*, char**, void*, int, bool, bool) () from /data2/root_install/lib/libRint.so
#16 0x00000000004011b1 in main ()
(gdb) continue
Continuing.
[Detaching after vfork from child process 9091]
[Detaching after vfork from child process 9110]
[Detaching after vfork from child process 9112]
^C
Program received signal SIGINT, Interrupt.
0x00007fa3eb144ba9 in select () from /usr/lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install openssl-libs-1.1.1o-1.fc35.x86_64 tbb-2020.3-9.fc35.x86_64
(gdb) backtrace
#0  0x00007fa3eb144ba9 in select () from /usr/lib64/libc.so.6
#1  0x00007fa3ebaf1892 in TUnixSystem::UnixSelect(int, TFdSet*, TFdSet*, long) () from /data2/root_install/lib/libCore.so
#2  0x00007fa3ebaf2154 in TUnixSystem::DispatchOneEvent(bool) () from /data2/root_install/lib/libCore.so
#3  0x00007fa3eba07557 in TSystem::Run() () from /data2/root_install/lib/libCore.so
#4  0x00007fa3eb9a2e03 in TApplication::Run(bool) () from /data2/root_install/lib/libCore.so
#5  0x00007fa3ebd4100b in TRint::Run(bool) () from /data2/root_install/lib/libRint.so
#6  0x00000000004011bd in main ()
(gdb) 

Thanks.

Cheers,
Luiz Regis

Alright, getting closer! So, from the manual sampling you did, would you say that most of those 4-6 minutes are wasted in AddHostArguments (then the last 4 frames in the stack are calls to libc)?

Yes, I would.

Good news!

I just recompiled root package (from github) upon commenting out these two lines in my .bashrc:

#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib64

Compilation runs amazingly fast and root.exe starts up very fast now.

Thank you all for the attention.
Luiz Regis

That sounds weird.
Is there any explanation for it?