After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 727369 - Segmentation fault when toggling Preferences -> Display -> Show visual effects when an audio file is played
Segmentation fault when toggling Preferences -> Display -> Show visual effect...
Status: RESOLVED NOTGNOME
Product: totem
Classification: Core
Component: Movie player
3.12.x
Other Linux
: Normal critical
: ---
Assigned To: General Totem maintainer(s)
General Totem maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2014-03-31 02:13 UTC by Conley Moorhous
Modified: 2014-04-12 09:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Video showing the segmentation fault (335.85 KB, video/webm)
2014-03-31 02:15 UTC, Conley Moorhous
Details

Description Conley Moorhous 2014-03-31 02:13:15 UTC
Toggle the setting (i.e., on and then off) twice and it will segfault. In other words, click the toggle four times. I just installed this from the [gnome-unstable] repo on Arch Linux, but I will try to build it with debugging enabled in jhbuild soon.
Comment 1 Conley Moorhous 2014-03-31 02:15:09 UTC
Created attachment 273310 [details]
Video showing the segmentation fault

Note that, in this video, the bug occurs after only toggling on and off once. This is what happened the first time I encountered the bug, but it sometimes doesn't occur when toggling once.
Comment 2 Conley Moorhous 2014-03-31 11:29:53 UTC
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5b4266f in _cogl_rectangle_map_remove (map=0x13e000001eb00, rectangle=0x268cdb4) at ./cogl-rectangle-map.c:486
486	  CoglRectangleMapNode *node = map->root;
Comment 3 Conley Moorhous 2014-03-31 11:51:31 UTC
(gdb) bt
  • #0 _cogl_rectangle_map_remove
    at ./cogl-rectangle-map.c line 486
  • #1 _cogl_atlas_remove
    at ./cogl-atlas.c line 542
  • #2 _cogl_atlas_texture_remove_from_atlas
    at ./cogl-atlas-texture.c line 275
  • #3 _cogl_atlas_texture_free
    at ./cogl-atlas-texture.c line 286
  • #4 _cogl_object_atlas_texture_indirect_free
    at ./cogl-atlas-texture.c line 61
  • #5 _cogl_object_default_unref
    at ./cogl-object.c line 105
  • #6 cogl_object_unref
    at ./cogl-object.c line 113
  • #7 _cogl_pipeline_layer_free
    at ./cogl-pipeline-layer.c line 739
  • #8 _cogl_object_pipeline_layer_indirect_free
    at ./cogl-pipeline-layer.c line 60
  • #9 _cogl_object_default_unref
    at ./cogl-object.c line 105
  • #10 cogl_object_unref
    at ./cogl-object.c line 113
  • #11 g_list_foreach
    at glist.c line 993
  • #12 _cogl_pipeline_free
    at ./cogl-pipeline.c line 500
  • #13 _cogl_object_pipeline_indirect_free
    at ./cogl-pipeline.c line 98
  • #14 _cogl_object_default_unref
    at ./cogl-object.c line 105
  • #15 cogl_object_unref
    at ./cogl-object.c line 113
  • #16 _cogl_pipeline_flush_gl_state
    at ./driver/gl/cogl-pipeline-opengl.c line 1422
  • #17 _cogl_gl_flush_attributes_state
  • #18 _cogl_flush_attributes_state
  • #19 _cogl_framebuffer_gl_draw_attributes
  • #20 _cogl_framebuffer_draw_attributes
  • #21 _cogl_journal_flush_modelview_and_entries
    at ./cogl-journal.c line 314
  • #22 _cogl_journal_flush_pipeline_and_entries
  • #23 batch_and_call
    at ./cogl-journal.c line 273
  • #24 _cogl_journal_flush_texcoord_vbo_offsets_and_entries
    at ./cogl-journal.c line 565
  • #25 batch_and_call
    at ./cogl-journal.c line 273
  • #26 _cogl_journal_flush_vbo_offsets_and_entries
    at ./cogl-journal.c line 672
  • #27 batch_and_call
    at ./cogl-journal.c line 273
  • #28 _cogl_journal_flush_clip_stacks_and_entries
    at ./cogl-journal.c line 751
  • #29 batch_and_call
    at ./cogl-journal.c line 273
  • #30 _cogl_journal_flush
    at ./cogl-journal.c line 1399
  • #31 _cogl_framebuffer_flush_journal
    at ./cogl-framebuffer.c line 636
  • #32 cogl_flush
    at ./cogl.c line 321
  • #33 cogl_onscreen_swap_buffers_with_damage
    at ./cogl-onscreen.c line 312
  • #34 cogl_onscreen_swap_buffers
    at ./cogl-onscreen.c line 343
  • #35 clutter_stage_cogl_redraw
    at ./cogl/clutter-stage-cogl.c line 660
  • #36 _clutter_stage_window_redraw
    at ./clutter-stage-window.c line 271
  • #37 clutter_stage_do_redraw
    at ./clutter-stage.c line 1202
  • #38 _clutter_stage_do_update
    at ./clutter-stage.c line 1260
  • #39 master_clock_update_stages
    at ./clutter-master-clock.c line 457
  • #40 clutter_clock_dispatch
    at ./clutter-master-clock.c line 589
  • #41 g_main_dispatch
    at gmain.c line 3064
  • #42 g_main_context_dispatch
    at gmain.c line 3663
  • #43 g_main_context_iterate
    at gmain.c line 3734
  • #44 g_main_context_iteration
    at gmain.c line 3795
  • #45 g_application_run
    at gapplication.c line 2114
  • #46 main
    at totem.c line 282

Comment 4 Felix Riemann 2014-04-06 17:52:09 UTC
I am getting the same backtrace. However in my case it is enough to play a FLAC file (MP3/MP4 appear to be unaffected). It will crash shortly after the seekbar is hidden. If I keep the seekbar visible by moving the mouse it plays fine. Visual effects are disabled, so the cover will be displayed.
Comment 5 Bastien Nocera 2014-04-07 13:58:59 UTC
Looks like a bug in cogl. The crash actually happens quite a bit of time before.

It works fine on my system after I've updated to cogl 1.18.0. Which version of cogl are you using? (It was working on my system-wide version of totem, but not in jhbuild because cogl wasn't updated).
Comment 6 Felix Riemann 2014-04-07 16:39:43 UTC
(In reply to comment #5)
> Looks like a bug in cogl. The crash actually happens quite a bit of time
> before.

Looks like it. Apparently my last try got a little further and printed this critical (after lots of criticals referring to Grilo) before crashing: 

(totem:19674): Cogl-CRITICAL **: file ./cogl-rectangle-map.c: line 514 (_cogl_rectangle_map_remove): should not be reached

> It works fine on my system after I've updated to cogl 1.18.0. Which version of
> cogl are you using? (It was working on my system-wide version of totem, but not
> in jhbuild because cogl wasn't updated).

For me that would be the one from the F20 COPR which should be 1.18.0 as well. But I also gave the one in jhbuild a try and the result's the same.
Comment 7 Conley Moorhous 2014-04-07 16:47:27 UTC
I was using 1.18.0 in Arch Linux' [gnome-unstable] repository, but I got the same result with jhbuild.
Comment 8 Bastien Nocera 2014-04-10 15:09:35 UTC
Given that the problem only seems to happen on Arch Linux, and I can't reproduce the problem at all in Fedora 20 + COPR (that's GNOME 3.12), I'd encourage you to file a bug against your distribution. Hopefully you'll find a sure fire way to reproduce the bug that I can use.

FWIW, I'd point towards a Mesa, X driver or kernel bug that's hardware specific. Might be good to check in that direction.

Reopen this bug when you have some more debugging information, or a reproducer.
Comment 9 Felix Riemann 2014-04-12 09:08:38 UTC
JFYI, I could reproduce it on two different F20 + COPR machines here and may have spotted the cause of it in Cogl (not entirely sure though): bug 728064.