Source: openmpi
Followup-For: Bug #995150

gdb on amd64 run locally confirms the segfault, running test_io.py
alone. Refines the problem to MPIOI_File_iwrite_all in
mca_io_romio321.so

$ gdb python3
(gdb) run -m pytest test_io.py
Starting program: /usr/bin/python3 -m pytest test_io.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff3f2b640 (LWP 3398120)]
...
Thread 1 "python3" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00007fffad13ea84 in MPIOI_File_iwrite_all () from 
/usr/lib/x86_64-linux-gnu/openmpi/lib/openmpi3/mca_io_romio321.so
#2  0x00007fffad13ebd3 in mca_io_romio_dist_MPI_File_iwrite_all () from 
/usr/lib/x86_64-linux-gnu/openmpi/lib/openmpi3/mca_io_romio321.so
#3  0x00007fffad13c4c3 in mca_io_romio321_file_iwrite_all () from 
/usr/lib/x86_64-linux-gnu/openmpi/lib/openmpi3/mca_io_romio321.so
#4  0x00007ffff3c86b4c in PMPI_File_iwrite_all () from 
/lib/x86_64-linux-gnu/libmpi.so.40
#5  0x00007ffff3e80d0c in __pyx_pf_6mpi4py_3MPI_4File_62Iwrite_all 
(__pyx_v_buf=<optimized out>, __pyx_v_self=0x7fffacf8db40) at 
src/mpi4py.MPI.c:159094
#6  __pyx_pw_6mpi4py_3MPI_4File_63Iwrite_all (__pyx_v_self=<mpi4py.MPI.File at 
remote 0x7fffacf8db40>, __pyx_args=__pyx_args@entry=(<array.array at remote 
0x7fffad57c2f0>,), __pyx_kwds=__pyx_kwds@entry=0x0)
    at src/mpi4py.MPI.c:27957
#7  0x000000000052b141 in method_vectorcall_VARARGS_KEYWORDS (func=<optimized 
out>, args=0x1461818, nargsf=<optimized out>, kwnames=0x0) at 
../Objects/descrobject.c:346
#8  0x00000000005127fb in _PyObject_VectorcallTstate (kwnames=0x0, 
nargsf=<optimized out>, args=0x1461818, callable=<method_descriptor at remote 
0x7ffff3f073b0>, tstate=0x968fb0)
    at ../Include/cpython/abstract.h:118
#9  PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x1461818, 
callable=<method_descriptor at remote 0x7ffff3f073b0>) at 
../Include/cpython/abstract.h:127
#10 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic 
pointer>, tstate=0x968fb0) at ../Python/ceval.c:5075
#11 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, 
throwflag=<optimized out>) at ../Python/ceval.c:3504
#12 0x00000000005291c3 in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x1461640, for file /projects/python/build/mpi4py/test/test_io.py, 
line 306, in testIReadIWriteAll 
(self=<TestIOSelf(_testMethodName='testIReadIWriteAll', 
_outcome=<_Outcome(expecting_failure=False, 
result=<TestCaseFunction(keywords=<NodeKeywords(node=<...>, 
parent=<UnitTestCase(keywords=<NodeKeywords(node=<...>, 
parent=<Module(keywords=<NodeKeywords(node=<...>, 
parent=<Session(keywords=<NodeKeywords(node=<...>, parent=None, 
_markers={'mpi4py': True}) at remote 0x7fffb69c0850>, own_markers=[], 
extra_keyword_matches=set(), testsfailed=1, testscollected=28, 
shouldstop=False, shouldfail=False, 
trace=<TagTracerSub(root=<TagTracer(_tags2proc={}, _writer=None, indent=0) at 
remote 0x7ffff7865be0>, tags=('collection',)) at remote 0x7fffb69c0910>, 
startdir=<LocalPath(strpath='/projects/python/build/mpi4py/test') at remote 
0x7fffb69c0550>, 
_initialpaths=frozenset({<LocalPath(strpath='/projects/python/build/mpi4py/test/test_io.py')
 at remote 0x7fffb69dfc10>}), _bestrelpathcache=<_best...(truncated), 
    tstate=0x968fb0) at ../Include/internal/pycore_ceval.h:40




-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-8-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_AU:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Reply via email to