Skip to content

interpreter fails with assertion in debug builds on ARM when upgrading gcc #14789

Open
@pikacic

Description

@pikacic

Check duplicate issues.

  • Checked for duplicates

Description

Using ROOT 6.30/04 built by EP-SFT stacks for aarch64-el9-gcc13-dbg on lxplus-arm.cern.ch the application is aborted because of a failed assert:

root.exe: /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-6.30.04/src/ROOT/6.30.04/interpreter/llvm-project/clang/include/clang/Serialization/ModuleFile.h:77: clang::serialization::InputFile::InputFile(clang::FileEntryRef, bool, bool): Assertion `!(isOverridden && isOutOfDate) && "an overridden cannot be out-of-date"' failed.

It turns out that the failure is implicitly caused by an updated version of GCC (from 11.3 to 11.4).

Reproducer

Here is a redacted log a sessions exposing the problem:

ssh lxplus-arm.cern.ch
>  rpm -q gcc
gcc-11.4.1-2.1.el9.aarch64
> . /cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/aarch64-el9/setup.sh
> . /cvmfs/sft.cern.ch/lcg/views/LCG_105a/aarch64-el9-gcc13-dbg/setup.sh
> root
root.exe: /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-6.30.04/src/ROOT/6.30.04/interpreter/llvm-project/clang/include/clang/Serialization/ModuleFile.h:77: clang::serialization::InputFile::InputFile(clang::FileEntryRef, bool, bool): Assertion `!(isOverridden && isOutOfDate) && "an overridden cannot be out-of-date"' failed.
>

The optimized build, of course, works

ssh lxplus-arm.cern.ch
>  rpm -q gcc
gcc-11.4.1-2.1.el9.aarch64
> . /cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/aarch64-el9/setup.sh
> . /cvmfs/sft.cern.ch/lcg/views/LCG_105a/aarch64-el9-gcc13-opt/setup.sh
> root
   ------------------------------------------------------------------
  | Welcome to ROOT 6.30/04                        https://root.cern |
  | (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxarm64 on Feb 03 2024, 21:41:03                    |
  | From heads/master@tags/v6-30-04                                  |
  | With g++ (GCC) 13.1.0                                            |
  | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q'  |
   ------------------------------------------------------------------

root [0] .q
>

It woks also if I use an old container with gcc 11.3:

ssh lxplus-arm.cern.ch
> /cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/3067/stable/linux-aarch64/bin/apptainer shell -e -B /cvmfs /cvmfs/lhcb.cern.ch/containers/os-base/alma9-devel/2023-06-30_12-00-00/aarch64
WARNING: /cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/3067/stable/linux-aarch64/etc/singularity/ exists, migration to apptainer by system administrator is not complete
Apptainer> rpm -q gcc
gcc-11.3.1-4.3.el9.alma.aarch64
Apptainer> . /cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/aarch64-el9/setup.sh
Apptainer> . /cvmfs/sft.cern.ch/lcg/views/LCG_105a/aarch64-el9-gcc13-dbg/setup.sh
Apptainer> root
   ------------------------------------------------------------------
  | Welcome to ROOT 6.30/04                        https://root.cern |
  | (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxarm64 on Feb 04 2024, 02:07:16                    |
  | From heads/master@tags/v6-30-04                                  |
  | With g++ (GCC) 13.1.0                                            |
  | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q'  |
   ------------------------------------------------------------------

root [0] .q
Apptainer>

ROOT version

   ------------------------------------------------------------------
  | Welcome to ROOT 6.30/04                        https://root.cern |
  | (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxarm64 on Feb 04 2024, 02:07:16                    |
  | From heads/master@tags/v6-30-04                                  |
  | With g++ (GCC) 13.1.0                                            |
  | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q'  |
   ------------------------------------------------------------------

Installation method

SFTR LCG view

Operating system

RHEL9, Almalinux 9

Additional context

No response

Metadata

Metadata

Assignees

Labels

bugexperimentAffects an experiment / reported by its software & computimng experts

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions