Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try to build with ASAN and document how to get useful output #32

Closed
Tracked by #36
rgommers opened this issue Jul 4, 2021 · 15 comments
Closed
Tracked by #36

Try to build with ASAN and document how to get useful output #32

rgommers opened this issue Jul 4, 2021 · 15 comments

Comments

@rgommers
Copy link
Owner

rgommers commented Jul 4, 2021

This isn't important now, I was just curious so documenting for later when we want to look into it more.

Building with ASAN is easy with Meson, in principle: https://mesonbuild.com/howtox.html#use-address-sanitizer

Python itself leaks badly, so you need a suppression file. Following what this blog does works: https://tobywf.com/2021/02/python-ext-asan/

Then you may see <unknown module> in the output, which makes it hard to tell where a memory leak is coming from. This workaround, pre-loading a fake dlclose, helps: google/sanitizers#89 (comment).

I spent about an hour and got it to work. The results seem to say that SciPy is not leaking any memory. But of course the whole test suite doesn't run yet, so this should be repeated later. Also, to verify the results are correct, we should

  1. introduce a memory leak somewhere and ensure it's detected,
  2. document exactly how to get this to work,
  3. and perhaps add a CI job using ASAN
@rgommers rgommers mentioned this issue Jul 6, 2021
19 tasks
@Smit-create
Copy link

I tried to build with ASan and meson and run the complete test suite. There were few test failures(not sure presently that were due to ASan or any other build problem).

Failure 1

scipy/cluster/tests/test_hierarchy.py .................................. [  0%]
..............................................Fatal Python error: Aborted

Current thread 0x00007faa364ac740 (most recent call first):
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/_layoutgrid.py", line 80 in <listcomp>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/_layoutgrid.py", line 80 in __init__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/figure.py", line 3082 in init_layoutgrid
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/figure.py", line 2434 in set_constrained_layout
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/figure.py", line 2279 in __init__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/backend_bases.py", line 3544 in new_figure_manager
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/pyplot.py", line 316 in new_figure_manager
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/pyplot.py", line 797 in figure
  File "/home/smit/Smitlunagariya/scipy/installdir/lib/python3.9/site-packages/scipy/cluster/tests/test_hierarchy.py", line 830 in test_valid_label_size
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/python.py", line 183 in pytest_pyfunc_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/python.py", line 1641 in runtest
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 162 in pytest_runtest_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 255 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 311 in from_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 254 in call_runtest_hook
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 215 in call_and_report
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 126 in runtestprotocol
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 109 in pytest_runtest_protocol
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 323 in _main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/config/__init__.py", line 162 in main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/config/__init__.py", line 185 in console_main
  File "/home/smit/anaconda3/envs/scipy-dev/bin/pytest", line 11 in <module>
Aborted (core dumped)

Failure 2

scipy/spatial/tests/test__plotutils.py Fatal Python error: Aborted

Current thread 0x00007f0755dac740 (most recent call first):
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/_layoutgrid.py", line 80 in <listcomp>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/_layoutgrid.py", line 80 in __init__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/figure.py", line 3082 in init_layoutgrid
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/figure.py", line 2434 in set_constrained_layout
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/figure.py", line 2279 in __init__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/backend_bases.py", line 3544 in new_figure_manager
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/pyplot.py", line 316 in new_figure_manager
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/pyplot.py", line 797 in figure
  File "/home/smit/Smitlunagariya/scipy/installdir/lib/python3.9/site-packages/scipy/spatial/tests/test__plotutils.py", line 22 in test_delaunay
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/python.py", line 183 in pytest_pyfunc_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/python.py", line 1641 in runtest
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 162 in pytest_runtest_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 255 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 311 in from_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 254 in call_runtest_hook
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 215 in call_and_report
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 126 in runtestprotocol
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 109 in pytest_runtest_protocol
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 323 in _main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/config/__init__.py", line 162 in main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/config/__init__.py", line 185 in console_main
  File "/home/smit/anaconda3/envs/scipy-dev/bin/pytest", line 11 in <module>
Aborted (core dumped)

Failure 3

scipy/stats/tests/test_morestats.py .................................... [ 77%]
........................................................................ [ 79%]
...................xxx...Fatal Python error: Aborted

Current thread 0x00007fd763d6d740 (most recent call first):
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/_layoutgrid.py", line 80 in <listcomp>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/_layoutgrid.py", line 80 in __init__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/figure.py", line 3082 in init_layoutgrid
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/figure.py", line 2434 in set_constrained_layout
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/figure.py", line 2279 in __init__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/backend_bases.py", line 3544 in new_figure_manager
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/pyplot.py", line 316 in new_figure_manager
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/matplotlib/pyplot.py", line 797 in figure
  File "/home/smit/Smitlunagariya/scipy/installdir/lib/python3.9/site-packages/scipy/stats/tests/test_morestats.py", line 1248 in test_plot_kwarg
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/python.py", line 183 in pytest_pyfunc_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/python.py", line 1641 in runtest
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 162 in pytest_runtest_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 255 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 311 in from_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 254 in call_runtest_hook
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 215 in call_and_report
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 126 in runtestprotocol
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 109 in pytest_runtest_protocol
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 323 in _main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/config/__init__.py", line 162 in main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/config/__init__.py", line 185 in console_main
  File "/home/smit/anaconda3/envs/scipy-dev/bin/pytest", line 11 in <module>
Aborted (core dumped)

I will next try to figure out the exact reason of these failures by adding some memory leaks and try to build again

@Smit-create
Copy link

I introduced the memory leaks in one of the files, and asan was able to detect them. I see that the above 3 failures are raised by asan. Can you also please confirm that you get the same errors?
I used:
meson setup -Db_sanitize=address build --prefix=$PWD/installdir

@rgommers
Copy link
Owner Author

Hi @Smit-create, sorry for the delay in replying. Since I'm on holiday I have no access to my development machine, so I cannot reproduce it right now (at the earliest on Sunday night). When I tried it before it worked without crashes though. These ones are in Matplotlib, and it's possible I used a different version. Can you skip those tests? There should only be a couple of tests in the whole test suite that use Matplotlib.

I introduced the memory leaks in one of the files, and asan was able to detect them.

Great! It would be useful to document this (change made and resulting ASan output).

@Smit-create
Copy link

These ones are in Matplotlib, and it's possible I used a different version.

I am using:

matplotlib                3.4.2            py39hf3d152e_0    conda-forge
matplotlib-base           3.4.2            py39h2fa2bec_0    conda-forge
matplotlib-inline         0.1.2              pyhd8ed1ab_2    conda-forge

There should only be a couple of tests in the whole test suite that use Matplotlib.

Yes, then it works fine

@Smit-create
Copy link

It would be useful to document this (change made and resulting ASan output).

In order to check if this works fine, I used the following diff:

diff --git a/scipy/signal/D_bspline_util.c b/scipy/signal/D_bspline_util.c
index 0bdd49df0..12bf02a85 100644
--- a/scipy/signal/D_bspline_util.c
+++ b/scipy/signal/D_bspline_util.c
@@ -563,7 +563,9 @@ D_quadratic_spline2D(double *image, double *coeffs, int M, int N, double lambda,
     double *tmpmem;
     double *tptr;
     int m,n, retval=0;
-
+    char *s = (char *)malloc(100);
+    free(s);
+    strcpy(s, "Hello world!");
     if (lambda > 0) return -2;
 
     tmpmem = malloc(N*M*sizeof(double));

And, then used the following commands to build and test on the current meson branch:

  1. Using meson ASan: $ meson setup -Db_sanitize=address build --prefix=$PWD/installdir
  2. ninja build: $ ninja -C build
  3. Installation: $ meson install -C build
  4. Python path: $ export PYTHONPATH=$PWD/installdir/lib/python3.9/site-packages/
  5. ASan: $ export ASAN_OPTIONS=verify_asan_link_order=0
  6. Running the tests, I get the following error:
Error traceback

signal/tests/test_cont2discrete.py ..........Fatal Python error: Segmentation fault

Current thread 0x00007fad74ee5740 (most recent call first):
  File "/home/smit/Smitlunagariya/scipy/installdir/lib/python3.9/site-packages/scipy/interpolate/interpolate.py", line 718 in _check_bounds
  File "/home/smit/Smitlunagariya/scipy/installdir/lib/python3.9/site-packages/scipy/interpolate/interpolate.py", line 693 in _evaluate
  File "/home/smit/Smitlunagariya/scipy/installdir/lib/python3.9/site-packages/scipy/interpolate/polyint.py", line 78 in __call__
  File "/home/smit/Smitlunagariya/scipy/installdir/lib/python3.9/site-packages/scipy/signal/ltisys.py", line 3501 in dlsim
  File "/home/smit/Smitlunagariya/scipy/installdir/lib/python3.9/site-packages/scipy/signal/tests/test_cont2discrete.py", line 308 in test_discrete_approx
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/python.py", line 183 in pytest_pyfunc_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/python.py", line 1641 in runtest
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 162 in pytest_runtest_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 255 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 311 in from_call
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 254 in call_runtest_hook
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 215 in call_and_report
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 126 in runtestprotocol
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/runner.py", line 109 in pytest_runtest_protocol
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 323 in _main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/config/__init__.py", line 162 in main
  File "/home/smit/anaconda3/envs/scipy-dev/lib/python3.9/site-packages/_pytest/config/__init__.py", line 185 in console_main
  File "/home/smit/anaconda3/envs/scipy-dev/bin/pytest", line 11 in <module>

@rgommers
Copy link
Owner Author

And, then used the following commands to build and test on the current meson branch:

Hmm a little surprising, I had to spend more effort getting it to work, and it definitely needed a suppressions file because Python itself was a mess. That said, I do remember getting a more useful traceback. Anyway, let's leave it at this for now.

@Smit-create
Copy link

Smit-create commented Apr 5, 2022

Hi @rgommers

I was trying to build with ASAN and hopefully, now, I am getting something useful. I used the following commands:

  1. Meson setup:
meson setup build  -Db_sanitize=address --prefix=$PWD/build-install
  1. Building and Installing
python dev.py --build-only
  1. Setting env variables:
export LD_PRELOAD=$(clang-12 -print-file-name=libclang_rt.asan-x86_64.so)
export PYTHONPATH=$PWD/build-install/lib/python3.10/site-packages/
  1. Importing scipy
python -c 'import scipy'

I get a long trace as below:

Log

==18029==Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING.
==18029==ASan shadow was supposed to be located in the [0x00007fff7000-0x10007fff7fff] range.
==18029==This might be related to ELF_ET_DYN_BASE change in Linux 4.12.
==18029==See https://github.com/google/sanitizers/issues/856 for possible workarounds.
==18029==Process memory map follows:
	0x00007fff7000-0x00008fff7000	
	0x00008fff7000-0x02008fff7000	
	0x02008fff7000-0x10007fff8000	
	0x5565dd77a000-0x5565dd7d4000	/home/admin-pc/anaconda3/envs/scipy-dev/bin/python3.10
	0x5565dd7d4000-0x5565dda2a000	/home/admin-pc/anaconda3/envs/scipy-dev/bin/python3.10
	0x5565dda2a000-0x5565ddb21000	/home/admin-pc/anaconda3/envs/scipy-dev/bin/python3.10
	0x5565ddb21000-0x5565ddb26000	/home/admin-pc/anaconda3/envs/scipy-dev/bin/python3.10
	0x5565ddb26000-0x5565ddb58000	/home/admin-pc/anaconda3/envs/scipy-dev/bin/python3.10
	0x5565ddb58000-0x5565ddb5e000	
	0x600000000000-0x602000000000	
	0x602000000000-0x602000010000	
	0x602000010000-0x602e00000000	
	0x602e00000000-0x602e00010000	
	0x602e00010000-0x603000000000	
	0x603000000000-0x603000020000	
	0x603000020000-0x603e00000000	
	0x603e00000000-0x603e00010000	
	0x603e00010000-0x604000000000	
	0x604000000000-0x604000010000	
	0x604000010000-0x604e00000000	
	0x604e00000000-0x604e00010000	
	0x604e00010000-0x606000000000	
	0x606000000000-0x606000010000	
	0x606000010000-0x606e00000000	
	0x606e00000000-0x606e00010000	
	0x606e00010000-0x607000000000	
	0x607000000000-0x607000010000	
	0x607000010000-0x607e00000000	
	0x607e00000000-0x607e00010000	
	0x607e00010000-0x608000000000	
	0x608000000000-0x608000010000	
	0x608000010000-0x608e00000000	
	0x608e00000000-0x608e00010000	
	0x608e00010000-0x60b000000000	
	0x60b000000000-0x60b000010000	
	0x60b000010000-0x60be00000000	
	0x60be00000000-0x60be00010000	
	0x60be00010000-0x60c000000000	
	0x60c000000000-0x60c000010000	
	0x60c000010000-0x60ce00000000	
	0x60ce00000000-0x60ce00010000	
	0x60ce00010000-0x60d000000000	
	0x60d000000000-0x60d000010000	
	0x60d000010000-0x60de00000000	
	0x60de00000000-0x60de00010000	
	0x60de00010000-0x60e000000000	
	0x60e000000000-0x60e000010000	
	0x60e000010000-0x60ee00000000	
	0x60ee00000000-0x60ee00010000	
	0x60ee00010000-0x60f000000000	
	0x60f000000000-0x60f000010000	
	0x60f000010000-0x60fe00000000	
	0x60fe00000000-0x60fe00010000	
	0x60fe00010000-0x610000000000	
	0x610000000000-0x610000010000	
	0x610000010000-0x610e00000000	
	0x610e00000000-0x610e00010000	
	0x610e00010000-0x611000000000	
	0x611000000000-0x611000010000	
	0x611000010000-0x611e00000000	
	0x611e00000000-0x611e00010000	
	0x611e00010000-0x612000000000	
	0x612000000000-0x612000010000	
	0x612000010000-0x612e00000000	
	0x612e00000000-0x612e00010000	
	0x612e00010000-0x613000000000	
	0x613000000000-0x613000010000	
	0x613000010000-0x613e00000000	
	0x613e00000000-0x613e00010000	
	0x613e00010000-0x614000000000	
	0x614000000000-0x614000010000	
	0x614000010000-0x614e00000000	
	0x614e00000000-0x614e00010000	
	0x614e00010000-0x615000000000	
	0x615000000000-0x615000010000	
	0x615000010000-0x615e00000000	
	0x615e00000000-0x615e00010000	
	0x615e00010000-0x616000000000	
	0x616000000000-0x616000190000	
	0x616000190000-0x616e00000000	
	0x616e00000000-0x616e00010000	
	0x616e00010000-0x617000000000	
	0x617000000000-0x6170000a0000	
	0x6170000a0000-0x617e00000000	
	0x617e00000000-0x617e00010000	
	0x617e00010000-0x618000000000	
	0x618000000000-0x618000110000	
	0x618000110000-0x618e00000000	
	0x618e00000000-0x618e00010000	
	0x618e00010000-0x619000000000	
	0x619000000000-0x619000200000	
	0x619000200000-0x619e00000000	
	0x619e00000000-0x619e00010000	
	0x619e00010000-0x61a000000000	
	0x61a000000000-0x61a0000b0000	
	0x61a0000b0000-0x61ae00000000	
	0x61ae00000000-0x61ae00010000	
	0x61ae00010000-0x61b000000000	
	0x61b000000000-0x61b000080000	
	0x61b000080000-0x61be00000000	
	0x61be00000000-0x61be00010000	
	0x61be00010000-0x61c000000000	
	0x61c000000000-0x61c000090000	
	0x61c000090000-0x61ce00000000	
	0x61ce00000000-0x61ce00010000	
	0x61ce00010000-0x61d000000000	
	0x61d000000000-0x61d000160000	
	0x61d000160000-0x61de00000000	
	0x61de00000000-0x61de00010000	
	0x61de00010000-0x61e000000000	
	0x61e000000000-0x61e0001b0000	
	0x61e0001b0000-0x61ee00000000	
	0x61ee00000000-0x61ee00010000	
	0x61ee00010000-0x61f000000000	
	0x61f000000000-0x61f000070000	
	0x61f000070000-0x61fe00000000	
	0x61fe00000000-0x61fe00010000	
	0x61fe00010000-0x620000000000	
	0x620000000000-0x620000050000	
	0x620000050000-0x620e00000000	
	0x620e00000000-0x620e00010000	
	0x620e00010000-0x621000000000	
	0x621000000000-0x621000190000	
	0x621000190000-0x621e00000000	
	0x621e00000000-0x621e00010000	
	0x621e00010000-0x622000000000	
	0x622000000000-0x622000040000	
	0x622000040000-0x622e00000000	
	0x622e00000000-0x622e00010000	
	0x622e00010000-0x623000000000	
	0x623000000000-0x623000040000	
	0x623000040000-0x623e00000000	
	0x623e00000000-0x623e00010000	
	0x623e00010000-0x624000000000	
	0x624000000000-0x624000090000	
	0x624000090000-0x624e00000000	
	0x624e00000000-0x624e00010000	
	0x624e00010000-0x625000000000	
	0x625000000000-0x625000790000	
	0x625000790000-0x625e00000000	
	0x625e00000000-0x625e00010000	
	0x625e00010000-0x626000000000	
	0x626000000000-0x626000030000	
	0x626000030000-0x626e00000000	
	0x626e00000000-0x626e00010000	
	0x626e00010000-0x627000000000	
	0x627000000000-0x627000040000	
	0x627000040000-0x627e00000000	
	0x627e00000000-0x627e00010000	
	0x627e00010000-0x628000000000	
	0x628000000000-0x628000040000	
	0x628000040000-0x628e00000000	
	0x628e00000000-0x628e00010000	
	0x628e00010000-0x629000000000	
	0x629000000000-0x629000080000	
	0x629000080000-0x629e00000000	
	0x629e00000000-0x629e00010000	
	0x629e00010000-0x62a000000000	
	0x62a000000000-0x62a000080000	
	0x62a000080000-0x62ae00000000	
	0x62ae00000000-0x62ae00010000	
	0x62ae00010000-0x62b000000000	
	0x62b000000000-0x62b000060000	
	0x62b000060000-0x62be00000000	
	0x62be00000000-0x62be00010000	
	0x62be00010000-0x62c000000000	
	0x62c000000000-0x62c000070000	
	0x62c000070000-0x62ce00000000	
	0x62ce00000000-0x62ce00010000	
	0x62ce00010000-0x62d000000000	
	0x62d000000000-0x62d0001b0000	
	0x62d0001b0000-0x62de00000000	
	0x62de00000000-0x62de00010000	
	0x62de00010000-0x62e000000000	
	0x62e000000000-0x62e000080000	
	0x62e000080000-0x62ee00000000	
	0x62ee00000000-0x62ee00010000	
	0x62ee00010000-0x62f000000000	
	0x62f000000000-0x62f000150000	
	0x62f000150000-0x62fe00000000	
	0x62fe00000000-0x62fe00010000	
	0x62fe00010000-0x630000000000	
	0x630000000000-0x630000040000	
	0x630000040000-0x630e00000000	
	0x630e00000000-0x630e00010000	
	0x630e00010000-0x631000000000	
	0x631000000000-0x631000160000	
	0x631000160000-0x631e00000000	
	0x631e00000000-0x631e00010000	
	0x631e00010000-0x632000000000	
	0x632000000000-0x632000060000	
	0x632000060000-0x632e00000000	
	0x632e00000000-0x632e00010000	
	0x632e00010000-0x634000000000	
	0x634000000000-0x634000060000	
	0x634000060000-0x634e00000000	
	0x634e00000000-0x634e00010000	
	0x634e00010000-0x640000000000	
	0x640000000000-0x640000003000	
	0x7fb286675000-0x7fb2869fb000	
	0x7fb2869fb000-0x7fb286a20000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libasan.so.5.0.0
	0x7fb286a20000-0x7fb286ade000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libasan.so.5.0.0
	0x7fb286ade000-0x7fb286b12000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libasan.so.5.0.0
	0x7fb286b12000-0x7fb286b13000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libasan.so.5.0.0
	0x7fb286b13000-0x7fb286b16000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libasan.so.5.0.0
	0x7fb286b16000-0x7fb286b19000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libasan.so.5.0.0
	0x7fb286b19000-0x7fb2873bf000	
	0x7fb2873bf000-0x7fb2873cc000	/home/admin-pc/Smitlunagariya/scipy/build-install/lib/python3.10/site-packages/scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so
	0x7fb2873cc000-0x7fb2873de000	/home/admin-pc/Smitlunagariya/scipy/build-install/lib/python3.10/site-packages/scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so
	0x7fb2873de000-0x7fb2873e4000	/home/admin-pc/Smitlunagariya/scipy/build-install/lib/python3.10/site-packages/scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so
	0x7fb2873e4000-0x7fb2873e5000	/home/admin-pc/Smitlunagariya/scipy/build-install/lib/python3.10/site-packages/scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so
	0x7fb2873e5000-0x7fb2873ed000	/home/admin-pc/Smitlunagariya/scipy/build-install/lib/python3.10/site-packages/scipy/_lib/_ccallback_c.cpython-310-x86_64-linux-gnu.so
	0x7fb2873ed000-0x7fb2875f0000	
	0x7fb2875f0000-0x7fb287602000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb287602000-0x7fb287673000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb287673000-0x7fb2876a4000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb2876a4000-0x7fb2876a5000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb2876a5000-0x7fb2876a6000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb2876a6000-0x7fb2876cb000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb2876cb000-0x7fb2876cd000	
	0x7fb2876cd000-0x7fb2876d1000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_sfc64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876d1000-0x7fb2876d8000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_sfc64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876d8000-0x7fb2876da000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_sfc64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876da000-0x7fb2876db000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_sfc64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876db000-0x7fb2876dc000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_sfc64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876dc000-0x7fb2876dd000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_sfc64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876dd000-0x7fb2876e1000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_pcg64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876e1000-0x7fb2876f0000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_pcg64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876f0000-0x7fb2876f4000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_pcg64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876f4000-0x7fb2876f5000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_pcg64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876f5000-0x7fb2876f7000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_pcg64.cpython-310-x86_64-linux-gnu.so
	0x7fb2876f7000-0x7fb2876f8000	
	0x7fb2876f8000-0x7fb2876fc000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_philox.cpython-310-x86_64-linux-gnu.so
	0x7fb2876fc000-0x7fb287708000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_philox.cpython-310-x86_64-linux-gnu.so
	0x7fb287708000-0x7fb28770c000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_philox.cpython-310-x86_64-linux-gnu.so
	0x7fb28770c000-0x7fb28770d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_philox.cpython-310-x86_64-linux-gnu.so
	0x7fb28770d000-0x7fb28770f000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_philox.cpython-310-x86_64-linux-gnu.so
	0x7fb28770f000-0x7fb287713000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_mt19937.cpython-310-x86_64-linux-gnu.so
	0x7fb287713000-0x7fb287721000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_mt19937.cpython-310-x86_64-linux-gnu.so
	0x7fb287721000-0x7fb287726000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_mt19937.cpython-310-x86_64-linux-gnu.so
	0x7fb287726000-0x7fb287727000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_mt19937.cpython-310-x86_64-linux-gnu.so
	0x7fb287727000-0x7fb287729000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_mt19937.cpython-310-x86_64-linux-gnu.so
	0x7fb287729000-0x7fb287732000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_bounded_integers.cpython-310-x86_64-linux-gnu.so
	0x7fb287732000-0x7fb28777b000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_bounded_integers.cpython-310-x86_64-linux-gnu.so
	0x7fb28777b000-0x7fb287785000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_bounded_integers.cpython-310-x86_64-linux-gnu.so
	0x7fb287785000-0x7fb287786000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_bounded_integers.cpython-310-x86_64-linux-gnu.so
	0x7fb287786000-0x7fb287787000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_bounded_integers.cpython-310-x86_64-linux-gnu.so
	0x7fb287787000-0x7fb287788000	
	0x7fb287788000-0x7fb28778a000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_sha512.cpython-310-x86_64-linux-gnu.so
	0x7fb28778a000-0x7fb287791000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_sha512.cpython-310-x86_64-linux-gnu.so
	0x7fb287791000-0x7fb287792000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_sha512.cpython-310-x86_64-linux-gnu.so
	0x7fb287792000-0x7fb287793000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_sha512.cpython-310-x86_64-linux-gnu.so
	0x7fb287793000-0x7fb287794000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_sha512.cpython-310-x86_64-linux-gnu.so
	0x7fb287794000-0x7fb287796000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_random.cpython-310-x86_64-linux-gnu.so
	0x7fb287796000-0x7fb287798000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_random.cpython-310-x86_64-linux-gnu.so
	0x7fb287798000-0x7fb287799000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_random.cpython-310-x86_64-linux-gnu.so
	0x7fb287799000-0x7fb28779a000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_random.cpython-310-x86_64-linux-gnu.so
	0x7fb28779a000-0x7fb28779b000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_random.cpython-310-x86_64-linux-gnu.so
	0x7fb28779b000-0x7fb28779d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_bisect.cpython-310-x86_64-linux-gnu.so
	0x7fb28779d000-0x7fb28779e000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_bisect.cpython-310-x86_64-linux-gnu.so
	0x7fb28779e000-0x7fb28779f000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_bisect.cpython-310-x86_64-linux-gnu.so
	0x7fb28779f000-0x7fb2877a0000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_bisect.cpython-310-x86_64-linux-gnu.so
	0x7fb2877a0000-0x7fb2877a1000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_bisect.cpython-310-x86_64-linux-gnu.so
	0x7fb2877a1000-0x7fb2877a3000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_blake2.cpython-310-x86_64-linux-gnu.so
	0x7fb2877a3000-0x7fb2877b5000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_blake2.cpython-310-x86_64-linux-gnu.so
	0x7fb2877b5000-0x7fb2877b7000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_blake2.cpython-310-x86_64-linux-gnu.so
	0x7fb2877b7000-0x7fb2877b8000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_blake2.cpython-310-x86_64-linux-gnu.so
	0x7fb2877b8000-0x7fb2877b9000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_blake2.cpython-310-x86_64-linux-gnu.so
	0x7fb2877b9000-0x7fb287834000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libcrypto.so.1.1
	0x7fb287834000-0x7fb2879c8000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libcrypto.so.1.1
	0x7fb2879c8000-0x7fb287a55000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libcrypto.so.1.1
	0x7fb287a55000-0x7fb287a80000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libcrypto.so.1.1
	0x7fb287a80000-0x7fb287a82000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libcrypto.so.1.1
	0x7fb287a82000-0x7fb287a87000	
	0x7fb287a87000-0x7fb287a8b000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_hashlib.cpython-310-x86_64-linux-gnu.so
	0x7fb287a8b000-0x7fb287a93000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_hashlib.cpython-310-x86_64-linux-gnu.so
	0x7fb287a93000-0x7fb287a97000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_hashlib.cpython-310-x86_64-linux-gnu.so
	0x7fb287a97000-0x7fb287a98000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_hashlib.cpython-310-x86_64-linux-gnu.so
	0x7fb287a98000-0x7fb287a99000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_hashlib.cpython-310-x86_64-linux-gnu.so
	0x7fb287a99000-0x7fb287a9a000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_hashlib.cpython-310-x86_64-linux-gnu.so
	0x7fb287a9a000-0x7fb287a9d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libz.so.1.2.11
	0x7fb287a9d000-0x7fb287aab000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libz.so.1.2.11
	0x7fb287aab000-0x7fb287ab1000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libz.so.1.2.11
	0x7fb287ab1000-0x7fb287ab2000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libz.so.1.2.11
	0x7fb287ab2000-0x7fb287ab3000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libz.so.1.2.11
	0x7fb287ab3000-0x7fb287ab4000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libz.so.1.2.11
	0x7fb287ab4000-0x7fb287ab6000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/binascii.cpython-310-x86_64-linux-gnu.so
	0x7fb287ab6000-0x7fb287aba000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/binascii.cpython-310-x86_64-linux-gnu.so
	0x7fb287aba000-0x7fb287abc000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/binascii.cpython-310-x86_64-linux-gnu.so
	0x7fb287abc000-0x7fb287abd000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/binascii.cpython-310-x86_64-linux-gnu.so
	0x7fb287abd000-0x7fb287abe000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/binascii.cpython-310-x86_64-linux-gnu.so
	0x7fb287abe000-0x7fb287abf000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/binascii.cpython-310-x86_64-linux-gnu.so
	0x7fb287abf000-0x7fb287ac4000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_common.cpython-310-x86_64-linux-gnu.so
	0x7fb287ac4000-0x7fb287afa000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_common.cpython-310-x86_64-linux-gnu.so
	0x7fb287afa000-0x7fb287afe000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_common.cpython-310-x86_64-linux-gnu.so
	0x7fb287afe000-0x7fb287aff000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_common.cpython-310-x86_64-linux-gnu.so
	0x7fb287aff000-0x7fb287b00000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_common.cpython-310-x86_64-linux-gnu.so
	0x7fb287b00000-0x7fb287b02000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/_common.cpython-310-x86_64-linux-gnu.so
	0x7fb287b02000-0x7fb287b03000	
	0x7fb287b03000-0x7fb287b0a000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/bit_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb287b0a000-0x7fb287b25000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/bit_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb287b25000-0x7fb287b2d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/bit_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb287b2d000-0x7fb287b2e000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/bit_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb287b2e000-0x7fb287b32000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/bit_generator.cpython-310-x86_64-linux-gnu.so
	0x7fb287b32000-0x7fb287b33000	
	0x7fb287b33000-0x7fb287b43000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/mtrand.cpython-310-x86_64-linux-gnu.so
	0x7fb287b43000-0x7fb287b92000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/mtrand.cpython-310-x86_64-linux-gnu.so
	0x7fb287b92000-0x7fb287bc0000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/mtrand.cpython-310-x86_64-linux-gnu.so
	0x7fb287bc0000-0x7fb287bc1000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/mtrand.cpython-310-x86_64-linux-gnu.so
	0x7fb287bc1000-0x7fb287be7000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/random/mtrand.cpython-310-x86_64-linux-gnu.so
	0x7fb287be7000-0x7fb287be9000	
	0x7fb287be9000-0x7fb287bea000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/fft/_pocketfft_internal.cpython-310-x86_64-linux-gnu.so
	0x7fb287bea000-0x7fb287bf9000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/fft/_pocketfft_internal.cpython-310-x86_64-linux-gnu.so
	0x7fb287bf9000-0x7fb287bfb000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/fft/_pocketfft_internal.cpython-310-x86_64-linux-gnu.so
	0x7fb287bfb000-0x7fb287bfc000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/fft/_pocketfft_internal.cpython-310-x86_64-linux-gnu.so
	0x7fb287bfc000-0x7fb287bfd000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/fft/_pocketfft_internal.cpython-310-x86_64-linux-gnu.so
	0x7fb287bfd000-0x7fb287d47000	
	0x7fb287d47000-0x7fb287d50000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/_umath_linalg.cpython-310-x86_64-linux-gnu.so
	0x7fb287d50000-0x7fb287d70000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/_umath_linalg.cpython-310-x86_64-linux-gnu.so
	0x7fb287d70000-0x7fb287d75000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/_umath_linalg.cpython-310-x86_64-linux-gnu.so
	0x7fb287d75000-0x7fb287d76000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/_umath_linalg.cpython-310-x86_64-linux-gnu.so
	0x7fb287d76000-0x7fb287d77000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/_umath_linalg.cpython-310-x86_64-linux-gnu.so
	0x7fb287d77000-0x7fb287d78000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/_umath_linalg.cpython-310-x86_64-linux-gnu.so
	0x7fb287d78000-0x7fb287d7a000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/lapack_lite.cpython-310-x86_64-linux-gnu.so
	0x7fb287d7a000-0x7fb287d7c000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/lapack_lite.cpython-310-x86_64-linux-gnu.so
	0x7fb287d7c000-0x7fb287d7d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/lapack_lite.cpython-310-x86_64-linux-gnu.so
	0x7fb287d7d000-0x7fb287d7e000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/lapack_lite.cpython-310-x86_64-linux-gnu.so
	0x7fb287d7e000-0x7fb287d7f000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/linalg/lapack_lite.cpython-310-x86_64-linux-gnu.so
	0x7fb287d7f000-0x7fb287e7f000	
	0x7fb287e7f000-0x7fb287e81000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libffi.so.8.1.0
	0x7fb287e81000-0x7fb287e87000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libffi.so.8.1.0
	0x7fb287e87000-0x7fb287e89000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libffi.so.8.1.0
	0x7fb287e89000-0x7fb287e8a000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libffi.so.8.1.0
	0x7fb287e8a000-0x7fb287e8b000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libffi.so.8.1.0
	0x7fb287e8b000-0x7fb28808b000	
	0x7fb28808b000-0x7fb2a008b000	
	0x7fb2a008b000-0x7fb2a008c000	
	0x7fb2a008c000-0x7fb2a088c000	
	0x7fb2a088c000-0x7fb2a088d000	
	0x7fb2a088d000-0x7fb2a108d000	
	0x7fb2a108d000-0x7fb2a108e000	
	0x7fb2a108e000-0x7fb2a188e000	
	0x7fb2a188e000-0x7fb2a18ad000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libgfortran.so.5.0.0
	0x7fb2a18ad000-0x7fb2a1a06000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libgfortran.so.5.0.0
	0x7fb2a1a06000-0x7fb2a1a34000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libgfortran.so.5.0.0
	0x7fb2a1a34000-0x7fb2a1a35000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libgfortran.so.5.0.0
	0x7fb2a1a35000-0x7fb2a1a37000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libgfortran.so.5.0.0
	0x7fb2a1a37000-0x7fb2a1b49000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libopenblasp-r0.3.18.so
	0x7fb2a1b49000-0x7fb2a1b4a000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libopenblasp-r0.3.18.so
	0x7fb2a1b4a000-0x7fb2a1b4f000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libopenblasp-r0.3.18.so
	0x7fb2a1b4f000-0x7fb2a3975000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libopenblasp-r0.3.18.so
	0x7fb2a3975000-0x7fb2a3b51000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libopenblasp-r0.3.18.so
	0x7fb2a3b51000-0x7fb2a3b5f000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libopenblasp-r0.3.18.so
	0x7fb2a3b5f000-0x7fb2a3b70000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libopenblasp-r0.3.18.so
	0x7fb2a3b70000-0x7fb2a3b81000	
	0x7fb2a3b81000-0x7fb2a3ba9000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_umath.cpython-310-x86_64-linux-gnu.so
	0x7fb2a3ba9000-0x7fb2a3e4d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_umath.cpython-310-x86_64-linux-gnu.so
	0x7fb2a3e4d000-0x7fb2a3ede000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_umath.cpython-310-x86_64-linux-gnu.so
	0x7fb2a3ede000-0x7fb2a3edf000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_umath.cpython-310-x86_64-linux-gnu.so
	0x7fb2a3edf000-0x7fb2a3ee2000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_umath.cpython-310-x86_64-linux-gnu.so
	0x7fb2a3ee2000-0x7fb2a3f01000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_umath.cpython-310-x86_64-linux-gnu.so
	0x7fb2a3f01000-0x7fb2a3f22000	
	0x7fb2a3f22000-0x7fb2a4200000	/usr/lib/locale/locale-archive
	0x7fb2a4200000-0x7fb2a4301000	
	0x7fb2a4301000-0x7fb2a4308000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_ctypes.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4308000-0x7fb2a4316000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_ctypes.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4316000-0x7fb2a431c000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_ctypes.cpython-310-x86_64-linux-gnu.so
	0x7fb2a431c000-0x7fb2a431d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_ctypes.cpython-310-x86_64-linux-gnu.so
	0x7fb2a431d000-0x7fb2a4321000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_ctypes.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4321000-0x7fb2a4324000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/select.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4324000-0x7fb2a4327000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/select.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4327000-0x7fb2a4329000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/select.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4329000-0x7fb2a432a000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/select.cpython-310-x86_64-linux-gnu.so
	0x7fb2a432a000-0x7fb2a432b000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/select.cpython-310-x86_64-linux-gnu.so
	0x7fb2a432b000-0x7fb2a432c000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/select.cpython-310-x86_64-linux-gnu.so
	0x7fb2a432c000-0x7fb2a432e000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_posixsubprocess.cpython-310-x86_64-linux-gnu.so
	0x7fb2a432e000-0x7fb2a4330000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_posixsubprocess.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4330000-0x7fb2a4331000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_posixsubprocess.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4331000-0x7fb2a4332000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_posixsubprocess.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4332000-0x7fb2a4333000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_posixsubprocess.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4333000-0x7fb2a433d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_tests.cpython-310-x86_64-linux-gnu.so
	0x7fb2a433d000-0x7fb2a4352000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_tests.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4352000-0x7fb2a4358000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_tests.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4358000-0x7fb2a4359000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_tests.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4359000-0x7fb2a435a000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_tests.cpython-310-x86_64-linux-gnu.so
	0x7fb2a435a000-0x7fb2a435b000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_tests.cpython-310-x86_64-linux-gnu.so
	0x7fb2a435b000-0x7fb2a4b04000	
	0x7fb2a4b04000-0x7fb2a4b06000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/fcntl.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b06000-0x7fb2a4b07000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/fcntl.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b07000-0x7fb2a4b09000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/fcntl.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b09000-0x7fb2a4b0a000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/fcntl.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b0a000-0x7fb2a4b0b000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/fcntl.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b0b000-0x7fb2a4b10000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_pickle.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b10000-0x7fb2a4b25000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_pickle.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b25000-0x7fb2a4b2b000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_pickle.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b2b000-0x7fb2a4b2c000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_pickle.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b2c000-0x7fb2a4b2d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_pickle.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b2d000-0x7fb2a4b2f000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_pickle.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b2f000-0x7fb2a4b33000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_struct.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b33000-0x7fb2a4b38000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_struct.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b38000-0x7fb2a4b3c000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_struct.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b3c000-0x7fb2a4b3d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_struct.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b3d000-0x7fb2a4b3e000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_struct.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b3e000-0x7fb2a4b43000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_datetime.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b43000-0x7fb2a4b55000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_datetime.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b55000-0x7fb2a4b5b000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_datetime.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b5b000-0x7fb2a4b5c000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_datetime.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b5c000-0x7fb2a4b5e000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_datetime.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b5e000-0x7fb2a4b62000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/math.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b62000-0x7fb2a4b69000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/math.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b69000-0x7fb2a4b6d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/math.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b6d000-0x7fb2a4b6e000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/math.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b6e000-0x7fb2a4b6f000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/math.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b6f000-0x7fb2a4b70000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/math.cpython-310-x86_64-linux-gnu.so
	0x7fb2a4b70000-0x7fb2a6bbc000	
	0x7fb2a6bbc000-0x7fb2a739c000	
	0x7fb2a739c000-0x7fb2a76ee000	
	0x7fb2a76ee000-0x7fb2a7705000	/lib/x86_64-linux-gnu/libgcc_s.so.1
	0x7fb2a7705000-0x7fb2a7904000	/lib/x86_64-linux-gnu/libgcc_s.so.1
	0x7fb2a7904000-0x7fb2a7905000	/lib/x86_64-linux-gnu/libgcc_s.so.1
	0x7fb2a7905000-0x7fb2a7906000	/lib/x86_64-linux-gnu/libgcc_s.so.1
	0x7fb2a7906000-0x7fb2a7a7f000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
	0x7fb2a7a7f000-0x7fb2a7c7f000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
	0x7fb2a7c7f000-0x7fb2a7c89000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
	0x7fb2a7c89000-0x7fb2a7c8b000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
	0x7fb2a7c8b000-0x7fb2a7c8f000	
	0x7fb2a7c8f000-0x7fb2a7e76000	/lib/x86_64-linux-gnu/libc-2.27.so
	0x7fb2a7e76000-0x7fb2a8076000	/lib/x86_64-linux-gnu/libc-2.27.so
	0x7fb2a8076000-0x7fb2a807a000	/lib/x86_64-linux-gnu/libc-2.27.so
	0x7fb2a807a000-0x7fb2a807c000	/lib/x86_64-linux-gnu/libc-2.27.so
	0x7fb2a807c000-0x7fb2a8080000	
	0x7fb2a8080000-0x7fb2a821d000	/lib/x86_64-linux-gnu/libm-2.27.so
	0x7fb2a821d000-0x7fb2a841c000	/lib/x86_64-linux-gnu/libm-2.27.so
	0x7fb2a841c000-0x7fb2a841d000	/lib/x86_64-linux-gnu/libm-2.27.so
	0x7fb2a841d000-0x7fb2a841e000	/lib/x86_64-linux-gnu/libm-2.27.so
	0x7fb2a841e000-0x7fb2a8425000	/lib/x86_64-linux-gnu/librt-2.27.so
	0x7fb2a8425000-0x7fb2a8624000	/lib/x86_64-linux-gnu/librt-2.27.so
	0x7fb2a8624000-0x7fb2a8625000	/lib/x86_64-linux-gnu/librt-2.27.so
	0x7fb2a8625000-0x7fb2a8626000	/lib/x86_64-linux-gnu/librt-2.27.so
	0x7fb2a8626000-0x7fb2a8628000	/lib/x86_64-linux-gnu/libutil-2.27.so
	0x7fb2a8628000-0x7fb2a8827000	/lib/x86_64-linux-gnu/libutil-2.27.so
	0x7fb2a8827000-0x7fb2a8828000	/lib/x86_64-linux-gnu/libutil-2.27.so
	0x7fb2a8828000-0x7fb2a8829000	/lib/x86_64-linux-gnu/libutil-2.27.so
	0x7fb2a8829000-0x7fb2a882c000	/lib/x86_64-linux-gnu/libdl-2.27.so
	0x7fb2a882c000-0x7fb2a8a2b000	/lib/x86_64-linux-gnu/libdl-2.27.so
	0x7fb2a8a2b000-0x7fb2a8a2c000	/lib/x86_64-linux-gnu/libdl-2.27.so
	0x7fb2a8a2c000-0x7fb2a8a2d000	/lib/x86_64-linux-gnu/libdl-2.27.so
	0x7fb2a8a2d000-0x7fb2a8a47000	/lib/x86_64-linux-gnu/libpthread-2.27.so
	0x7fb2a8a47000-0x7fb2a8c46000	/lib/x86_64-linux-gnu/libpthread-2.27.so
	0x7fb2a8c46000-0x7fb2a8c47000	/lib/x86_64-linux-gnu/libpthread-2.27.so
	0x7fb2a8c47000-0x7fb2a8c48000	/lib/x86_64-linux-gnu/libpthread-2.27.so
	0x7fb2a8c48000-0x7fb2a8c4c000	
	0x7fb2a8c4c000-0x7fb2a8d50000	/usr/lib/llvm-12/lib/clang/12.0.0/lib/linux/libclang_rt.asan-x86_64.so
	0x7fb2a8d50000-0x7fb2a8d51000	/usr/lib/llvm-12/lib/clang/12.0.0/lib/linux/libclang_rt.asan-x86_64.so
	0x7fb2a8d51000-0x7fb2a8d54000	/usr/lib/llvm-12/lib/clang/12.0.0/lib/linux/libclang_rt.asan-x86_64.so
	0x7fb2a8d54000-0x7fb2a8d57000	/usr/lib/llvm-12/lib/clang/12.0.0/lib/linux/libclang_rt.asan-x86_64.so
	0x7fb2a8d57000-0x7fb2a967d000	
	0x7fb2a967d000-0x7fb2a96a6000	/lib/x86_64-linux-gnu/ld-2.27.so
	0x7fb2a96a6000-0x7fb2a96a7000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_opcode.cpython-310-x86_64-linux-gnu.so
	0x7fb2a96a7000-0x7fb2a96a8000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_opcode.cpython-310-x86_64-linux-gnu.so
	0x7fb2a96a8000-0x7fb2a96a9000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_opcode.cpython-310-x86_64-linux-gnu.so
	0x7fb2a96a9000-0x7fb2a96aa000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_opcode.cpython-310-x86_64-linux-gnu.so
	0x7fb2a96aa000-0x7fb2a96ab000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_opcode.cpython-310-x86_64-linux-gnu.so
	0x7fb2a96ab000-0x7fb2a96c1000	
	0x7fb2a96c1000-0x7fb2a96c4000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libquadmath.so.0.0.0
	0x7fb2a96c4000-0x7fb2a96e2000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libquadmath.so.0.0.0
	0x7fb2a96e2000-0x7fb2a96f9000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libquadmath.so.0.0.0
	0x7fb2a96f9000-0x7fb2a96fa000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libquadmath.so.0.0.0
	0x7fb2a96fa000-0x7fb2a96fb000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/libquadmath.so.0.0.0
	0x7fb2a96fb000-0x7fb2a96fe000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_json.cpython-310-x86_64-linux-gnu.so
	0x7fb2a96fe000-0x7fb2a9709000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_json.cpython-310-x86_64-linux-gnu.so
	0x7fb2a9709000-0x7fb2a970b000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_json.cpython-310-x86_64-linux-gnu.so
	0x7fb2a970b000-0x7fb2a970c000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_json.cpython-310-x86_64-linux-gnu.so
	0x7fb2a970c000-0x7fb2a970d000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_json.cpython-310-x86_64-linux-gnu.so
	0x7fb2a970d000-0x7fb2a970e000	/home/admin-pc/anaconda3/envs/scipy-dev/lib/python3.10/lib-dynload/_json.cpython-310-x86_64-linux-gnu.so
	0x7fb2a970e000-0x7fb2a9735000	
	0x7fb2a9735000-0x7fb2a973c000	/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
	0x7fb2a973c000-0x7fb2a988e000	
	0x7fb2a988e000-0x7fb2a98a6000	
	0x7fb2a98a6000-0x7fb2a98a7000	/lib/x86_64-linux-gnu/ld-2.27.so
	0x7fb2a98a7000-0x7fb2a98a8000	/lib/x86_64-linux-gnu/ld-2.27.so
	0x7fb2a98a8000-0x7fb2a98a9000	
	0x7ffd9c8e2000-0x7ffd9c905000	[stack]
	0x7ffd9c9fa000-0x7ffd9c9fd000	[vvar]
	0x7ffd9c9fd000-0x7ffd9c9fe000	[vdso]
	0xffffffffff600000-0xffffffffff601000	[vsyscall]
==18029==End of process memory map.

My ubuntu kernel version: 5.4.0-105-generic

@nkaretnikov
Copy link

so i've spent like an hour+ on this as well now. didn't get it work, but writing down my experience just in case.

  1. adding -Db_sanitize=address to args in the dev.py file doesn't seem to work (i hardcoded it just to be sure). i get the same memory map error as above. now, there could be multiple causes of this, but i'm guessing it's just some mismatch between the compiled/instrumented code and the runtime. maybe the option didn't work at all.

  2. i also tried 1) with CC and CXX flags set. doesn't seem to make a difference to the end result. but at least you can see that meson selects clang/++ in the compile_commands.json file

  3. tried using something similar to what pytorch folks use, which worked for me with pytorch:

https://github.com/pytorch/pytorch/blob/master/.jenkins/pytorch/build-asan.sh
https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md#building-pytorch-with-asan

for this, i removed the -Db_sanitize=address option from the dev.py file because it seems to mess things up.

instead, i source the following script in the scipy-dev conda env (http://scipy.github.io/devdocs/dev/contributor/meson.html#quickstart-from-scratch). note that i installed llvm manually as described in the pytorch wiki.

export LLVM_ROOT=$HOME/llvm/clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-20.04
export LIBASAN_RT=$LLVM_ROOT/lib/clang/13.0.0/lib/linux/libclang_rt.asan-x86_64.so

export ASAN_SYMBOLIZER_PATH=$LLVM_ROOT/bin/llvm-symbolizer
export ASAN_OPTIONS=detect_leaks=0:symbolize=1:strict_init_order=true
export UBSAN_OPTIONS=print_stacktrace=1

build_with_asan()
{
  LD_PRELOAD=${LIBASAN_RT} \
  CC="$LLVM_ROOT/bin/clang" \
  CXX="$LLVM_ROOT/bin/clang++" \
  LDSHARED="$LLVM_ROOT/bin/clang --shared" \
  CFLAGS="-fsanitize=address -fno-sanitize-recover=all -shared-libasan -pthread" \
  CXX_FLAGS="-pthread" \
  $@
}

(note that i'm disabling leak detection here to avoid aborting on the very first leak from python)

then do the usual build/run command with some crash repro:

build_with_asan python dev.py --python ../scipy_repro_9253.py       

then, i would expect to see a stack trace and some summary about which memory is allocated where.

but i only see a stack trace.

moreover, this only seems to work with things that are outright wrong, like inserting foo[0x41414141] = 0x42
somewhere. but i couldn't repro my crash, for instance, which triggers nicely without asan. with asan, i get a matrix full of zeros instead of a crash. while it's possible in some cases to not get errors from asan, i suspect in this case the instrumentation is not working properly due to me setting up the env incorrectly.

some more thoughts on why it might not be working properly:

  • with pytorch, i used LDFLAGS="-stdlib=libstdc++", which i cannot use here because gfortran complains as it doesn't support this option. i'm not sure whether it's important or not, but mentioning just in case
  • for fortran code, me might need to use the llvm fortran somehow (https://releases.llvm.org/11.0.0/tools/flang/docs/ReleaseNotes.html). i'm not sure whether it's important or not. also don't know whether flang is reliable
  • something else might be causing it in my environment (e.g., i've read that setting up ulimits incorrectly could cause this too)

@rgommers
Copy link
Owner Author

Hmm, I don't have much experience with this. @eli-schwartz is there anything that comes to mind here? I assume ASAN support in Meson is in good shape?

@eli-schwartz
Copy link

sanitizer support in Meson mostly means being context-aware for e.g. things like gnome gobject-introspection, and handling the correct per-compiler flag to define options via. (e.g. -fsanitize= vs /fsanitize=). It also detects when you mix that with b_lundef and triggers a warning.

The other thing it does is detect asan and set -fno-omit-frame-pointer.

@rgommers
Copy link
Owner Author

for fortran code, me might need to use the llvm fortran somehow (https://releases.llvm.org/11.0.0/tools/flang/docs/ReleaseNotes.html). i'm not sure whether it's important or not. also don't know whether flang is reliable

I'm not sure that that will work, Flang isn't reliable yet AFAIK. It's possible that it'll work on Linux (no luck on Windows for sure), I can't remember anyone trying though.

with pytorch, i used LDFLAGS="-stdlib=libstdc++", which i cannot use here because gfortran complains as it doesn't support this option. i'm not sure whether it's important or not, but mentioning just in case

I think you want to always use the default per OS, which is libstdc++ on Linux and libc++ on macOS, right?

Either way, you should be able to use

meson setup build --prefix build-install -Dc_link_args="-stdlib=libstdc++" -Dcpp_link_args="-stdlib=libstdc++"

to configure the build to only pass that linker arg to C/C++.

@nkaretnikov
Copy link

okay, i will give it another try sometime later and will report here

@nkaretnikov
Copy link

@rgommers woo, i think i'm now able to build scipy with asan!

here's what i did:

  • in the tree, deleted build and build-install just in case
  • in dev.py, modified setup_build to include cmd += ['-Db_sanitize=address'] right before subprocess.call, probably can be done via the command line or we could add an option to the script for this
  • ran python dev.py -v -b
  • note: make sure that -fsanitize=address is present in ./build/compile_commands.json
  • the above build command exited with exit code 1 and this message, but that's okay:
[1573/1573] Linking target scipy/sparse/spa...sparsetools.cpython-310-x86_64-linux-gnu.so
Build OK
Installing, see meson-install.log...
Installation OK
==817318==ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.
  • ran my repro with the proper asan shared lib and asan options:
ASAN_OPTIONS=detect_leaks=0:symbolize=1:strict_init_order=true LD_PRELOAD=$HOME/.conda/envs/scipy-dev/lib/libasan.so python dev.py  --python  ../scipy_repro_11400_2.py
  • in the above, i disable leaks so the code could actually get to crashes
  • i was trying to pass a different asan lib before and it resulted in the memory map error reported above
  • you should see a report similar to this:
ninja: Entering directory `build'
[2/2] Generating scipy/generate-config with a custom command
Build OK
Installing, see meson-install.log...
Installation OK
=================================================================
==751596==ERROR: AddressSanitizer: heap-buffer-overflow on address <addr> at pc <addr> bp <addr> sp <addr>
READ of size 1 at <addr> thread T0
...
[stack trace with line numbers and function names]
...
SUMMARY: AddressSanitizer: heap-buffer-overflow <filename> in <funcname>
Shadow bytes around the buggy address:
[bytes here]
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
[...]
  Shadow gap:              cc
  • note i've read here that you can also enable undefined memory sanitizer like this: -Db_sanitize=address,undefined, but i haven't tried this one yet
  • this mentions that you need to add -Db_lundef=false if you build with clang, haven't tried this one either, i built with gcc

@rgommers
Copy link
Owner Author

I have now verified this, introduced an issue in ni_support.c and then ran with the exact example code given in scipygh-16447 and got:

==214013==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6080000037f5 at pc 0x7f0cbe822a0d bp 0x7ffc93ac02c0 sp 0x7ffc93ac02b8
READ of size 1 at 0x6080000037f5 thread T0
    #0 0x7f0cbe822a0c in NI_BinaryErosion ../scipy/ndimage/src/ni_morphology.c:191

... <very long traceback> ....

    #464 0x556777fc3288 in Py_BytesMain /home/conda/feedstock_root/build_artifacts/python-split_1643743070668/work/Modules/main.c:1090
    #465 0x7f0cc5e8c30f in __libc_start_call_main (/usr/lib/libc.so.6+0x2d30f)
    #466 0x7f0cc5e8c3c0 in __libc_start_main@GLIBC_2.2.5 (/usr/lib/libc.so.6+0x2d3c0)
    #467 0x556777f2d020  (/home/rgommers/anaconda3/envs/scipy-dev/bin/python3.10+0x222020)

0x6080000037f5 is located 4 bytes to the right of 81-byte region [0x6080000037a0,0x6080000037f1)
allocated by thread T0 here:
    #0 0x7f0cc62491a3 in __interceptor_malloc ../../../../libsanitizer/asan/asan_malloc_linux.cc:144
    #1 0x7f0cc13af654 in default_malloc (/home/rgommers/anaconda3/envs/scipy-dev/lib/python3.10/site-packages/numpy/core/_multiarray_umath.cpython-310-x86_64-linux-gnu.so+0x6c654)

SUMMARY: AddressSanitizer: heap-buffer-overflow ../scipy/ndimage/src/ni_morphology.c:191 in NI_BinaryErosion
Shadow bytes around the buggy address:
  0x0c107fff86a0: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c107fff86b0: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c107fff86c0: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c107fff86d0: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c107fff86e0: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 01 fa
=>0x0c107fff86f0: fa fa fa fa 00 00 00 00 00 00 00 00 00 00[01]fa
  0x0c107fff8700: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 01 fa
  0x0c107fff8710: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff8720: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff8730: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c107fff8740: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc

@rgommers
Copy link
Owner Author

note i've read here that you can also enable undefined memory sanitizer like this: -Db_sanitize=address,undefined, but i haven't tried this one yet

This is included in scipygh-16447

this mentions that you need to add -Db_lundef=false if you build with clang, haven't tried this one either, i built with gcc

This may be useful later. Most people use GCC, but on macOS Clang will be needed. But let's leave it as is for now.

Closing, thanks @nkaretnikov!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants