Re: running without a mainlopp for unittests



Another follow up - I managed to get a backtrace after I enabled core-dumps:

This is gtk-2.4.9 on SuSe 9.2 on gentoo I use gtk-2.6.x, but will need to disabled -f-omit-frampointer optiomization to get a sensible backtrace.

Anyone an idea whats causing this?

Stefan

#0  0x40b3de85 in XRenderQueryFormats () from /usr/X11R6/lib/libXrender.so.1
#1  0x40b3e220 in XRenderFindFormat () from /usr/X11R6/lib/libXrender.so.1
#2  0x40b23392 in _XftDisplayInfoGet () from /usr/X11R6/lib/libXft.so.2
#3  0x40b239f6 in XftDefaultHasRender () from /usr/X11R6/lib/libXft.so.2
#4  0x40b23bc1 in XftDefaultSubstitute () from /usr/X11R6/lib/libXft.so.2
#5 0x40764762 in pango_xft_font_map_default_substitute () from /opt/gnome/lib/libpangoxft-1.0.so.0 #6 0x4009c73a in pango_fc_default_substitute () from /opt/gnome/lib/libpangoft2-1.0.so.0 #7 0x4009e256 in pango_fc_font_map_get_patterns () from /opt/gnome/lib/libpangoft2-1.0.so.0 #8 0x4009e49e in pango_fc_font_map_load_font () from /opt/gnome/lib/libpangoft2-1.0.so.0 #9 0x40784c3f in pango_font_map_load_font () from /opt/gnome/lib/libpango-1.0.so.0 #10 0x407834d3 in pango_context_load_font () from /opt/gnome/lib/libpango-1.0.so.0 #11 0x40788f67 in pango_layout_line_get_extents () from /opt/gnome/lib/libpango-1.0.so.0 #12 0x40789132 in get_line_extents_layout_coords () from /opt/gnome/lib/libpango-1.0.so.0 #13 0x4078ae9c in pango_layout_get_extents_internal () from /opt/gnome/lib/libpango-1.0.so.0 #14 0x4057a507 in gtk_text_layout_get_line_display () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #15 0x4057deee in gtk_text_layout_real_wrap () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #16 0x405784ef in gtk_text_layout_wrap () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #17 0x4056056d in _gtk_text_btree_validate_line () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #18 0x4057ca01 in gtk_text_layout_validate_yrange () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #19 0x4058a32d in gtk_text_view_validate_onscreen () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #20 0x40589a70 in gtk_text_view_value_changed () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #21 0x404ed555 in _gtk_marshal_VOID__OBJECT_OBJECT () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #22 0x407ad8e7 in g_type_class_meta_marshal () from /opt/gnome/lib/libgobject-2.0.so.0 #23 0x407adbfb in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 #24 0x407bf3f6 in signal_emit_unlocked_R () from /opt/gnome/lib/libgobject-2.0.so.0 #25 0x407c068a in g_signal_emit_valist () from /opt/gnome/lib/libgobject-2.0.so.0
#26 0x407c09b2 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0
#27 0x405ecb62 in gtk_widget_set_scroll_adjustments () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #28 0x4052c55d in gtk_scrolled_window_add () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #29 0x407bbcde in g_cclosure_marshal_VOID__OBJECT () from /opt/gnome/lib/libgobject-2.0.so.0 #30 0x407ad8e7 in g_type_class_meta_marshal () from /opt/gnome/lib/libgobject-2.0.so.0 #31 0x407adbfb in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 #32 0x407bedf2 in signal_emit_unlocked_R () from /opt/gnome/lib/libgobject-2.0.so.0 #33 0x407c068a in g_signal_emit_valist () from /opt/gnome/lib/libgobject-2.0.so.0
#34 0x407c09b2 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0
#35 0x40467b97 in gtk_container_add () from /opt/gnome/lib/libgtk-x11-2.0.so.0 #36 0x0805fb36 in bt_main_page_info_new (app=0x82be9b0) at main-page-info.c:267
#37 0x0805b731 in bt_main_pages_new (app=0x82be9b0) at main-pages.c:95
#38 0x0805a9fd in bt_main_window_new (app=0x82be9b0) at main-window.c:115
#39 0x08058b40 in bt_edit_application_new () at edit-application.c:94
#40 0x08056e10 in test_load1 () at t-bt-edit.c:128
#41 0x08055d12 in srunner_run_all (sr=0x8081798, print_mode=CK_NORMAL) at check_run.c:406
#42 0x08052be9 in main (argc=1, argv=0xbfffecc4) at t-bt-edit.c:52

Stefan Kost schrieb:

hi hi,

I currently fight with some highlevel unit test, that should basically start the
application and immeditely exit.
The Problem I have is that instead of calling gtk_main() I want to init
everything and then shut-down.

The test-framework stats tests with fork to capture crashing.
Before I initialize g_thread and gdk_threads. I wrap lauching the test suite in
gdk_thread_enter/leave().

When the tests run, I often get XLib errors a la
sequence lost (0x100b9 > 0xb9) in reply to 0x0!
...

To me this sounds like probelm in message passing. Should I add another
gdk_thread_enter/leave() after the fork (for each test case)?

Does anyone do unit test that test the GUI?

Stefan
------------------------------------------------------------------------

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]