Armadilloフォーラム

Gladeを使ったアプリが強制終了する

nagaishi

2016年12月13日 18時51分

armadillo-440上で、glade動かしているのですが
時々、アプリケーションが強制終了します。
その際に、以下のようなメッセージが出力されています。
何か原因がわかるようでしたら、ご教示いただけないでしょうか?

-----------------
(app01:1438): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed

(app01:1438): Pango-CRITICAL **: pango_renderer_draw_layout: assertion `PANGO_IS_LAYOUT (layout)' failed

(app01:1438): Pango-CRITICAL **: pango_layout_get_pixel_extents: assertion `PANGO_IS_LAYOUT (layout)' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(app01:1438): Gtk-CRITICAL **: gtk_render_layout: assertion `PANGO_IS_LAYOUT (layout)' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1438): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed
Segmentation fault

----------
(app01:1572): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

(app01:1572): Pango-CRITICAL **: pango_layout_get_pixel_extents: assertion `PANGO_IS_LAYOUT (layout)' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_unref: assertion `object->ref_count > 0' failed

(app01:1572): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(app01:1572): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed

(app01:1572): Gtk-CRITICAL **: gtk_render_layout: assertion `PANGO_IS_LAYOUT (layout)' failed

(app01:1572): Pango-CRITICAL **: pango_cairo_show_layout: assertion `PANGO_IS_LAYOUT (layout)' failed

(app01:1572): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(app01:1572): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(app01:1572): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(app01:1572): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed

(app01:1572): Gtk-CRITICAL **: gtk_render_layout: assertion `PANGO_IS_LAYOUT (layout)' failed

(app01:1572): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(app01:1572): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed

(app01:1572): Gtk-CRITICAL **: gtk_render_layout: assertion `PANGO_IS_LAYOUT (layout)' failed

-------------
app01: /build/buildd-cairo_1.12.2-3-armel-v1aiIO/cairo-1.12.2/src/cairo-region.c:423: cairo_region_destroy: Assertion `((*&(&region->ref_count)->ref_count) > 0)' failed.
Aborted

-------------
(app01:1739): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed
**
Pango:ERROR:/build/buildd-pango1.0_1.30.0-1-armel-443Bm7/pango1.0-1.30.0/./pango/pango-layout.c:3877:pango_layout_check_lines: assertion failed: (end <= (layout->text + layout->length))
Aborted

-------------
app01: /build/buildd-cairo_1.12.2-3-armel-v1aiIO/cairo-1.12.2/src/cairo-region.c:423: cairo_region_destroy: Assertion `((*&(&region->ref_count)->ref_count) > 0)' failed.
Aborted

コメント

at_yashi

2016年12月13日 19時08分

破壊したオブジェクトに触っていませんか?

g_log() に break point を仕掛けて、gdb で backtrace を取ってみてはどうでしょう?

あとは、再現できる最小コードがあれば、なにかコメントできると思います。