develooper Front page | perl.perl5.porters | Postings from July 2021

'make install' fails on a perl configured with '-fsanitize=address'

Thread Next
From:
James E Keenan
Date:
July 11, 2021 00:06
Subject:
'make install' fails on a perl configured with '-fsanitize=address'
Message ID:
d010fa62-e938-4ab9-2438-1081d5e34ecc@pobox.com
Today I attempted to build and install a perl built with 
AddressSanitizer on FreeBSD-12.  I configured by adding the following 3 
switches to a standard ./Configure invocation:

#####
-Accflags='-fsanitize=address'
-Aldflags='-fsanitize=address'
-Alddflags='-fsanitize=address'
#####

'make' completed successfully, leading to the following value for 
'config_args':

#####
$ ./perl -Ilib -V:config_args
config_args='-des -Dusedevel -Accflags='-fsanitize=address' 
-Aldflags='-fsanitize=address' -Alddflags='-fsanitize=address' 
-Dprefix=/home/jkeenan/testing/v5.35.1 -Uversiononly -Dman1dir=none 
-Dman3dir=none';

'make' was actually invoked via 'make install':

#####
make -j8 install
#####

... so after 'make' itself completed, installation began.  However, 
every time I tried this, the underlying 'installperl' process stalled, 
usually about here:

#####
...
 
/home/jkeenan/testing/v5.35.1/lib/perl5/5.35.1/amd64-freebsd/Filter/Util/Call.pm
   /home/jkeenan/testing/v5.35.1/lib/perl5/5.35.1/Module/Load.pm
   /home/jkeenan/testing/v5.35.1/lib/perl5/5.35.1/Module/Loaded.pm
   /home/jkeenan/testing/v5.35.1/lib/perl5/5.35.1/Module/CoreList.pm
[hang]
#####

I called 'ps' to try to find out what was going on.

#####
$ ps auxwww | ack '(^USER.*VSZ|installperl)'
USER      PID  %CPU %MEM         VSZ     RSS TT  STAT STARTED 
TIME COMMAND
jkeenan 59025 100.0  2.9 21474917848  239388  0  R    23:46 
1:05.03 ./perl -Ilib -I. installperl --destdir=
jkeenan 59793   0.0  0.1       11048    5016  2  R+   23:47 
0:00.00 /usr/local/bin/perl /usr/local/bin/ack (^USER.*VSZ|installperl)
#####

I'm not very surprised that 'installperl' was using 100% of CPU.  There 
was nothing much else happening on the machine at that point, so why 
shouldn't all of CPU be devoted to this task.

The high values for 'VSZ' and 'RSS' look suspicious, but I don't have 
the expertise to determine their relevance.

The partition is only 32% full, so lack of disk space is not the 
explanation.

This installation process works perfectly fine when I configure and 
build without the 3 asan-related Configure switches listed above.

Can anyone suggest why 'make install' fails on a perl built with 
AddressSanitizer?

Thank you very much.
Jim Keenan

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About