Skip to content

ASAN HOST got SEGV on multiple nodes #141

Description

@jkwack

Point of Contact

JaeHyuk Kwack, Saumil Patel, Wendy Wu

Contact Details

No response

Vendor/ALCF/other tickets/IDs

CMPLRLLVM-75815

Reproducer Path

/lus/flare/projects/Tools/jkwack-tools-reproducer/JaeHyuk/ASAN_host_multinodes
source/reproducers/tools/asan_multinode/

Status

Open

Details

Wendy Wu reported address sanitizer for host returns SEGV error on 2 nodes with HARVEY application.
The simple GeoSeries benchmark is used to reproduce the issue.

  • Device ASAN works fine on a single node and two nodes
  • Host ASAN works fine on a single node with one MPI or two MPI ranks
  • Host ASAN returns the following error on two nodes with two MPI ranks
mpirun -n 2 --ppn 1 ./Comp_GeoSeries_sycl-mpicxx_DP_ASAN_HOST
AddressSanitizer:DEADLYSIGNAL
=================================================================
==111900==ERROR: AddressSanitizer: SEGV on unknown address 0x0000000898ce (pc 0x0000000898ce bp 0x000000000000 sp 0x7ffc1a1e1f38 T0)
==111900==The signal is caused by a READ memory access.
x4201c3s1b0n0.hsn.cm.aurora.alcf.anl.gov: rank 0 died from signal 11
x4201c3s3b0n0.hsn.cm.aurora.alcf.anl.gov: rank 1 died from signal 15

The following shows what I tried:

jkwack@x4201c3s1b0n0:/lus/flare/projects/Tools/jkwack-tools-reproducer/JaeHyuk/ASAN_host_multinodes> make
mpicxx -fsycl -g -O1 Comp_GeoSeries_sycl.cpp -o Comp_GeoSeries_sycl_mpicxx_DP 
rm -rf *.o *.mod *.dSYM
mpicxx -fsycl -g -O1 -Xarch_host -fsanitize=address  Comp_GeoSeries_sycl.cpp -o Comp_GeoSeries_sycl-mpicxx_DP_ASAN_HOST 
rm -rf *.o *.mod *.dSYM
mpicxx -fsycl -g -O1 -Xarch_device -fsanitize=address Comp_GeoSeries_sycl.cpp -o Comp_GeoSeries_sycl-mpicxx_DP_ASAN_DEVICE 
rm -rf *.o *.mod *.dSYM


jkwack@x4201c3s1b0n0:/lus/flare/projects/Tools/jkwack-tools-reproducer/JaeHyuk/ASAN_host_multinodes> mpirun -n 1 --ppn 1 ./Comp_GeoSeries_sycl-mpicxx_DP_ASAN_DEVICE 
==== DeviceSanitizer: ASAN
	                 Number of MPI process:      1
	                             Precision: double
	  Number of rows/columns of the matrix:   1024
...
====ERROR: DeviceSanitizer: detected memory leaks of Device USM
Direct leak of 8388608 byte(s) at 0xff00180000c00800 allocated from:
 #0 in main /lus/flare/projects/Tools/jkwack-tools-reproducer/JaeHyuk/ASAN_host_multinodes/Comp_GeoSeries_sycl.cpp:121:33
 #1 in __libc_start_main (/lib64/libc.so.6+0x154e5d23924c)
 #2 in _start /home/abuild/rpmbuild/BUILD/glibc-2.31/csu/../sysdeps/x86_64/start.S:120:0


jkwack@x4201c3s1b0n0:/lus/flare/projects/Tools/jkwack-tools-reproducer/JaeHyuk/ASAN_host_multinodes> mpirun -n 2 --ppn 1 ./Comp_GeoSeries_sycl-mpicxx_DP_ASAN_DEVICE 
==== DeviceSanitizer: ASAN
==== DeviceSanitizer: ASAN
	                 Number of MPI process:      2
	                             Precision: double
	  Number of rows/columns of the matrix:   1024
...
====ERROR: DeviceSanitizer: detected memory leaks of Device USM
Direct leak of 8388608 byte(s) at 0xff00180000c00800 allocated from:
 #1 in __libc_start_main (/lib64/libc.so.6+0x14abb7ade24c)
 #2 in _start /home/abuild/rpmbuild/BUILD/glibc-2.31/csu/../sysdeps/x86_64/start.S:120:0

 #0 in main /lus/flare/projects/Tools/jkwack-tools-reproducer/JaeHyuk/ASAN_host_multinodes/Comp_GeoSeries_sycl.cpp:121:33
 #1 in __libc_start_main (/lib64/libc.so.6+0x14908121b24c)
 #2 in _start /home/abuild/rpmbuild/BUILD/glibc-2.31/csu/../sysdeps/x86_64/start.S:120:0


jkwack@x4201c3s1b0n0:/lus/flare/projects/Tools/jkwack-tools-reproducer/JaeHyuk/ASAN_host_multinodes> mpirun -n 1 --ppn 1 ./Comp_GeoSeries_sycl-mpicxx_DP_ASAN_HOST
	                 Number of MPI process:      1
	                             Precision: double
	  Number of rows/columns of the matrix:   1024
	 The highest order of geometric series:     30
	                 Number of repetitions:     10
	             Memory Usage per MPI rank:    16.777216 MB
		Warming up .....
		Main Computations  10 repetitions ......
		0%                     25%                      50%                     75%                     100%
		||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
		              Error_MPI_{Min,Mean,Max}/MPI =   0.0000e+00    0.0000e+00    0.0000e+00
		             GFLOP-rate_{Min,Mean,Max}/MPI =  1031.235771   1031.235771   1031.235771
		                                 Wall Time =     0.000610 sec
		                                 FLOP-rate =  1031.235771 GFLOP/sec

=================================================================
==111738==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 8388608 byte(s) in 1 object(s) allocated from:
    #0 0x0000004e0848 in malloc /netbatch/donb38620_00/runDir/dir/workspace/NIT/xmain-rel/LX/xmainefi2linux_release/ws/icsws/llvm/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3
    #1 0x000000525b28 in main /lus/flare/projects/Tools/jkwack-tools-reproducer/JaeHyuk/ASAN_host_multinodes/Comp_GeoSeries_sycl.cpp:114:23
    #2 0x1521e68f724c in __libc_start_main (/lib64/libc.so.6+0x3524c) (BuildId: 171a59c1c43a8f7b93c3dff765aae0b675fe10f6)
    #3 0x000000433239 in _start /home/abuild/rpmbuild/BUILD/glibc-2.31/csu/../sysdeps/x86_64/start.S:120
...
SUMMARY: AddressSanitizer: 16804013 byte(s) leaked in 139 allocation(s).
x4201c3s1b0n0.hsn.cm.aurora.alcf.anl.gov: rank 0 exited with code 1


jkwack@x4201c3s1b0n0:/lus/flare/projects/Tools/jkwack-tools-reproducer/JaeHyuk/ASAN_host_multinodes> mpirun -n 2 --ppn 2 ./Comp_GeoSeries_sycl-mpicxx_DP_ASAN_HOST
	                 Number of MPI process:      2
	                             Precision: double
	  Number of rows/columns of the matrix:   1024
	 The highest order of geometric series:     30
	                 Number of repetitions:     10
	             Memory Usage per MPI rank:    16.777216 MB
		Warming up .....
		Main Computations  10 repetitions ......
		0%                     25%                      50%                     75%                     100%
		||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
		              Error_MPI_{Min,Mean,Max}/MPI =   0.0000e+00    0.0000e+00    0.0000e+00
		             GFLOP-rate_{Min,Mean,Max}/MPI =   913.994831    979.064022   1044.133213
		                                 Wall Time =     0.000688 sec
		                                 FLOP-rate =  1827.989662 GFLOP/sec

=================================================================
==111804==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 8388608 byte(s) in 1 object(s) allocated from:
=================================================================
==111805==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 8388608 byte(s) in 1 object(s) allocated from:
...
SUMMARY: AddressSanitizer: 16902461 byte(s) leaked in 142 allocation(s).
x4201c3s1b0n0.hsn.cm.aurora.alcf.anl.gov: rank 0 exited with code 1


jkwack@x4201c3s1b0n0:/lus/flare/projects/Tools/jkwack-tools-reproducer/JaeHyuk/ASAN_host_multinodes> mpirun -n 2 --ppn 1 ./Comp_GeoSeries_sycl-mpicxx_DP_ASAN_HOST
AddressSanitizer:DEADLYSIGNAL
=================================================================
==111900==ERROR: AddressSanitizer: SEGV on unknown address 0x0000000898ce (pc 0x0000000898ce bp 0x000000000000 sp 0x7ffc1a1e1f38 T0)
==111900==The signal is caused by a READ memory access.
x4201c3s1b0n0.hsn.cm.aurora.alcf.anl.gov: rank 0 died from signal 11
x4201c3s3b0n0.hsn.cm.aurora.alcf.anl.gov: rank 1 died from signal 15

Is this a priority/blocking bug?

  • Priority

ETA

Intel can reproduce internally

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions