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 686160 - Cogl crashes when disconnecting renderer
Cogl crashes when disconnecting renderer
Status: RESOLVED OBSOLETE
Product: cogl
Classification: Platform
Component: GLX
1.12.x
Other Linux
: Normal normal
: ---
Assigned To: Cogl maintainer(s)
Cogl maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2012-10-15 14:36 UTC by Marek Kašík
Modified: 2021-06-10 11:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Set freed pointer to NULL and check later. (1.80 KB, patch)
2012-10-15 14:36 UTC, Marek Kašík
none Details | Review

Description Marek Kašík 2012-10-15 14:36:12 UTC
Created attachment 226470 [details] [review]
Set freed pointer to NULL and check later.

I'm getting a crash in cogl when starting gnome-control-center (gnome 3.6.x fallback mode). Backtrace of the crash is:

  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 63
  • #1 __GI_abort
    at abort.c line 90
  • #2 __libc_message
    at ../sysdeps/unix/sysv/linux/libc_fatal.c line 197
  • #3 malloc_printerr
  • #4 _int_free
    at malloc.c line 3826
  • #5 g_free
    at gmem.c line 252
  • #6 g_slice_free1
    at gslice.c line 1111
  • #7 _cogl_winsys_renderer_disconnect
    at winsys/cogl-winsys-glx.c line 259
  • #8 _cogl_renderer_free
    at ./cogl-renderer.c line 147
  • #9 _cogl_object_renderer_indirect_free
    at ./cogl-renderer.c line 115
  • #10 _cogl_object_default_unref
    at ./cogl-object.c line 96
  • #11 cogl_object_unref
    at ./cogl-object.c line 104
  • #12 clutter_backend_real_create_context
    at ./clutter-backend.c line 367
  • #13 clutter_backend_real_create_context
    at ./clutter-backend.c line 259
  • #14 _clutter_feature_init
    at ./clutter-feature.c line 107
  • #15 clutter_init_real
    at ./clutter-main.c line 1597
  • #16 post_parse_hook
    at ./clutter-main.c line 1808
  • #17 post_parse_hook
    at ./clutter-main.c line 1776
  • #18 g_option_context_parse
    at goption.c line 2001
  • #19 clutter_parse_args
    at ./clutter-main.c line 2044
  • #20 clutter_init
    at ./clutter-main.c line 2106
  • #21 cheese_gtk_init
    at libcheese/cheese-gtk.c line 58
  • #22 g_io_module_load
    at um-user-module.c line 38
  • #23 g_io_module_load_module
    at giomodule.c line 307
  • #24 g_type_module_use
    at gtypemodule.c line 256
  • #25 g_io_modules_load_all_in_directory_with_scope
    at giomodule.c line 589
  • #26 g_io_modules_load_all_in_directory
    at giomodule.c line 628
  • #27 load_panel_plugins
    at gnome-control-center.c line 881
  • #28 gnome_control_center_init
    at gnome-control-center.c line 1390
  • #29 g_type_create_instance
    at gtype.c line 1890
  • #30 g_object_constructor
    at gobject.c line 1854
  • #31 g_object_newv
    at gobject.c line 1637
  • #32 g_object_new
    at gobject.c line 1547
  • #33 gnome_control_center_new
    at gnome-control-center.c line 1407
  • #34 main
    at control-center.c line 247

It seems that _cogl_winsys_renderer_disconnect() tries to access "renderer->winsys" which was already freed.
Attached patch fixes the problem for me.

Regards

Marek
Comment 1 Marek Kašík 2012-10-15 14:37:57 UTC
I ran gnome-control-center with G_SLICE="always-malloc" to get the backtrace.
Comment 2 André Klapper 2021-06-10 11:19:54 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version of cogl, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a ticket at
  https://gitlab.gnome.org/GNOME/cogl/-/issues/

Thank you for your understanding and your help.