There is a strange incompatibility between pyyaml and iotbx.pdb that depends on the order of import. If yaml is imported first, there is no problem. If iotbx.pdb is imported first, then importing yaml crashes. This is the yaml that comes with enthought python, but I don't think it's using libyaml, which is the C implementation. So the yaml, from what I can tell, is pure python.
I'm wondering if anyone else can reproduce this error.
chernev 185% cctbx.python
Version: 7.3-2 (64-bit)
Python 2.7.3 |EPD 7.3-2 (64-bit)| (default, Apr 12 2012, 11:14:05)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "credits", "demo" or "enthought" for more information.
py> import yaml
py> from iotbx import pdb
py> raise SystemExit()
chernev 186% cctbx.python
Version: 7.3-2 (64-bit)
Python 2.7.3 |EPD 7.3-2 (64-bit)| (default, Apr 12 2012, 11:14:05)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "credits", "demo" or "enthought" for more information.
py> from iotbx import pdb
py> import yaml
show_stack(1): /Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/site-packages/yaml/constructor.py(256) SafeConstructor
show_stack(2): /Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/site-packages/yaml/constructor.py(161) <module>
show_stack(3): /Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/site-packages/yaml/loader.py(8) <module>
show_stack(4): /Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/site-packages/yaml/__init__.py(8) <module>
show_stack(5): <stdin>(1) <module>
libc backtrace (49 frames, most recent call last):
50 python2.7 0x0000000100000f54 start + 52
49 Python 0x0000000100108576 Py_Main + 3318
48 Python 0x00000001000f2c6e PyRun_AnyFileExFlags + 126
47 Python 0x00000001000f2b2e PyRun_InteractiveLoopFlags + 78
46 Python 0x00000001000f28eb PyRun_InteractiveOneFlags + 379
45 Python 0x00000001000cd2c6 PyEval_EvalCode + 54
44 Python 0x00000001000ccfc5 PyEval_EvalCodeEx + 1733
43 Python 0x00000001000c77fe PyEval_EvalFrameEx + 9502
42 Python 0x00000001000c4267 PyEval_CallObjectWithKeywords + 87
41 Python 0x000000010000d052 PyObject_Call + 98
40 Python 0x00000001000be823 builtin___import__ + 131
39 Python 0x00000001000e5cf8 PyImport_ImportModuleLevel + 344
38 Python 0x00000001000e536a load_next + 234
37 Python 0x00000001000e511a import_submodule + 314
36 Python 0x00000001000e4f59 load_package + 409
35 Python 0x00000001000e4632 load_source_module + 466
34 Python 0x00000001000e3981 PyImport_ExecCodeModuleEx + 209
33 Python 0x00000001000cd2c6 PyEval_EvalCode + 54
32 Python 0x00000001000ccfc5 PyEval_EvalCodeEx + 1733
31 Python 0x00000001000c77fe PyEval_EvalFrameEx + 9502
30 Python 0x00000001000c4267 PyEval_CallObjectWithKeywords + 87
29 Python 0x000000010000d052 PyObject_Call + 98
28 Python 0x00000001000be823 builtin___import__ + 131
27 Python 0x00000001000e5cf8 PyImport_ImportModuleLevel + 344
26 Python 0x00000001000e536a load_next + 234
25 Python 0x00000001000e511a import_submodule + 314
24 Python 0x00000001000e4632 load_source_module + 466
23 Python 0x00000001000e3981 PyImport_ExecCodeModuleEx + 209
22 Python 0x00000001000cd2c6 PyEval_EvalCode + 54
21 Python 0x00000001000ccfc5 PyEval_EvalCodeEx + 1733
20 Python 0x00000001000c77fe PyEval_EvalFrameEx + 9502
19 Python 0x00000001000c4267 PyEval_CallObjectWithKeywords + 87
18 Python 0x000000010000d052 PyObject_Call + 98
17 Python 0x00000001000be823 builtin___import__ + 131
16 Python 0x00000001000e5cf8 PyImport_ImportModuleLevel + 344
15 Python 0x00000001000e536a load_next + 234
14 Python 0x00000001000e511a import_submodule + 314
13 Python 0x00000001000e4632 load_source_module + 466
12 Python 0x00000001000e3981 PyImport_ExecCodeModuleEx + 209
11 Python 0x00000001000cd2c6 PyEval_EvalCode + 54
10 Python 0x00000001000ccfc5 PyEval_EvalCodeEx + 1733
9 Python 0x00000001000cb0e6 PyEval_EvalFrameEx + 24070
8 Python 0x00000001000ccfc5 PyEval_EvalCodeEx + 1733
7 Python 0x00000001000c7ea0 PyEval_EvalFrameEx + 11200
6 Python 0x0000000100010af8 PyNumber_Multiply + 40
5 Python 0x000000010000c569 binary_op1 + 137
4 ??? 0x0000000000000aa9 0x0 + 2729
3 libsystem_c.dylib 0x00007fff84b0ccfa _sigtramp + 26
2 boost_python_meta_ext.so 0x00000001007013c0 initboost_python_meta_ext + 0
Floating-point error (Python and libc call stacks above)
This crash may be due to a problem in any imported
Python module, including modules which are not part
of the cctbx project. To disable the traps leading
to this message, define these environment variables
(e.g. assign the value 1):
BOOST_ADAPTBX_FPE_DEFAULT
BOOST_ADAPTBX_SIGNALS_DEFAULT
This will NOT solve the problem, just mask it, but
may allow you to proceed in case it is not critical.
--
James Stroud
Affiliate
Howard Hughes Medical Institute
UCLA-DOE Institute for Genomics and Proteomics