python crash with Intel MKL - DLL issues with Intel Compiler
I have compiled dolfin (latest development version) and installed, along with latest ffc,ufc,
using Intel compilers, icc, icpc and Intel BLAS (known as MKL).
C++ programs compile perfectly, and work.
Python crashes:
python: symbol lookup error: /usr/local/
On investigation, it seems to be a python library loading issue, and it seems that the MKL runtime library needs to be loaded
with RTLD_GLOBAL, which is not the python default.
Inserting the following line at the start of a python script cures the problem:
import ctypes
ctypes.
Would it be possible to add this to the "site-packages/
.....
Another Intel issue, which may be related, is shown below! Calls to throw() from c++ result in a SEGV in python.
This time, the problem can be avoided by preloading libstdc++ in python, but I am not sure why that should help...
Any ideas appreciated.
Thanks
Chris R.
[cnr12@login-sand1 python]$ gdb python
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-50.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-
For bug reporting instructions, please see:
<http://
Reading symbols from /usr/bin/
Missing separate debuginfos, use: debuginfo-install python-
(gdb) run convection_
Starting program: /usr/bin/python convection_
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffd7be3700 (LWP 53568)]
[New Thread 0x7fffd71e2700 (LWP 53569)]
Program received signal SIGSEGV, Segmentation fault.
0x00007fffdf492774 in __cxa_allocate_
(gdb)
(gdb) bt
#0 0x00007fffdf492774 in __cxa_allocate_
#1 0x00007fffeb8fc220 in dolfin:
)
at /home/cnr12/
#2 0x00007fffeb8f9f1e in dolfin:
Traceback (most recent call last):
File "/usr/lib64/
return self.val[
RuntimeError: Cannot access memory at address 0xffffffffffffffeb
, task=Cannot access memory at address 0x0
) at /home/cnr12/
#3 0x00007fffeb53c5d0 in dolfin::File::File (this=0x1134b20, filename=Cannot access memory at address 0x0
)
at /home/cnr12/
#4 0x00007fffda6f403a in _wrap_new_
at /home/cnr12/
#5 0x00007fffda6f33f4 in _wrap_new_File (self=0x7ffff7f
at /home/cnr12/
#6 0x00007ffff7b01706 in PyEval_EvalFrameEx () from /usr/lib64/
#7 0x00007ffff7b03797 in PyEval_EvalCodeEx () from /usr/lib64/
#8 0x00007ffff7a91db0 in ?? () from /usr/lib64/
#9 0x00007ffff7a67303 in PyObject_Call () from /usr/lib64/
#10 0x00007ffff7a7c70f in ?? () from /usr/lib64/
#11 0x00007ffff7a67303 in PyObject_Call () from /usr/lib64/
#12 0x00007ffff7abfa7e in ?? () from /usr/lib64/
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) list
1 // class template array -*- C++ -*-
2
3 // Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
4 //
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 3, or (at your option)
9 // any later version.
10
(gdb) up
#1 0x00007fffeb8fc220 in dolfin:
)
at /home/cnr12/
123 throw std::runtime_
(gdb)
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- DOLFIN Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Chris Richardson for more information if necessary.