Skip to content

Parole segmentation fault related to gtk3/clutter/cogl update

Submitted by Tony Paulic @ToZ

Assigned to Simon Steinbeiß @ochosi

Link to original bug (#11825)

Description

Since a recent update in Arch Linux to gtk3/clutter/cogl, parole (built from git) segfaults when the clutter backend is enabled. Not using the "--enable-clutter" configuration parameter makes parole work again. This is probably related to clutter migration to gdk backend (from x11)- see: https://blogs.gnome.org/clutter/

configure script results:

    Parole Media Player 0.8.0git.6eecaeb
    ====================================

    Installation:
    =============
    prefix:                         /usr
    pixmapsdir:                     /usr/share/parole/pixmaps
    Debug:                          no
    Building plugin api docs:       yes
    GStreamer API version:          1.0
    GTK+ version:                   GTK+-3

    Optional dependencies:
    ======================
    Clutter Backend:                yes
    Taglib:                         yes

    Plugins to build:
    =================
    Notify:                         yes
    System Tray icon:               yes
    MPRIS2:                         yes

CLI output: (parole:16161): Clutter-CRITICAL **: Unable to check features. Have you initialized Clutter?

(parole:16161): Clutter-CRITICAL **: Unable to check features. Have you initialized Clutter?

(parole:16161): Clutter-WARNING **: Missing Cogl context: was Clutter correctly initialized?

STRACE output (last bit): write(2, "\n(parole:16388): Clutter-CRITICA"..., 94 (parole:16388): Clutter-CRITICAL **: Unable to check features. Have you initialized Clutter? ) = 94 futex(0x7faa52f62568, FUTEX_WAKE_PRIVATE, 2147483647) = 0 write(2, "\n(parole:16388): Clutter-CRITICA"..., 94 (parole:16388): Clutter-CRITICAL **: Unable to check features. Have you initialized Clutter? ) = 94 write(2, "\n(parole:16388): Clutter-WARNING"..., 94 (parole:16388): Clutter-WARNING **: Missing Cogl context: was Clutter correctly initialized? ) = 94 futex(0x7faa52f62568, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x7faa52f62568, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x7faa52f62568, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x7faa52f62568, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x7faa52f62568, FUTEX_WAKE_PRIVATE, 2147483647) = 0 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xd8} --- +++ killed by SIGSEGV (core dumped) +++ Segmentation fault (core dumped)

GDB output: (parole:16947): Clutter-CRITICAL **: Unable to check features. Have you initialized Clutter?

(parole:16947): Clutter-CRITICAL **: Unable to check features. Have you initialized Clutter?

(parole:16947): Clutter-WARNING **: Missing Cogl context: was Clutter correctly initialized?
[New Thread 0x7fffe6d7b700 (LWP 16957)]
[New Thread 0x7fffe8393700 (LWP 16956)]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4eafa71 in cogl_pipeline_new () from /usr/lib/libcogl.so.20

GDB Backtrace: #0 0x00007ffff4eafa71 in cogl_pipeline_new () from /usr/lib/libcogl.so.20 #1 0x00007ffff56113f5 in ?? () from /usr/lib/libclutter-1.0.so.0 #2 0x00007ffff0ae6f49 in g_type_create_instance () from /usr/lib/libgobject-2.0.so.0 #3 0x00007ffff0aca2d8 in ?? () from /usr/lib/libgobject-2.0.so.0 #4 0x00007ffff5588dfb in ?? () from /usr/lib/libclutter-1.0.so.0 #5 0x00007ffff0aca631 in ?? () from /usr/lib/libgobject-2.0.so.0 #6 0x00007ffff0acc685 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0 #7 0x00007ffff0acc9c1 in g_object_new () from /usr/lib/libgobject-2.0.so.0 #8 0x0000000000425791 in parole_clutter_init (clutter=0x864ef0) at parole-clutter.c:337 #9 0x00007ffff0ae6f49 in g_type_create_instance () from /usr/lib/libgobject-2.0.so.0 #10 (closed) 0x00007ffff0aca847 in ?? () from /usr/lib/libgobject-2.0.so.0 #11 0x00007ffff0acc685 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0 #12 0x00007ffff0acc9c1 in g_object_new () from /usr/lib/libgobject-2.0.so.0 #13 0x000000000042581d in parole_clutter_new (conf_obj=0xa8e180) at parole-clutter.c:349 #14 (closed) 0x000000000041a129 in parole_player_init (player=0xad02b0) at parole-player.c:3687 #15 0x00007ffff0ae6f49 in g_type_create_instance () from /usr/lib/libgobject-2.0.so.0 #16 0x00007ffff0aca847 in ?? () from /usr/lib/libgobject-2.0.so.0 #17 0x00007ffff0acc685 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0 #18 (closed) 0x00007ffff0acc9c1 in g_object_new () from /usr/lib/libgobject-2.0.so.0 #19 0x000000000041b80d in parole_player_new (client_id=0x0) at parole-player.c:3811 #20 (closed) 0x0000000000414fbb in main (argc=1, argv=0x7fffffffe988) at main.c:344

Packages: Name : clutter Version : 1.22.0-2 (upgrade from 1.20.0-4)

Name           : gtk3
Version        : 3.16.2-1 (upgrade from 3.14.9-1)

Name           : cogl (upgrade from 1.18.2-1)
Version        : 1.20.0-1

Name           : clutter-gst (upgrade from 2.0.14-4)
Version        : 3.0.4-1

Name           : clutter-gtk (upgrade from 1.6.0-1)
Version        : 1.6.0-2

Kernel: Linux archer 3.19.3-3-ARCH #1 SMP PREEMPT Wed Apr 8 14:10:00 CEST 2015 x86_64 GNU/Linux