Skip to content

Failing build with -Dasan=ON and memory leak in minimal build #14055

@AxelKrypton

Description

@AxelKrypton

Check duplicate issues.

  • Checked for duplicates

Description

As requested by @Axel-Naumann in #13130 this is a follow up of my note there.

Basically I recently built and linked to ROOT in an external project (in a Docker image) and I got all unit tests failing because of a memory leak detected by the address sanitiser. As ROOT was set up using CMake via

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

the backtrace reported in my previous note was pretty small. Hence, I tried to compile ROOT as

cmake -DCMAKE_INSTALL_PREFIX=../root_install ../root_src -Dxrootd=OFF -Dasan=ON

but this failed with this output.

Then I tried to make a minimal build via

cmake -DCMAKE_INSTALL_PREFIX=../root_install ../root_src -Dxrootd=OFF -Dasan=ON -Dminimal=ON

and this succeeded and I got my Docker image built. Inside it the tests of my application were still failing as expected, but this time the backtrace was way larger. In this file you find it all.

Reproducer

As the build fails because of a leak, I am pretty much expecting that the two issues are related and I did not invest more time in building up a MWE to reproduce the second issue. However, I would naively guess that linking to the build library in any executable with the address sanitiser on would make it.

ROOT version

In the Docker container in the minimal build ROOT binary folder, I get:

root@fc0d5912f35b:/SMASH/root_install/bin# ./root.exe -b -q
   ------------------------------------------------------------------
  | Welcome to ROOT 6.28/06                        https://root.cern |
  | (c) 1995-2023, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxx8664gcc on Aug 28 2023, 11:29:15                 |
  | From tags/v6-28-06@v6-28-06                                      |
  | With c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0                   |
  | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q'  |
   ------------------------------------------------------------------

Installation method

Build from source with CMake version 3.22.1

Operating system

Ubuntu 22.04.3 LTS

Additional context

The same problem occurred with previous ROOT v6.28 versions, whereas switching back to v6.26.10 made the problem disappear.

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions