You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've come across another small code snippet that causes mojo to seg fault.
It is a strange combination of several necessary conditions:
A fn function returning a tuple.
This tuple being composed of numpy matrices.
Partial reduction of the returned matrices using the instance's method.
Steps to reproduce
Here is the corresponding code snippet:
from python import Python
fnf() raises -> Tuple[PythonObject, PythonObject]:
varnp= Python.import_module("numpy")
vara= np.array([1, 2, 3, 4]).reshape(2, 2)
varb= np.array([3, 4, 5, 6]).reshape(2, 2)
return a, b
defmain():
ab = f()
a_avg = ab[0].mean(axis=0)
print(a_avg) # Segmentation fault.
And hereby the segmentation fault error message:
[91563:91563:20240511,205612.485274:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.485724:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.486038:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.486308:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.486458:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.486639:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.486837:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.487000:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.487144:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.487310:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.487457:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.487646:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.487794:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.487943:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.488091:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.488241:ERROR elf_dynamic_array_reader.h:64] tag not found
[91563:91563:20240511,205612.488419:ERROR elf_dynamic_array_reader.h:64] tag not found
Please submit a bug report to https://github.com/modularml/mojo/issues and include the crash backtrace along with all the relevant source codes.
Stack dump:
0. Program arguments: /home/user/.modular/pkg/packages.modular.com_mojo/bin/mojo /home/user/path/to/myfile.mojo
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var LLVM_SYMBOLIZER_PATH to point to it):
0 mojo 0x00005a1a83a1c407
1 mojo 0x00005a1a83a1a25e
2 mojo 0x00005a1a83a1ca9f
3 libc.so.6 0x0000786360242990
4 libpython3.11.so.1.0 0x000078635c3d1c18
5 libpython3.11.so.1.0 0x000078635c4d5f09 _PyObject_GC_NewVar + 121
6 libpython3.11.so.1.0 0x000078635c3dad68 PyTuple_New + 56
7 libpython3.11.so.1.0 0x000078635c3082a6 _PyEval_EvalFrameDefault + 4198
8 libpython3.11.so.1.0 0x000078635c467452
9 libpython3.11.so.1.0 0x000078635c37b768 _PyObject_Call + 280
10 libpython3.11.so.1.0 0x000078635c30b41e _PyEval_EvalFrameDefault + 16862
11 libpython3.11.so.1.0 0x000078635c467452
12 libpython3.11.so.1.0 0x000078635c37b768 _PyObject_Call + 280
13 libpython3.11.so.1.0 0x000078635c30b41e _PyEval_EvalFrameDefault + 16862
14 libpython3.11.so.1.0 0x000078635c467452
15 libpython3.11.so.1.0 0x000078635c30b41e _PyEval_EvalFrameDefault + 16862
16 libpython3.11.so.1.0 0x000078635c467452
17 libpython3.11.so.1.0 0x000078635c37b768 _PyObject_Call + 280
18 libpython3.11.so.1.0 0x000078635c5a3375
19 libpython3.11.so.1.0 0x000078635c3784f1 _PyObject_MakeTpCall + 129
20 libpython3.11.so.1.0 0x000078635c37aca2
21 libpython3.11.so.1.0 0x000078635c37b0a3 PyObject_CallFunctionObjArgs + 163
22 libpython3.11.so.1.0 0x000078635c3ccb66 PyObject_Str + 102
23 libpython3.11.so.1.0 0x00007863080060b4 PyObject_Str + 18446744072296306100
mojo crashed!
Please file a bug report.
[1] 91561 segmentation fault (core dumped) '/home/user/.modular/pkg/packages.modular.com_mojo/bin/mojo'
Interestingly, when some of the conditions listed above is not met, the problem disappears.
Without a tuple return type the following snippet runs okay:
fng() raises -> PythonObject:
varnp= Python.import_module("numpy")
varc= np.array([1, 2, 3, 4]).reshape(2, 2)
return c # Numpy array instead of a tuple thereof. defmain():
c = g()
print(c.mean(axis=0)) # Okay!
Using numpy vectors instead of matrices works okay.
fnh() raises -> Tuple[PythonObject, PythonObject]:
varnp= Python.import_module("numpy")
vara= np.array([1, 2, 3, 4]) # Vector instead of matrix.varb= np.array([3, 4, 5, 6])
return a, b
defmain():
ab = h()
a_avg = ab[0].mean(axis=0)
print(a_avg) # Okay!
Using a function instead of a method also works okay:
fnf() raises -> Tuple[PythonObject, PythonObject]:
varnp= Python.import_module("numpy")
vara= np.array([1, 2, 3, 4]).reshape(2, 2)
varb= np.array([3, 4, 5, 6]).reshape(2, 2)
return a, b
defmain():
varnp= Python.import_module("numpy")
ab = f()
a_avg = np.mean(ab[0], axis=0) # Function instead of method.print(a_avg) # Okay!
Or, when a complete reduction is performed, also no segmentation fault occurs:
Bug description
I've come across another small code snippet that causes mojo to seg fault.
It is a strange combination of several necessary conditions:
fn
function returning a tuple.Steps to reproduce
Here is the corresponding code snippet:
And hereby the segmentation fault error message:
Interestingly, when some of the conditions listed above is not met, the problem disappears.
Or, when a complete reduction is performed, also no segmentation fault occurs:
So a bit of a mystery, it seems. :-)
System information
The text was updated successfully, but these errors were encountered: