FS#49882 - [vtk] Python segmentation fault

Attached to Project: Community Packages
Opened by Martin Diehl (MartinDiehl) - Wednesday, 29 June 2016, 07:17 GMT
Last edited by Doug Newgard (Scimmia) - Saturday, 23 July 2016, 15:33 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Angel Velasquez (angvp)
Anatol Pomozov (anatolik)
Felix Yan (felixonmars)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

python2 crashes on "import vtk" with "segmentation fault (core dumped)"

Unfortunately, I cannot build the package myself (having gcc version 6.1.1 20160602 installed) due to a compilation error:
CMake Error at CMake/vtkCompilerExtras.cmake:47 (if):
if given arguments:

"cc: error: ARGS: No such file or directory

The only debuggin information I got so far was with gdb:
starting gdb as "gdb python2"
(gdb) run ~/test.py
for the attached test.py gives
Program received signal SIGSEGV, Segmentation fault.
0x00007fff76c7560a in __strcmp_sse2_unaligned () from /usr/lib/libc.so.6
This task depends upon

Closed by  Doug Newgard (Scimmia)
Saturday, 23 July 2016, 15:33 GMT
Reason for closing:  Not a bug
Comment by Doug Newgard (Scimmia) - Thursday, 30 June 2016, 04:16 GMT
The python bindings are currently broken anyway, but a segfault is a different issue.
Comment by Anatol Pomozov (anatolik) - Thursday, 30 June 2016, 04:18 GMT
Do you use 64 or 32 Arch package?

Do you have Intel microcode setup correctly?
Comment by Martin Diehl (MartinDiehl) - Thursday, 30 June 2016, 05:24 GMT
Dear Anatol,

I'm using 64 Arch (x86_64) and the Intel microcode is installed and loaded via GRUB.
On a similar setup at work (different CPU and GPU, but Arch linux with roughly the same packages installed) it is doing fine.

The backtrace also looks like it has nothing to do with vtk directly

Starting program: /usr/bin/python2 ~/test.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007fff2a2df60a in __strcmp_sse2_unaligned () from /usr/lib/libc.so.6
(gdb) bt
#0 0x00007fff2a2df60a in __strcmp_sse2_unaligned () from /usr/lib/libc.so.6
#1 0x00007fff2a915309 in Py_InitModule4_64 () from /usr/lib/libpython2.7.so.1.0
#2 0x00007fff29267d6f in real_initvtkCommonCorePython () from /opt/vtk6/lib/libvtkCommonCorePython27D.so.1
#3 0x00007fff2a911567 in _PyImport_LoadDynamicModule () from /usr/lib/libpython2.7.so.1.0
#4 0x00007fff2a90f508 in import_submodule () from /usr/lib/libpython2.7.so.1.0
#5 0x00007fff2a90f79e in load_next () from /usr/lib/libpython2.7.so.1.0
#6 0x00007fff2a9101dd in PyImport_ImportModuleLevel () from /usr/lib/libpython2.7.so.1.0
#7 0x00007fff2a8f1b67 in builtin___import__ () from /usr/lib/libpython2.7.so.1.0
#8 0x00007fff2a85c4a2 in PyObject_Call () from /usr/lib/libpython2.7.so.1.0
#9 0x00007fff2a8f39a6 in PyEval_CallObjectWithKeywords () from /usr/lib/libpython2.7.so.1.0
#10 0x00007fff2a8f695c in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#11 0x00007fff2a8fdadc in PyEval_EvalCodeEx () from /usr/lib/libpython2.7.so.1.0
#12 0x00007fff2a8fdc08 in PyEval_EvalCode () from /usr/lib/libpython2.7.so.1.0
#13 0x00007fff2a90e56f in PyImport_ExecCodeModuleEx () from /usr/lib/libpython2.7.so.1.0
#14 0x00007fff2a90e7fe in load_source_module () from /usr/lib/libpython2.7.so.1.0
#15 0x00007fff2a90f508 in import_submodule () from /usr/lib/libpython2.7.so.1.0
#16 0x00007fff2a90f79e in load_next () from /usr/lib/libpython2.7.so.1.0
#17 0x00007fff2a9101dd in PyImport_ImportModuleLevel () from /usr/lib/libpython2.7.so.1.0
#18 0x00007fff2a8f1b67 in builtin___import__ () from /usr/lib/libpython2.7.so.1.0
#19 0x00007fff2a85c4a2 in PyObject_Call () from /usr/lib/libpython2.7.so.1.0
#20 0x00007fff2a8f39a6 in PyEval_CallObjectWithKeywords () from /usr/lib/libpython2.7.so.1.0
#21 0x00007fff2a8f695c in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#22 0x00007fff2a8fdadc in PyEval_EvalCodeEx () from /usr/lib/libpython2.7.so.1.0
#23 0x00007fff2a8fdc08 in PyEval_EvalCode () from /usr/lib/libpython2.7.so.1.0
#24 0x00007fff2a90e56f in PyImport_ExecCodeModuleEx () from /usr/lib/libpython2.7.so.1.0
#25 0x00007fff2a90e7fe in load_source_module () from /usr/lib/libpython2.7.so.1.0
#26 0x00007fff2a90fd52 in load_package () from /usr/lib/libpython2.7.so.1.0
#27 0x00007fff2a90f508 in import_submodule () from /usr/lib/libpython2.7.so.1.0
#28 0x00007fff2a90f79e in load_next () from /usr/lib/libpython2.7.so.1.0
#29 0x00007fff2a9101dd in PyImport_ImportModuleLevel () from /usr/lib/libpython2.7.so.1.0
#30 0x00007fff2a8f1b67 in builtin___import__ () from /usr/lib/libpython2.7.so.1.0
#31 0x00007fff2a85c4a2 in PyObject_Call () from /usr/lib/libpython2.7.so.1.0
#32 0x00007fff2a8f39a6 in PyEval_CallObjectWithKeywords () from /usr/lib/libpython2.7.so.1.0
#33 0x00007fff2a8f695c in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#34 0x00007fff2a8fdadc in PyEval_EvalCodeEx () from /usr/lib/libpython2.7.so.1.0
#35 0x00007fff2a8fdc08 in PyEval_EvalCode () from /usr/lib/libpython2.7.so.1.0
#36 0x00007fff2a91823e in run_mod () from /usr/lib/libpython2.7.so.1.0
#37 0x00007fff2a919481 in PyRun_FileExFlags () from /usr/lib/libpython2.7.so.1.0
#38 0x00007fff2a91a7a6 in PyRun_SimpleFileExFlags () from /usr/lib/libpython2.7.so.1.0
#39 0x00007fff2a92d051 in Py_Main () from /usr/lib/libpython2.7.so.1.0
#40 0x00007fff2a272741 in __libc_start_main () from /usr/lib/libc.so.6
#41 0x0000555555554819 in _start ()
Comment by Anatol Pomozov (anatolik) - Thursday, 30 June 2016, 05:31 GMT
What are the CPU microarchitectures for both CPU's (failing and non-failing). I have a recent Skylake CPU and python VTK loads fine for me.
Comment by Martin Diehl (MartinDiehl) - Thursday, 30 June 2016, 07:00 GMT
the failing system is a SandyBridge quadcore

➜ ~ dmesg | grep Intel
[ 0.054242] smpboot: CPU0: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz (family: 0x6, model: 0x2a, stepping: 0x7)
[ 0.054251] Performance Events: PEBS fmt1+, 16-deep LBR, SandyBridge events, full-width counters, Intel PMU driver.
[ 0.662734] Intel P-state driver initializing.
...
➜ ~ dmesg | grep microcode
[ 0.000000] microcode: microcode updated early to revision 0x29, date = 2013-06-12
[ 0.716903] microcode: CPU0 sig=0x206a7, pf=0x2, revision=0x29
[ 0.716912] microcode: CPU1 sig=0x206a7, pf=0x2, revision=0x29
[ 0.716951] microcode: CPU2 sig=0x206a7, pf=0x2, revision=0x29
[ 0.716990] microcode: CPU3 sig=0x206a7, pf=0x2, revision=0x29
...

and the running one is a SandyBridge 12core

➜ ~ dmesg | grep Intel
[ 0.076528] smpboot: CPU0: Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz (family: 0x6, model: 0x2d, stepping: 0x7)
[ 0.076537] Performance Events: PEBS fmt1+, 16-deep LBR, SandyBridge events, full-width counters, Intel PMU driver.
[ 1.484219] Intel P-state driver initializing.
...
➜ ~ dmesg | grep mic
[ 0.000000] microcode: microcode updated early to revision 0x710, date = 2013-06-17
[ 1.662064] microcode: CPU0 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662117] microcode: CPU1 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662168] microcode: CPU2 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662218] microcode: CPU3 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662268] microcode: CPU4 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662283] microcode: CPU5 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662299] microcode: CPU6 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662347] microcode: CPU7 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662399] microcode: CPU8 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662456] microcode: CPU9 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662510] microcode: CPU10 sig=0x206d7, pf=0x1, revision=0x710
[ 1.662562] microcode: CPU11 sig=0x206d7, pf=0x1, revision=0x710
...
Comment by Martin Diehl (MartinDiehl) - Saturday, 23 July 2016, 14:55 GMT
I finally solved the problem, I needed to uninstall the vtk6 module from community

Second line of the backtrace reveals it:
#2 0x00007fff29267d6f in real_initvtkCommonCorePython () from /opt/vtk6/lib/libvtkCommonCorePython27D.so.1
-------------

Loading...