Bug 1244474 - totem immediately segfaults under wayland
Summary: totem immediately segfaults under wayland
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: clutter-gtk
Version: 22
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Peter Robinson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: WaylandRelated
TreeView+ depends on / blocked
 
Reported: 2015-07-19 04:44 UTC by Alex Villacís Lasso
Modified: 2016-03-17 14:37 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-03-17 14:37:12 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 752143 0 None None None Never

Description Alex Villacís Lasso 2015-07-19 04:44:12 UTC
Description of problem:
Under X11, latest totem runs normally. On gnome-wayland session, totem immediately segfaults with a NULL pointer reference when started. This happens even when not opening any movie.

Version-Release number of selected component (if applicable):
totem-3.16.2-1.fc22.x86_64
gtk3-3.16.5-1.fc22.x86_64
gtk3-3.16.5-1.fc22.i686
clutter-1.22.4-1.fc22.x86_64
gnome-shell-3.16.3-1.fc22.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Run gnome-wayland session
2. Start totem with no arguments
3.

Actual results:
"Segmentation fault (core dumped)"
No window appears

Expected results:
Totem application window should appear

Additional info:

The ABRT monitor incorrectly assigns this as an already reported bug at https://bugzilla.redhat.com/show_bug.cgi?id=1197269.

Comment 1 Alex Villacís Lasso 2015-07-19 04:47:48 UTC
I installed gtk3-debuginfo, clutter-debuginfo, totem-debuginfo and ran totem under gdb. This results in the following trace:

GNU gdb (GDB) Fedora 7.9.1-17.fc22
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
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-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from totem...Reading symbols from /usr/lib/debug/usr/bin/totem.debug...done.
done.
(gdb) run
Starting program: /usr/bin/totem 
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.21-7.fc22.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffeb5fb700 (LWP 5867)]
[New Thread 0x7fffebdfc700 (LWP 5866)]

Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
Missing separate debuginfos, use: dnf debuginfo-install atk-2.16.0-1.fc22.x86_64 at-spi2-atk-2.16.0-1.fc22.x86_64 at-spi2-core-2.16.0-1.fc22.x86_64 bzip2-libs-1.0.6-14.fc22.x86_64 cairo-1.14.2-1.fc22.x86_64 cairo-gobject-1.14.2-1.fc22.x86_64 clutter-gst3-3.0.6-1.fc22.x86_64 clutter-gtk-1.6.2-1.fc22.x86_64 cogl-1.20.0-3.fc22.x86_64 dbus-glib-0.104-1.fc22.x86_64 dbus-libs-1.8.18-1.fc22.x86_64 dconf-0.24.0-1.fc22.x86_64 elfutils-libelf-0.163-1.fc22.x86_64 elfutils-libs-0.163-1.fc22.x86_64 expat-2.1.0-10.fc22.x86_64 fontconfig-2.11.94-1.fc22.x86_64 freetype-2.5.5-1.fc22.x86_64 GConf2-3.2.6-11.fc22.x86_64 gdk-pixbuf2-2.31.4-1.fc22.x86_64 glib2-2.44.1-1.fc22.x86_64 gmime-2.6.20-4.fc22.x86_64 gnome-desktop3-3.16.2-1.fc22.x86_64 gobject-introspection-1.44.0-1.fc22.x86_64 graphite2-1.2.4-3.fc22.x86_64 grilo-0.2.12-1.fc22.x86_64 gstreamer1-1.4.5-1.fc22.x86_64 gstreamer1-plugins-base-1.4.5-2.fc22.x86_64 gstreamer1-plugins-good-1.4.5-2.fc22.x86_64 gvfs-1.24.1-2.fc22.x86_64 harfbuzz-0.9.40-1.fc22.x86_64 json-glib-1.0.4-1.fc22.x86_64 libacl-2.2.52-7.fc22.x86_64 libarchive-3.1.2-12.fc22.x86_64 libattr-2.4.47-9.fc22.x86_64 libbluray-0.7.0-1.fc22.x86_64 libcap-2.24-7.fc22.x86_64 libcroco-0.6.8-5.fc22.x86_64 libdrm-2.4.61-3.fc22.x86_64 libepoxy-1.2-1.fc22.x86_64 libevdev-1.4.2-1.fc22.x86_64 libffi-3.1-7.fc22.x86_64 libgcc-5.1.1-4.fc22.x86_64 libgudev1-219-19.fc22.x86_64 libinput-0.19.0-3.fc22.x86_64 libpciaccess-0.13.3-0.3.fc22.x86_64 libpeas-1.14.0-2.fc22.x86_64 libpng-1.6.16-3.fc22.x86_64 librsvg2-2.40.9-1.fc22.x86_64 libselinux-2.3-10.fc22.x86_64 libsoup-2.50.0-1.fc22.x86_64 libstdc++-5.1.1-4.fc22.x86_64 libtxc_dxtn-1.0.0-4.fc22.x86_64 libwayland-client-1.7.0-1.fc22.x86_64 libwayland-cursor-1.7.0-1.fc22.x86_64 libwayland-server-1.7.0-1.fc22.x86_64 libX11-1.6.3-1.fc22.x86_64 libXau-1.0.8-4.fc22.x86_64 libxcb-1.11-8.fc22.x86_64 libXcomposite-0.4.4-6.fc22.x86_64 libXcursor-1.1.14-4.fc22.x86_64 libXdamage-1.1.4-6.fc22.x86_64 libXext-1.3.3-2.fc22.x86_64 libXfixes-5.0.1-4.fc22.x86_64 libXi-1.7.4-2.fc22.x86_64 libXinerama-1.1.3-4.fc22.x86_64 libxkbcommon-0.5.0-1.fc22.x86_64 libxml2-2.9.2-3.fc22.x86_64 libXrandr-1.4.2-2.fc22.x86_64 libXrender-0.9.9-1.fc22.x86_64 libxshmfence-1.2-1.fc22.x86_64 libXxf86vm-1.1.4-1.fc22.x86_64 lzo-2.08-3.fc22.x86_64 mesa-dri-drivers-10.6.1-1.20150629.fc22.x86_64 mesa-libEGL-10.6.1-1.20150629.fc22.x86_64 mesa-libgbm-10.6.1-1.20150629.fc22.x86_64 mesa-libGL-10.6.1-1.20150629.fc22.x86_64 mesa-libglapi-10.6.1-1.20150629.fc22.x86_64 mesa-libwayland-egl-10.6.1-1.20150629.fc22.x86_64 mtdev-1.1.5-4.fc22.x86_64 openssl-libs-1.0.1k-11.fc22.x86_64 orc-0.4.22-3.fc22.x86_64 pango-1.36.8-6.fc22.x86_64 pcre-8.37-2.fc22.x86_64 pixman-0.32.6-4.fc22.x86_64 sqlite-3.8.10.2-1.fc22.x86_64 systemd-libs-219-19.fc22.x86_64 totem-pl-parser-3.10.5-1.fc22.x86_64 xz-libs-5.2.0-2.fc22.x86_64 zlib-1.2.8-7.fc22.x86_64
(gdb) bt
#0  0x0000000000000000 in  ()
#1  0x00007ffff7334701 in clutter_gdk_get_visual () at gdk/clutter-backend-gdk.c:538
#2  0x00007ffff7653d35 in gtk_clutter_embed_realize () at /lib64/libclutter-gtk-1.0.so.0
#3  0x00007ffff7ba5e17 in bacon_video_widget_realize (widget=0x1e2e380) at bacon-video-widget.c:629
#4  0x000000301080fcd5 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#5  0x000000301082122d in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0
#6  0x0000003010829ef0 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#7  0x000000301082a29f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#8  0x00007ffff62fe09c in gtk_widget_realize (widget=0x1e2e380) at gtkwidget.c:5525
#9  0x00007ffff7b8f824 in video_widget_create (totem=totem@entry=0x61e1a0) at totem-object.c:4081
#10 0x00007ffff7b8f96f in totem_object_app_activate (app=<optimized out>) at totem-object.c:199
#11 0x000000301080ff04 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#12 0x0000003010829c7d in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#13 0x000000301082a29f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#14 0x00007ffff7b953f7 in remote_command_cb (action=<optimized out>, parameter=0x1d7e240, user_data=<optimized out>) at totem-menu.c:281
#15 0x000000301080fcd5 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#16 0x0000003010821539 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0
#17 0x0000003010829ef0 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#18 0x000000301082a29f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#19 0x0000003f230b1065 in g_simple_action_activate () at /lib64/libgio-2.0.so.0
#20 0x0000003f230afa01 in g_action_activate () at /lib64/libgio-2.0.so.0
#21 0x00007ffff7b8a36d in totem_object_app_handle_local_options (application=0x61e1a0, options=<optimized out>) at totem-object.c:279
#22 0x0000003010005db0 in ffi_call_unix64 () at /lib64/libffi.so.6
#23 0x0000003010005818 in ffi_call () at /lib64/libffi.so.6
#24 0x0000003010810a25 in g_cclosure_marshal_generic_va () at /lib64/libgobject-2.0.so.0
#25 0x000000301080ff04 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#26 0x0000003010829793 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#27 0x000000301082a29f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#28 0x0000003f230a8e71 in g_application_real_local_command_line () at /lib64/libgio-2.0.so.0
#29 0x0000003f230a91da in g_application_run () at /lib64/libgio-2.0.so.0
#30 0x0000000000401088 in main (argc=1, argv=0x7fffffffe1e8) at totem.c:83
(gdb) quit
A debugging session is active.

	Inferior 1 [process 5853] will be killed.

Quit anyway? (y or n) y

Comment 2 Olivier Fourdan 2015-07-21 14:49:05 UTC
Looks like a regression in clutter, downgrading to clutter-1.6.0 from 1.6.2 fixes the crash.

Comment 3 Olivier Fourdan 2015-07-21 14:50:33 UTC
(In reply to Olivier Fourdan from comment #2)
> Looks like a regression in clutter, downgrading to clutter-1.6.0 from 1.6.2
> fixes the crash.

sorry I meant downgrading to clutter-1.22.2 from 1.22.4 and clutter-gtk-1.6.0 from 1.6.2

Comment 4 Olivier Fourdan 2015-07-21 15:04:12 UTC
The issue is in clutter-gtk and was introduced by this commit:

https://git.gnome.org/browse/clutter-gtk/commit/?id=60df86a

Reverting this patch fixes the issue.

Comment 5 Olivier Fourdan 2015-07-21 15:07:26 UTC
A fix is attached in upstream bug https://bugzilla.gnome.org/show_bug.cgi?id=752143

Comment 6 mertensb.mazda 2016-03-14 19:54:38 UTC
This problem still exists in Fedora 22.
Downgrading clutter and clutter-gtk indeed resolves the problem.

Comment 7 Bastien Nocera 2016-03-17 14:37:12 UTC
You'll need to upgrade to Fedora 23. We won't be fixing Wayland specific issues in older versions of the distribution.


Note You need to log in before you can comment on or make changes to this bug.