JuliaPy / JuliaPy/PyPlot.jl

Segfault in figure() when package Gtk imported

未关闭
#199 4 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Julia
星标
488
派生
90
PR 合并指标
30 天内没有已合并 PR

描述

When running the following code, I get a segfault:

``` julia
using PyPlot
import Gtk
figure()
```

I'm on Ubuntu 14.04, with libgtk-3-dev (3.10.8-0ubuntu1.6) installed. I've reproduced the segfault with both the most recent tagged versions of Gtk.jl, PyCall.jl, and PyPlot.jl as well as the master branches of all of those packages.

The error message I get is:

```
julia:11038): GLib-GObject-WARNING **: cannot register existing type 'GdkDisplayManager'

(julia:11038): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(julia:11038): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed

(julia:11038): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(julia:11038): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(julia:11038): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(julia:11038): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(julia:11038): GLib-GObject-WARNING **: cannot register existing type 'GdkDisplay'

(julia:11038): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(julia:11038): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

(julia:11038): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(julia:11038): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed

signal (11): Segmentation fault
gdk_display_open at /usr/bin/../lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 (unknown line)
gdk_display_open_default_libgtk_only at /usr/bin/../lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 (unknown line)
gtk_init_check at /usr/bin/../lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (unknown line)
gtk_init at /usr/bin/../lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (unknown line)
unknown function (ip: 0x7f0a838b9b37)
_ZN18QGuiPlatformPlugin19systemIconThemeNameEv at /usr/bin/../lib/x86_64-linux-gnu/libQtGui.so.4 (unknown line)
unknown function (ip: 0x7f0a835e1f24)
unknown function (ip: 0x7f0a835a703e)
unknown function (ip: 0x7f0a835ab2b1)
_ZN19QApplicationPrivate9constructEP9_XDisplaymm at /usr/bin/../lib/x86_64-linux-gnu/libQtGui.so.4 (unknown line)
_ZN12QApplicationC2ERiPPci at /usr/bin/../lib/x86_64-linux-gnu/libQtGui.so.4 (unknown line)
unknown function (ip: 0x7f0a84546f3e)
unknown function (ip: 0x7f0a84547131)
unknown function (ip: 0x7f0aa4aa3b4c)
unknown function (ip: 0x7f0a88a0868f)
PyObject_Call at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalFrameEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalCodeEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalFrameEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalCodeEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
unknown function (ip: 0x7f0a88a996d0)
PyObject_Call at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
unknown function (ip: 0x7f0a889917bd)
PyObject_Call at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalFrameEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalCodeEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
unknown function (ip: 0x7f0a88a996d0)
PyObject_Call at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
unknown function (ip: 0x7f0a889917bd)
PyObject_Call at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
unknown function (ip: 0x7f0a88a0a67f)
unknown function (ip: 0x7f0a88a0868f)
PyObject_Call at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalFrameEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalCodeEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalFrameEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalCodeEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
unknown function (ip: 0x7f0a88a997a5)
PyObject_Call at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalFrameEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
PyEval_EvalCodeEx at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
unknown function (ip: 0x7f0a88a996d0)
PyObject_Call at /usr/bin/../lib/x86_64-linux-gnu/libpython2.7.so (unknown line)
pycall at /home/rdeits/.julia/v0.4/PyCall/src/exception.jl:78
figure at /home/rdeits/.julia/v0.4/PyPlot/src/PyPlot.jl:442
julia_figure_21540 at (unknown line)
jl_apply_generic at /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so (unknown line)
unknown function (ip: 0x7f0cadd8d683)
unknown function (ip: 0x7f0cadd8cac1)
unknown function (ip: 0x7f0cadda1ca8)
unknown function (ip: 0x7f0cadda2999)
jl_load at /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so (unknown line)
include at ./boot.jl:261
jl_apply_generic at /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so (unknown line)
include_from_node1 at ./loading.jl:304
jl_apply_generic at /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so (unknown line)
process_options at ./client.jl:284
_start at ./client.jl:378
unknown function (ip: 0x7f0caa977f49)
jl_apply_generic at /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so (unknown line)
unknown function (ip: 0x401b09)
unknown function (ip: 0x4016df)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x401725)
unknown function (ip: (nil))
[1] 11038 segmentation fault (core dumped) julia test_segfault.jl
```

I came across this segfault while trying to use https://github.com/timholy/ProfileView.jl (which indirectly imports Gtk.jl) on a module that also used PyPlot.

Has anyone encountered this before?

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。