μ΄ νμΌ: minimum_example_fail.py:
import faulthandler
faulthandler.enable()
from mayavi import mlab
mlab.test_plot3d()
mlab.screenshot()
λ€μ μ€νμμ μ€ν¨ν©λλ€.
$ python minimal_example_fail.py
Fatal Python error: Segmentation fault
Current thread 0x00007f2c3107e740 (most recent call first):
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/tvtk/tvtk_base.py", line 568 in _wrap_call
File "tvtk_classes/open_gl_render_window.py", line 79 in get_pixel_data
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/mayavi/tools/figure.py", line 348 in screenshot
File "minimal_example_fail.py", line 15 in <module>
Segmentation fault (core dumped)
μ¬ννλ €λ©΄:
$ conda deactivate
$ conda create -n test python=3.6 numpy "pyqt>=5" matplotlib traits pyface traitsui
$ conda activate test
$ pip install vtk
$ pip install mayavi
$ python minimal_example_fail.py
@larsoner @agramfort
λλ μ΄κ²μ μ¬νν μ μμ§λ§ λ΄κ° λΆλͺμΉλ λ λ€λ₯Έ λ¬Έμ κ° μμ΅λλ€. λ¬Έμ λ μ°½ ν¬κΈ°κ° 0μ΄λΌλ κ²μ
λλ€. λ©μΈ 루νκ° μ€νλκ³ μμ§ μκΈ° λλ¬Έμ μ΄κ²μ μ€μ λ‘ Qt λ¬Έμ μ
λλ€. %gui qt
λ‘ IPython μΈμ
μμ μ΄κ²μ μλνκ³ λ³Ό μ μμ΅λκΉ?
μ΄κ² λκ°νλ €κ³ νλ κ±° λ§μ?
$ ipython
Python 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 17:14:51)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: %gui qt
In [2]: %run ./minimal_example_fail.py
Qt WebEngine seems to be initialized from a plugin. Please set Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before constructing QGuiApplication.
Fatal Python error: Segmentation fault
Thread 0x00007fb7eef88700 (most recent call first):
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/threading.py", line 295 in wait
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/threading.py", line 551 in wait
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/history.py", line 829 in run
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/history.py", line 58 in needs_sqlite
File "<decorator-gen-24>", line 2 in run
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/threading.py", line 916 in _bootstrap_inner
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/threading.py", line 884 in _bootstrap
Current thread 0x00007fb7f5710740 (most recent call first):
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/tvtk/tvtk_base.py", line 568 in _wrap_call
File "tvtk_classes/open_gl_render_window.py", line 79 in get_pixel_data
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/mayavi/tools/figure.py", line 348 in screenshot
File "/home/maximilien.chaumon/owncloud/Lab/Projects/CTPS/code/minimal_example_fail.py", line 15 in <module>
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/utils/py3compat.py", line 188 in execfile
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2527 in safe_execfile
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/magics/execution.py", line 761 in run
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/magics/execution.py", line 775 in run
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/magic.py", line 187 in <lambda>
File "<decorator-gen-60>", line 2 in run
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2131 in run_line_magic
File "<ipython-input-2-f514c016d8ee>", line 1 in <module>
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2963 in run_code
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2909 in run_ast_nodes
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2785 in _run_cell
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2662 in run_cell
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", line 476 in interact
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", line 485 in mainloop
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/terminal/ipapp.py", line 356 in start
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/traitlets/config/application.py", line 658 in launch_instance
File "/home/maximilien.chaumon/anaconda3/envs/mne/lib/python3.6/site-packages/IPython/__init__.py", line 125 in start_ipython
File "/home/maximilien.chaumon/anaconda3/envs/mne/bin/ipython", line 11 in <module>
Segmentation fault (core dumped)
VTK-8.1.1(pipμμ), Python 3.6.0, mayavi master, pyqt5 5.10.1μ μ¬μ©νμ¬ μ°λΆν¬ μμ€ν μμ μ΄κ²μ μλνλλ° μ€λ₯κ° λ°μνμ§λ§ segfaultλ λ°μνμ§ μμ΅λλ€. λ΄κ° λ³΄κ³ μλ μ€λ₯λ UI ν΄ν·μ΄ μ€νλμ§ μμΌλ©΄ μ°½μ΄ μ΄λ¦¬μ§ μμ νλ©΄ ν¬κΈ°κ° μ¬μ ν 0μ΄μ§λ§ segfaultκ° λ°μνμ§ μλ λ κΉμ λ¬Έμ λ‘ μΈν κ²μ λλ€. ν¬κΈ°κ° 0μΈ λ€λ₯Έ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ Έλ ₯νκ² μ§λ§ λΆννλ κ·νμ segfaultλ₯Ό μ¬νν μ μμ΅λλ€.
OSX λ° Linux μμ€ν
segfault μ€λ₯λ μλμ§λ§ μ μ¬ν μ€λ₯κ° λ°μνμ΅λλ€. μ€λ₯λ₯Ό μΌμΌν€λ μ μ¬μ μΈ mayavi
컀λ°μΌλ‘ λ²μλ₯Ό μ’ν μ μμμ΅λλ€.
fd9a515a9563d81a42b84514c1fb4ce5f81ac9a0μ 첫 λ²μ§Έ μλͺ»λ 컀λ°μ λλ€.
μ»€λ° fd9a515a9563d81a42b84514c1fb4ce5f81ac9a0
μ μ: Prabhu Ramachandran [email protected]
λ μ§: 2018λ 8μ 3μΌ κΈμμΌ 21:38:13 -0400Modify module manager to work with composite data. This uses the dataset_adapter code from VTK and requires VTK >= 6.3.
M λ§μΌλΉ
@dnacombo μμ μ΅μνμΌλ‘ μ¬νν μ μλμ§ νμΈν©λλ€.
μ΅μνμ μμ λ₯Ό μ¬μ©νμ¬ μ¬νν μ μμ§λ§ λ΄ Linux μμμμλ§ κ°λ₯ν©λλ€.
νλ«νΌ: Linux-4.15.0-34-generic-x86_64-with-debian-buster-sid
νμ΄μ¬: 3.6.6 |μλμ½λ€, Inc.| (κΈ°λ³Έκ°, 2018λ 6μ 28μΌ, 17:14:51) [GCC 7.2.0]
μ€ν νμΌ: /home/ktavabi/miniconda3/envs/mne/bin/python
CPU: x86_64: 24μ½μ΄
λ©λͺ¨λ¦¬: 94.4GBmne: 0.17.dev0
numpy: 1.15.1 {blas=mkl_rt, lapack=mkl_rt}
μ¬μ΄νΌ: 1.1.0
matplotlib: 2.2.2 {λ°±μλ=Qt5Agg}μ€μΌλ°: 0.19.2
λλ°λ²¨: 2.4.0dev
λ§μΌλΉ: 4.7.0.dev04.6.0{qt_api=pyqt5}
cupy: μ°Ύμ μ μμ
ν¬λ: 0.23.4
dipy: 0.15.0dev
vtk: 8.1.1
λ΄ OSX μ»΄ν¨ν°μμ λ€λ₯Έ μ€λ₯κ° λ°μνμ§λ§ segfaultλ λ°μνμ§ μμ΅λλ€.
λ€λ₯Έ μ»΄ν¨ν°μμ μ μ¬/λμΌν segfault μ€λ₯κ° λ°μνμ§λ§ λ€μ μ¬μμ λ§€μ° μ μ¬ν 18.04
λΉλ:
νλ«νΌ: Linux-4.15.0-36-generic-x86_64-with-debian-buster-sid
νμ΄μ¬: 3.6.6 |μλμ½λ€, Inc.| (κΈ°λ³Έκ°, 2018λ 6μ 28μΌ, 17:14:51) [GCC 7.2.0]
μ€ν νμΌ: /home/nordme/miniconda3/envs/mne/bin/python
CPU: x86_64: 12μ½μ΄
λ©λͺ¨λ¦¬: 15.5GBmne: 0.17.dev0
numpy: 1.15.2 {blas=mkl_rt, lapack=mkl_rt}
μ¬μ΄νΌ: 1.1.0
matplotlib: 2.2.2 {λ°±μλ=Qt5Agg}sklearn: 0.20.0
λλ°λ²¨: 2.3.0
λ§μΌλΉ: 4.7.0.dev0 {qt_api=pyqt5}
cupy: μ°Ύμ μ μμ
ν¬λ: 0.23.4
λνΌ: 0.14.0
a19c710c3f61389d79ed05271584e44f9744f6bc
4.6.0 릴리μ€λ‘ μ ννλ©΄ μ€λ₯κ° ν΄κ²°λμμ΅λλ€. μΆμ μ λ³΄λ €λ©΄ LMK.
μ΄ μμ μΌλ‘ λ¬Έμ κ° ν΄κ²°λμλμ§ νμΈν μ μμ΅λκΉ?
from pyface.api import GUI
from mayavi import mlab
mlab.test_plot3d()
GUI().process_events()
mlab.screenshot()
λλ μ μ λΌμ΄λ:
python -c "from pyface.api import GUI; from mayavi import mlab; mlab.test_plot3d(); GUI().process_events(); mlab.screenshot()"
κΈ°λ³Έμ μΌλ‘ λ¬Έμ λ μ΄λ²€νΈ 루νκ° μμλμ§ μμ μ€ν¬λ¦°μ·μ μλν λ μμ€ν μ΄ μμ ν λ λλ§λμ§ μμ μνμ μλ€λ κ²μ λλ€.
μ°λ¦¬λ μ΄ μμ GUI
νΈλ¦μΌλ‘ λ λλ§μ κ°μ ν¨μΌλ‘μ¨ PySurferμμ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€.
@prabhuramachandran μ΄ μ΄κ²μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ€κ³ κ°μ νλ©΄ μ€ν¬λ¦°μ·μ μλνκΈ° μ μ OpenGL 컨ν μ€νΈ(λλ λ€λ₯Έ κ²)κ° μ€μ λ‘ μ ν¨νμ§ νμΈνλ λ°©λ²μ΄ μμ μ μμΌλ©° κ·Έλ μ§ μμ κ²½μ° μ΄ νΈλ¦/ν΄νΉμ μ¬μ©νμ¬ μ΄λ²€νΈλ₯Ό μ²λ¦¬νμ¬ λ€μμ΄ λλλ‘ ν©λλ€. μ ν¨ν. μ½κ° μλ±ν/λ무 ν΄ν€ν΄ 보μ΄κΈ° λλ¬Έμ κ°μΉκ° μμ μλ μμ΅λλ€.
@larsoner -- μ, λλ κ°μ κ²μ μκ°νκ³ (μ΄μ μ견 μ°Έμ‘°) μ΄λ μμ μμ mlabμμ κΉ¨λνκ² μμ νκ³ μΆμ΅λλ€. λλ μ΄λ μμ μμ κ·Έκ²μ λλ¬νκΈ°λ₯Ό λ°λΌκ³ μμ΅λλ€. λν v 4.6.1λΆν° mlabμλ μ¬μ©μκ° GUI λ±μ κ°μ Έμ¬ νμ μμ΄ νλ‘μΈμ€ μ΄λ²€νΈλ₯Ό νΈμΆνλ process_ui_events
κΈ°λ₯μ΄ μμ΅λλ€. (http://docs.enthought.com/mayavi/mayavi/auto/changes .html#id10).
κ°μ₯ μ μ©ν λκΈ
μ΄ μμ μΌλ‘ λ¬Έμ κ° ν΄κ²°λμλμ§ νμΈν μ μμ΅λκΉ?
λλ μ μ λΌμ΄λ:
κΈ°λ³Έμ μΌλ‘ λ¬Έμ λ μ΄λ²€νΈ 루νκ° μμλμ§ μμ μ€ν¬λ¦°μ·μ μλν λ μμ€ν μ΄ μμ ν λ λλ§λμ§ μμ μνμ μλ€λ κ²μ λλ€.
μ°λ¦¬λ μ΄ μμ
GUI
νΈλ¦μΌλ‘ λ λλ§μ κ°μ ν¨μΌλ‘μ¨ PySurferμμ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€.@prabhuramachandran μ΄ μ΄κ²μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ€κ³ κ°μ νλ©΄ μ€ν¬λ¦°μ·μ μλνκΈ° μ μ OpenGL 컨ν μ€νΈ(λλ λ€λ₯Έ κ²)κ° μ€μ λ‘ μ ν¨νμ§ νμΈνλ λ°©λ²μ΄ μμ μ μμΌλ©° κ·Έλ μ§ μμ κ²½μ° μ΄ νΈλ¦/ν΄νΉμ μ¬μ©νμ¬ μ΄λ²€νΈλ₯Ό μ²λ¦¬νμ¬ λ€μμ΄ λλλ‘ ν©λλ€. μ ν¨ν. μ½κ° μλ±ν/λ무 ν΄ν€ν΄ 보μ΄κΈ° λλ¬Έμ κ°μΉκ° μμ μλ μμ΅λλ€.