Ticket #172 (assigned fixme)
Segfault/crash at shutdown
| Reported by: | ct | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 1alpha |
| Component: | lumieraGui | Keywords: | QA sanity |
| Cc: | Blocked By: | ||
| Blocking: | #846 |
Description
After playing a bit with undocked panes, mocup colorbars playing and a second window. It crashes at shutdown:
... 0000000819: NOTICE: appstate.cpp:168: thread_1: maybeWait: Shutting down Lumiera... 0000000820: INFO: workspace-window.cpp:59: thread_1: ~WorkspaceWindow: closing workspace window... (<unknown>:7824): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `<invalid>' (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `<invalid>' (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): glibmm-CRITICAL **: Glib::ObjectBase* Glib::wrap_create_new_wrapper(GObject*): assertion `wrap_func_table != 0' failed (<unknown>:7824): glibmm-WARNING **: Failed to wrap object of type 'GdlDockItemGrip'. Hint: this error is commonly caused by failing to call a library init() function. (<unknown>:7824): glibmm-CRITICAL **: Glib::ObjectBase* Glib::wrap_create_new_wrapper(GObject*): assertion `wrap_func_table != 0' failed (<unknown>:7824): glibmm-WARNING **: Failed to wrap object of type 'GdlDockItem'. Hint: this error is commonly caused by failing to call a library init() function. 0000000821: INFO: display-service.hpp:146: thread_2: ~DisplayService: Display service dying... (<unknown>:7824): glibmm-CRITICAL **: Glib::ObjectBase* Glib::wrap_create_new_wrapper(GObject*): assertion `wrap_func_table != 0' failed (<unknown>:7824): glibmm-WARNING **: Failed to wrap object of type 'GdlDockItemGrip'. Hint: this error is commonly caused by failing to call a library init() function. (<unknown>:7824): glibmm-CRITICAL **: Glib::ObjectBase* Glib::wrap_create_new_wrapper(GObject*): assertion `wrap_func_table != 0' failed (<unknown>:7824): glibmm-WARNING **: Failed to wrap object of type 'GdlDockItem'. Hint: this error is commonly caused by failing to call a library init() function. (<unknown>:7824): glibmm-CRITICAL **: Glib::ObjectBase* Glib::wrap_create_new_wrapper(GObject*): assertion `wrap_func_table != 0' failed (<unknown>:7824): glibmm-WARNING **: Failed to wrap object of type 'GdlDockItemGrip'. Hint: this error is commonly caused by failing to call a library init() function. (<unknown>:7824): glibmm-CRITICAL **: Glib::ObjectBase* Glib::wrap_create_new_wrapper(GObject*): assertion `wrap_func_table != 0' failed (<unknown>:7824): glibmm-WARNING **: Failed to wrap object of type 'GdlDockItem'. Hint: this error is commonly caused by failing to call a library init() function. (<unknown>:7824): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)' (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed 0000000855: INFO: workspace-window.cpp:59: thread_1: ~WorkspaceWindow: closing workspace window... (<unknown>:7824): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)' (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)' (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)' (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)' (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)' (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `<invalid>' (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `<invalid>' (<unknown>:7824): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (<unknown>:7824): glibmm-CRITICAL **: Glib::ObjectBase* Glib::wrap_create_new_wrapper(GObject*): assertion `wrap_func_table != 0' failed (<unknown>:7824): glibmm-WARNING **: Failed to wrap object of type 'GdlDockItemGrip'. Hint: this error is commonly caused by failing to call a library init() function. (<unknown>:7824): glibmm-CRITICAL **: Glib::ObjectBase* Glib::wrap_create_new_wrapper(GObject*): assertion `wrap_func_table != 0' failed (<unknown>:7824): glibmm-WARNING **: Failed to wrap object of type 'GdlDockItem'. Hint: this error is commonly caused by failing to call a library init() function. Segmentation fault
Change History
Note: See
TracTickets for help on using
tickets.

We had some Segfaults related to the dummy player. This could be bettered by adding proper synchronisation to the dummy frame generating thread. There remains the problem that the dispatch of the output goes to the main event thread, which just leavest the possibility that the last frame gets dispatched when the corresponding producer together with the buffer doesn't exist anymore. This is an architecture issue, and we (Joel, Ichthyo) are aware of the problem (to be avoided for the real thing)
But I'm not sure this error is really related to this problems, it has a smell as if it is rather related to child window cleanup