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 745229 - Crashes on Continuous on startup
Crashes on Continuous on startup
Status: RESOLVED NOTABUG
Product: cogl
Classification: Platform
Component: general
1.20.x
Other Linux
: High normal
: ---
Assigned To: Cogl maintainer(s)
Cogl maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2015-02-26 15:45 UTC by Vadim Rutkovsky
Modified: 2015-03-18 11:13 UTC
See Also:
GNOME target: 3.16
GNOME version: ---



Description Vadim Rutkovsky 2015-02-26 15:45:57 UTC
Continuous build 20150226.42
gnome-maps v3.15.90.1-21-g5c53ae14aa874615b34f716eabb80dc938158ceb
clutter 1.21.4-24-g36780b07b19ab9da68f07ab211a3f447cae8eaab

qemux86-64:~$ coredumpctl gdb 1192
           PID: 1192 (gnome-maps)
           UID: 1000 (test)
           GID: 1000 (test)
        Signal: 5 (TRAP)
     Timestamp: Thu 2015-02-26 15:41:01 GMT (1min 31s ago)
  Command Line: /usr/bin/gjs /usr/bin/gnome-maps
    Executable: /usr/bin/gjs-console
 Control Group: /user.slice/user-1000.slice/session-5.scope
          Unit: session-5.scope
         Slice: user-1000.slice
       Session: 5
     Owner UID: 1000 (test)
       Boot ID: 996f2dd645ba4684b6b7c71a805eb73e
    Machine ID: 45bb3b96146aa94f299b9eb43646eb35
      Hostname: qemux86-64
      Coredump: /var/lib/systemd/coredump/core.gnome-maps.1000.996f2dd645ba4684b6b7c71a805eb73e.1192.1424965261000000.xz
       Message: Process 1192 (gnome-maps) of user 1000 dumped core.

GNU gdb (GDB) 7.7.1
Copyright (C) 2014 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-gnomeostree-linux".
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 /usr/bin/gjs-console...Reading symbols from /usr/lib/debug/.build-id/24/94e7820f7af64e1ee090b5c7891079fd6b37c8.debug...done.
done.

warning: core file may not match specified executable file.
[New LWP 1192]
[New LWP 1193]
[New LWP 1194]
[New LWP 1195]
[New LWP 1196]
[New LWP 1197]
[New LWP 1198]
[New LWP 1199]

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `/usr/bin/gjs /usr/bin/gnome-maps'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.

Thread 1 (Thread 0x7f3ea404f940 (LWP 1192))

  • #0 g_logv
    at ../../glib/gmessages.c line 1046
  • #1 g_log
    at ../../glib/gmessages.c line 1079
  • #2 _gdk_x11_display_error_event
    at ../../../gdk/x11/gdkdisplay-x11.c line 2552
  • #3 gdk_x_error
    at ../../../gdk/x11/gdkmain-x11.c line 303
  • #4 _XError
    at ../../src/XlibInt.c line 1429
  • #5 handle_error
    at ../../src/xcb_io.c line 213
  • #6 handle_response
    at ../../src/xcb_io.c line 325
  • #7 _XReply
    at ../../src/xcb_io.c line 627
  • #8 XSync
    at ../../src/Sync.c line 44
  • #9 _XSyncFunction
    at ../../src/Synchro.c line 35
  • #10 XPutImage
    at ../../src/PutImage.c line 1022
  • #11 swrastPutImage2
    at ../../../src/glx/drisw_glx.c line 166
  • #12 swrastPutImage
    at ../../../src/glx/drisw_glx.c line 176
  • #13 ??
    from /usr/lib/dri/swrast_dri.so
  • #14 ??
    from /usr/lib/dri/swrast_dri.so
  • #15 ??
    from /usr/lib/dri/swrast_dri.so
  • #16 ??
    from /usr/lib/dri/swrast_dri.so
  • #17 ??
    from /usr/lib/dri/swrast_dri.so
  • #18 ??
    from /usr/lib/dri/swrast_dri.so
  • #19 ??
    from /usr/lib/dri/swrast_dri.so
  • #20 ??
    from /usr/lib/dri/swrast_dri.so
  • #21 driswSwapBuffers
    at ../../../src/glx/drisw_glx.c line 552
  • #22 glXSwapBuffers
    at ../../../src/glx/glxcmds.c line 842
  • #23 _cogl_winsys_onscreen_swap_buffers_with_damage
    at ../../cogl/winsys/cogl-winsys-glx.c line 1995
  • #24 cogl_onscreen_swap_buffers_with_damage
    at ../../cogl/cogl-onscreen.c line 315
  • #25 cogl_onscreen_swap_buffers
    at ../../cogl/cogl-onscreen.c line 343
  • #26 clutter_stage_cogl_redraw
    at ../../clutter/cogl/clutter-stage-cogl.c line 661
  • #27 clutter_stage_gdk_redraw
    at ../../clutter/gdk/clutter-stage-gdk.c line 462
  • #28 clutter_stage_do_redraw
    at ../../clutter/clutter-stage.c line 1201
  • #29 _clutter_stage_do_update
    at ../../clutter/clutter-stage.c line 1259
  • #30 master_clock_update_stage
    at ../../clutter/gdk/clutter-master-clock-gdk.c line 240
  • #31 clutter_master_clock_gdk_update
    at ../../clutter/gdk/clutter-master-clock-gdk.c line 297
  • #32 _g_closure_invoke_va
    at ../../gobject/gclosure.c line 831
  • #33 g_signal_emit_valist
    at ../../gobject/gsignal.c line 3214
  • #34 g_signal_emit_by_name
    at ../../gobject/gsignal.c line 3401
  • #35 gdk_frame_clock_paint_idle
    at ../../gdk/gdkframeclockidle.c line 380
  • #36 gdk_threads_dispatch
    at ../../gdk/gdk.c line 717
  • #37 g_timeout_dispatch
    at ../../glib/gmain.c line 4545
  • #38 g_main_dispatch
    at ../../glib/gmain.c line 3122
  • #39 g_main_context_dispatch
    at ../../glib/gmain.c line 3737
  • #40 g_main_context_iterate
    at ../../glib/gmain.c line 3808
  • #41 g_main_context_iteration
    at ../../glib/gmain.c line 3869
  • #42 g_application_run
    at ../../gio/gapplication.c line 2308
  • #43 ffi_call_unix64
    from /lib/libffi.so.6
  • #44 ffi_call
    from /lib/libffi.so.6
  • #45 gjs_invoke_c_function
    at ../gi/function.cpp line 997
  • #46 function_call
    at ../gi/function.cpp line 1320
  • #47 CallJSNative
    at ./jscntxtinlines.h line 321
  • #48 js::Invoke
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 474
  • #49 Interpret
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 2298
  • #50 RunScript
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 438
  • #51 js::ExecuteKernel
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 622
  • #52 js::Execute
    at /ostbuild/source/js24/_build/js/src/vm/Interpreter.cpp line 659
  • #53 JS::Evaluate
    at /ostbuild/source/js24/_build/js/src/jsapi.cpp line 5443
  • #54 JS::Evaluate
  • #55 gjs_eval_with_scope
  • #56 gjs_context_eval
  • #57 main
    at ../gjs/console.cpp line 140

Comment 1 Jonas Danielsson 2015-02-26 18:23:58 UTC
Hi, thanks for this!

I have not seen this. I jhbuilded gnome-maps to see if something changed in the stack. And got a completly black Maps, until I made sure that cogl was version 1.20+. Then it worked fine.

What versoins of clutter/cogl are running here?
Have you seen this in some other applications that use clutter?
I thought the trace looked familiar from something pasted on #gnome-hackers
Comment 2 Vadim Rutkovsky 2015-02-26 23:23:08 UTC
(In reply to Jonas Danielsson from comment #1)
> And got a completly black Maps, until I made sure that cogl was
> version 1.20+. Then it worked fine.
> 
> What versoins of clutter/cogl are running here?

cogl 1.20.0-1-g8cecd6899e8ba804829b6ff76e2e7211b4e4a89d
clutter 1.21.4-24-g36780b07b19ab9da68f07ab211a3f447cae8eaab

> Have you seen this in some other applications that use clutter?
> I thought the trace looked familiar from something pasted on #gnome-hackers
I think not, though we don't have too many on Continuous there. I'll try out some recent builds and reply back here
Comment 3 Vadim Rutkovsky 2015-02-27 10:33:00 UTC
(In reply to Vadim Rutkovsky from comment #2)
> > Have you seen this in some other applications that use clutter?
> > I thought the trace looked familiar from something pasted on #gnome-hackers
> I think not, though we don't have too many on Continuous there. I'll try out
> some recent builds and reply back here

Also happens for Totem, so re-assigning to cogl
Comment 4 Vadim Rutkovsky 2015-02-27 10:40:44 UTC
Also crashes in wayland:

Thread 3 (Thread 0x7fffe7327700 (LWP 1496)):                                

Thread 1 (Thread 0x7ffff7fb5940 (LWP 1491))

  • #0 cogl_matrix_entry_ref
    at ../../cogl/cogl-matrix-stack.c line 343
  • #1 cogl_matrix_stack_new
    at ../../cogl/cogl-matrix-stack.c line 673
  • #2 _cogl_framebuffer_init
    at ../../cogl/cogl-framebuffer.c line 121
  • #3 cogl_onscreen_new
    at ../../cogl/cogl-onscreen.c line 136
  • #4 clutter_stage_gdk_realize
    at ../../clutter/gdk/clutter-stage-gdk.c line 266
  • #5 clutter_stage_realize
    at ../../clutter/clutter-stage.c line 797
  • #6 _g_closure_invoke_va
    at ../../gobject/gclosure.c line 831
  • #7 g_signal_emit_valist
    at ../../gobject/gsignal.c line 3214
  • #8 g_signal_emit
    at ../../gobject/gsignal.c line 3361
  • #9 clutter_actor_realize_internal
    at ../../clutter/clutter-actor.c line 1945
  • #10 clutter_actor_realize
    at ../../clutter/clutter-actor.c line 1901
  • #11 _clutter_stage_manager_set_default_stage
    at ../../clutter/clutter-stage-manager.c line 226
  • #12 clutter_stage_constructed
    at ../../clutter/clutter-stage.c line 1661
  • #13 g_object_new_with_custom_constructor
    at ../../gobject/gobject.c line 1746
  • #14 g_object_new_internal
    at ../../gobject/gobject.c line 1772
  • #15 g_object_newv
    at ../../gobject/gobject.c line 1922
  • #16 g_object_new
    at ../../gobject/gobject.c line 1614
  • #17 clutter_stage_new
    at ../../clutter/clutter-stage.c line 3348
  • #18 gtk_clutter_embed_init
    at ../../clutter-gtk/gtk-clutter-embed.c line 1122
  • #19 g_type_create_instance
    at ../../gobject/gtype.c line 1864
  • #20 g_object_new_internal
    at ../../gobject/gobject.c line 1774
  • #21 g_object_new_valist
    at ../../gobject/gobject.c line 2044
  • #22 g_initable_new_valist
    at ../../gio/ginitable.c line 224
  • #23 g_initable_new
  • #24 bacon_video_widget_new
    at ../../../src/backend/bacon-video-widget.c line 6131
  • #25 video_widget_create
    at ../../src/totem-object.c line 3984
  • #26 totem_object_app_activate
    at ../../src/totem-object.c line 197
  • #27 _g_closure_invoke_va
    at ../../gobject/gclosure.c line 831
  • #28 g_signal_emit_valist
    at ../../gobject/gsignal.c line 3214
  • #29 g_signal_emit
    at ../../gobject/gsignal.c line 3361
  • #30 g_application_activate
    at ../../gio/gapplication.c line 2111
  • #31 remote_command_cb
    at ../../src/totem-menu.c line 281
  • #32 g_closure_invoke
    at ../../gobject/gclosure.c line 768
  • #33 signal_emit_unlocked_R
    at ../../gobject/gsignal.c line 3549
  • #34 g_signal_emit_valist
    at ../../gobject/gsignal.c line 3305
  • #35 g_signal_emit
    at ../../gobject/gsignal.c line 3361
  • #36 g_simple_action_activate
    at ../../gio/gsimpleaction.c line 225
  • #37 g_action_activate
    at ../../gio/gaction.c line 397
  • #38 totem_object_app_handle_local_options
    at ../../src/totem-object.c line 275
  • #39 ffi_call_unix64
    from /lib/libffi.so.6
  • #40 ffi_call
    from /lib/libffi.so.6
  • #41 g_cclosure_marshal_generic_va
    at ../../gobject/gclosure.c line 1561
  • #42 _g_closure_invoke_va
    at ../../gobject/gclosure.c line 831
  • #43 g_signal_emit_valist
    at ../../gobject/gsignal.c line 3214
  • #44 g_signal_emit
    at ../../gobject/gsignal.c line 3361
  • #45 g_application_real_local_command_line
    at ../../gio/gapplication.c line 972
  • #46 g_application_run
    at ../../gio/gapplication.c line 2277
  • #47 main
    at ../../src/totem.c line 83

Comment 5 Matthias Clasen 2015-03-02 14:29:00 UTC
putting on the blocker list for now
Comment 6 Emmanuele Bassi (:ebassi) 2015-03-02 16:06:58 UTC
Looking at frames #3 and #4:

  • #3 cogl_onscreen_new
    at ../../cogl/cogl-onscreen.c line 136
  • #4 clutter_stage_gdk_realize
    at ../../clutter/gdk/clutter-stage-gdk.c line 266

It seems that the Cogl context instance is missing, which leads to a cascade effect that breaks Cogl underneath. I added a check for that, but I'd like to understand how that is happening. The CoglContext instance attached to the ClutterBackend singleton is created when Clutter is initialized. Definitely by the time we create a ClutterStage, the CoglContext must be available — or you'd have gotten a fatal error prior to that.
Comment 7 Vadim Rutkovsky 2015-03-02 17:05:48 UTC
Tried this on http://build.gnome.org/#/build/20150302.47, but didn't get the warning, the trace is the same
Comment 8 Emmanuele Bassi (:ebassi) 2015-03-02 19:02:42 UTC
(In reply to Vadim Rutkovsky from comment #7)
> Tried this on http://build.gnome.org/#/build/20150302.47, but didn't get the
> warning, the trace is the same

The trace 234722 and 234724 are very much different. The first one is a NULL CoglContext, leading to a crash in Cogl; the second is an X11 error in the software rasteriser.
Comment 9 Vadim Rutkovsky 2015-03-06 13:02:04 UTC
I forgot to export CLUTTER_BACKEND=wayland for these crashes sorry (shouldn't it be set for the whole session?).

Anyway, now totem crashes with

Thread 1 (Thread 0x7ff6dc8c8940 (LWP 3973))

  • #0 cogl_matrix_entry_ref
    at ../../cogl/cogl-matrix-stack.c line 343
  • #1 cogl_matrix_stack_new
    at ../../cogl/cogl-matrix-stack.c line 673
  • #2 _cogl_framebuffer_init
    at ../../cogl/cogl-framebuffer.c line 121
  • #3 cogl_onscreen_new
    at ../../cogl/cogl-onscreen.c line 136
  • #4 clutter_stage_cogl_realize
    at ../../clutter/cogl/clutter-stage-cogl.c line 140
  • #5 clutter_stage_wayland_realize
    at ../../clutter/wayland/clutter-stage-wayland.c line 112
  • #6 clutter_stage_realize
    at ../../clutter/clutter-stage.c line 746
  • #7 _g_closure_invoke_va
    at ../../gobject/gclosure.c line 831
  • #8 g_signal_emit_valist
    at ../../gobject/gsignal.c line 3214
  • #9 g_signal_emit
    at ../../gobject/gsignal.c line 3361
  • #10 clutter_actor_realize_internal
    at ../../clutter/clutter-actor.c line 1944
  • #11 clutter_actor_realize
    at ../../clutter/clutter-actor.c line 1900
  • #12 _clutter_stage_manager_set_default_stage
    at ../../clutter/clutter-stage-manager.c line 226
  • #13 clutter_stage_constructed
    at ../../clutter/clutter-stage.c line 1542
  • #14 g_object_new_with_custom_constructor
    at ../../gobject/gobject.c line 1746
  • #15 g_object_new_internal
    at ../../gobject/gobject.c line 1772
  • #16 g_object_newv
    at ../../gobject/gobject.c line 1922
  • #17 g_object_new
    at ../../gobject/gobject.c line 1614
  • #18 clutter_stage_new
    at ../../clutter/clutter-stage.c line 3229
  • #19 gtk_clutter_embed_init
    at ../../clutter-gtk/gtk-clutter-embed.c line 1122
  • #20 g_type_create_instance
    at ../../gobject/gtype.c line 1864
  • #21 g_object_new_internal
    at ../../gobject/gobject.c line 1774
  • #22 g_object_new_valist
    at ../../gobject/gobject.c line 2044
  • #23 g_initable_new_valist
    at ../../gio/ginitable.c line 224
  • #24 g_initable_new
    at ../../gio/ginitable.c line 146
  • #25 bacon_video_widget_new
    at ../../../src/backend/bacon-video-widget.c line 6131
  • #26 video_widget_create
    at ../../src/totem-object.c line 3984
  • #27 totem_object_app_activate
    at ../../src/totem-object.c line 197
  • #28 _g_closure_invoke_va
    at ../../gobject/gclosure.c line 831
  • #29 g_signal_emit_valist
    at ../../gobject/gsignal.c line 3214
  • #30 g_signal_emit
    at ../../gobject/gsignal.c line 3361
  • #31 g_application_activate
    at ../../gio/gapplication.c line 2111
  • #32 remote_command_cb
    at ../../src/totem-menu.c line 281
  • #33 g_closure_invoke
    at ../../gobject/gclosure.c line 768
  • #34 signal_emit_unlocked_R
    at ../../gobject/gsignal.c line 3549
  • #35 g_signal_emit_valist
    at ../../gobject/gsignal.c line 3305
  • #36 g_signal_emit
    at ../../gobject/gsignal.c line 3361
  • #37 g_simple_action_activate
    at ../../gio/gsimpleaction.c line 225
  • #38 g_action_activate
    at ../../gio/gaction.c line 397
  • #39 totem_object_app_handle_local_options
    at ../../src/totem-object.c line 275
  • #40 ffi_call_unix64
    from /lib/libffi.so.6
  • #41 ffi_call
    from /lib/libffi.so.6
  • #42 g_cclosure_marshal_generic_va
    at ../../gobject/gclosure.c line 1561
  • #43 _g_closure_invoke_va
    at ../../gobject/gclosure.c line 831
  • #44 g_signal_emit_valist
    at ../../gobject/gsignal.c line 3214
  • #45 g_signal_emit
    at ../../gobject/gsignal.c line 3361
  • #46 g_application_real_local_command_line
    at ../../gio/gapplication.c line 972
  • #47 g_application_run
    at ../../gio/gapplication.c line 2277
  • #48 main
    at ../../src/totem.c line 83

while control-center exits cleanly with 'Unable to initialize Clutter' error message.
Comment 10 Vadim Rutkovsky 2015-03-18 11:13:26 UTC
It seems that QXL doesn't support EGL anymore, so Clutter fails to initialize (Quadrapassel outputs a nice message), so I'm gonna close this bug