Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
5246 讨论

VTune hotspots analysis fails for Python 3.11 when importing NumPY

nickw1
初学者
1,763 次查看

Operating System: Rocky Linux 8.7

VTune version: Intel(R) VTune(TM) Profiler 2024.0.0 (build 626834) Command Line Tool

 

I am trying to run a VTune analysis of a C++ application which uses the Boost python interface and it crashes importing the NumPY module:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++ Signal Handler Invoked +++++++
+++++++ Signal : SIGSEGV +++++++
+++++++ Meaning: Invalid memory reference +++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

+++ Stack Trace:
+++
+++ [0x7ffff650e926]
+++ [0x7ffff64fa42d]
+++ [0x7ffff650d60e]
+++ [0x7ffff650ee60]
+++ [0x7ffff6ced9d8]
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyCode_Validate()+0x113
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyCode_NewWithPosOnlyArgs()+0x209
+++ [0x7ffff65b7db1]
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x2f5334
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1ed826
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyObject_Call()+0x98
+++ /thirdparty/linux64/python/lib/python3.11/site-packages/numpy/random/mtrand.cpython-311-x86_64-linux-gnu.so: ()+0xd201
+++ /thirdparty/linux64/python/lib/python3.11/site-packages/numpy/random/mtrand.cpython-311-x86_64-linux-gnu.so: ()+0xe0df
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyModule_ExecDef()+0x6f
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x29d489
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1f2ae1
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x7e54
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyFunction_Vectorcall()+0x191
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1f3316
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyObject_CallMethodObjArgs()+0x102
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x125bfa
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x58be
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x291f29
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyEval_EvalCode()+0x9a
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x2aa26e
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1ed826
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x7e54
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyFunction_Vectorcall()+0x191
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1f3316
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyObject_CallMethodObjArgs()+0x102
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x125bfa
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x23426b
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1ed826
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x7e54
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyFunction_Vectorcall()+0x191
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1f3316
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyObject_CallMethodObjArgs()+0x102
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1267ba
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x58be
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x291f29
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyEval_EvalCode()+0x9a
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x2aa26e
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1ed826
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x7e54
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyFunction_Vectorcall()+0x191
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1f3316
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyObject_CallMethodObjArgs()+0x102
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x125bfa
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x23426b
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1ed826
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x7e54
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyFunction_Vectorcall()+0x191
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1f3316
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyObject_CallMethodObjArgs()+0x102
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1267ba
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x58be
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x291f29
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyEval_EvalCode()+0x9a
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x2aa26e
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1ed826
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x7e54
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyFunction_Vectorcall()+0x191
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1f3316
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyObject_CallMethodObjArgs()+0x102
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x125bfa
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x23426b
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1ed826
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x7e54
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyFunction_Vectorcall()+0x191
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1f3316
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyObject_CallMethodObjArgs()+0x102
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x125bfa
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x23426b
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1ed826
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyEval_EvalFrameDefault()+0x7e54
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: _PyFunction_Vectorcall()+0x191
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1f3316
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyObject_CallMethodObjArgs()+0x102
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x125bfa
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x23426b
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: ()+0x1ed826
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyObject_CallFunction()+0x12d
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyImport_Import()+0x190
+++ /thirdparty/linux64/python/lib/libpython3.11.so.1.0: PyImport_ImportModule()+0x18
+++ /thirdparty/linux64/lib/libboost_numpy311.so.1.84.0: boost::python::numpy::initialize(bool)+0x1c

 

It works for python 3.10 & 3.12 and only fails for Python 3.11. Unfortunately I cannot update the version of python used in the application due to depenency issues.

 

I tested with different versions of NumPY and they all failed.

 

I replicated a similar issue using Anaconda. Steps to reproduce:

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
~/miniconda3/bin/conda init bash
source ~/.bashrc
conda activate
conda install -y python==3.11 numpy
echo 'import numpy;print("OK")' > numpy-test.py
python numpy-test.py # OK
vtune -collect hotspots python numpy-test.py # FAILS

 

 

 

 

0 项奖励
4 回复数
yuzhang3_intel
主持人
1,721 次查看

Thanks for reporting the issue.  Let us investigate and give an update then.

0 项奖励
clevels
员工
1,389 次查看

Thank you for your patience. We were able to reproduce this issue and concluded this will need deeper investigation from the development team. I have provided them the reproducer will provide an update as soon as they review.


0 项奖励
clevels
员工
1,291 次查看

Hello- thank you for your patience. This issue has been reviewed by our development team and they have confirmed that Python 3.11 is not yet supported with the Intel VTune Profiler. Please let me know if you have any additional questions, otherwise this thread will no longer be monitored by Intel.


0 项奖励
nickw1
初学者
1,224 次查看

Thanks very much for the update.

Is there a plan to include support for Python 3.11 in later versions of VTune?
Are there any patches or workarounds (other than upgrading to Python 3.12) which can help in this situation? We compile python from source so could consider patching the python we use (as long as it doesn't affect normal operation).

0 项奖励
回复