GTK3 : Invalid rectangle passed in pixman_region32_init_rect

Bug #1264719 reported by Vincent
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Inkscape
Confirmed
Undecided
Unassigned

Bug Description

I just built a GTK3 Inkscape on OS X 10.9 using MacPorts. The app seems to work, but I get a lot of these messages on the console when using the calligraphic tool:

*** BUG ***
In void pixman_region32_init_rect(region_type_t *, int, int, unsigned int, unsigned int): Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug

lldb gives me this while breaking on the suggested symbol:

* thread #1: tid = 0xd242, 0x00000001030c0b5b libpixman-1.0.dylib`_pixman_log_error, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2
    frame #0: 0x00000001030c0b5b libpixman-1.0.dylib`_pixman_log_error
libpixman-1.0.dylib`_pixman_log_error:
-> 0x1030c0b5b: pushq %rbp
   0x1030c0b5c: movq %rsp, %rbp
   0x1030c0b5f: movq %rsi, %rax
   0x1030c0b62: movq %rdi, %rcx
(lldb) bt
* thread #1: tid = 0xd242, 0x00000001030c0b5b libpixman-1.0.dylib`_pixman_log_error, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2
  * frame #0: 0x00000001030c0b5b libpixman-1.0.dylib`_pixman_log_error
    frame #1: 0x00000001030bc1d7 libpixman-1.0.dylib`pixman_region32_init_rect + 73
    frame #2: 0x0000000102fd53f9 libcairo.2.dylib`cairo_region_create_rectangle + 56
    frame #3: 0x0000000101755df6 libgtk-3.0.dylib`gtk_widget_queue_draw_area + 94
    frame #4: 0x000000010034a62f inkscape`sp_color_slider_adjustment_value_changed(_GtkAdjustment*, SPColorSlider*) + 279
    frame #5: 0x0000000102e39ad5 libgobject-2.0.0.dylib`g_closure_invoke + 266
    frame #6: 0x0000000102e4cd08 libgobject-2.0.0.dylib`signal_emit_unlocked_R + 1993
    frame #7: 0x0000000102e4db82 libgobject-2.0.0.dylib`g_signal_emit_valist + 2653
    frame #8: 0x0000000102e4df7e libgobject-2.0.0.dylib`g_signal_emit + 134
    frame #9: 0x0000000101566fae libgtk-3.0.dylib`gtk_adjustment_value_changed + 65
    frame #10: 0x0000000100346e0d inkscape`ColorScales::setMode(SPColorScalesMode) + 2311
    frame #11: 0x0000000102e4f6db libgobject-2.0.0.dylib`g_type_create_instance + 606
    frame #12: 0x0000000102e3f922 libgobject-2.0.0.dylib`g_object_new_internal + 52
    frame #13: 0x0000000102e3f345 libgobject-2.0.0.dylib`g_object_newv + 473
    frame #14: 0x0000000102e3f132 libgobject-2.0.0.dylib`g_object_new + 193
    frame #15: 0x0000000100349a64 inkscape`sp_color_selector_new(unsigned long) + 41
    frame #16: 0x0000000100344d68 inkscape`ColorNotebook::addPage(unsigned long, unsigned int) + 28
    frame #17: 0x0000000100344519 inkscape`ColorNotebook::init() + 651
    frame #18: 0x0000000102e4f6db libgobject-2.0.0.dylib`g_type_create_instance + 606
    frame #19: 0x0000000102e3f922 libgobject-2.0.0.dylib`g_object_new_internal + 52
    frame #20: 0x0000000102e3f345 libgobject-2.0.0.dylib`g_object_newv + 473
    frame #21: 0x0000000102e3f132 libgobject-2.0.0.dylib`g_object_new + 193
    frame #22: 0x0000000100349a64 inkscape`sp_color_selector_new(unsigned long) + 41
    frame #23: 0x000000010032fdb2 inkscape`SPPaintSelector::setMode(SPPaintSelector::Mode) + 982
    frame #24: 0x0000000100310ba2 inkscape`Inkscape::FillNStroke::performUpdate() + 198
    frame #25: 0x00000001000b136d inkscape`sigc::internal::signal_emit1<void, Inkscape::Selection*, sigc::nil>::emit(sigc::internal::signal_impl*, Inkscape::Selection* const&) + 115
    frame #26: 0x00000001000af51d inkscape`Inkscape::Selection::_emitChanged(bool) + 219
    frame #27: 0x0000000100528a5e inkscape`Inkscape::UI::Tools::CalligraphicTool::set_to_accumulated(bool, bool) + 760
    frame #28: 0x0000000100526920 inkscape`Inkscape::UI::Tools::CalligraphicTool::root_handler(_GdkEvent*) + 924
    frame #29: 0x0000000100566e31 inkscape`Inkscape::UI::Tools::sp_event_context_virtual_root_handler(Inkscape::UI::Tools::ToolBase*, _GdkEvent*) + 33
    frame #30: 0x000000010002fa17 inkscape`sp_desktop_root_handler(SPCanvasItem*, _GdkEvent*, SPDesktop*) + 1099
    frame #31: 0x0000000100267339 inkscape`sp_marshal_BOOLEAN__POINTER + 96
    frame #32: 0x0000000102e39ad5 libgobject-2.0.0.dylib`g_closure_invoke + 266
    frame #33: 0x0000000102e4cd08 libgobject-2.0.0.dylib`signal_emit_unlocked_R + 1993
    frame #34: 0x0000000102e4dc12 libgobject-2.0.0.dylib`g_signal_emit_valist + 2797
    frame #35: 0x0000000102e4df7e libgobject-2.0.0.dylib`g_signal_emit + 134
    frame #36: 0x0000000100196c66 inkscape`SPCanvasImpl::emitEvent(SPCanvas*, _GdkEvent*) + 400
    frame #37: 0x0000000100197021 inkscape`SPCanvasImpl::button(_GtkWidget*, _GdkEventButton*) + 171
    frame #38: 0x00000001016440a3 libgtk-3.0.dylib`_gtk_marshal_BOOLEAN__BOXEDv + 193
    frame #39: 0x0000000102e39cff libgobject-2.0.0.dylib`_g_closure_invoke_va + 289
    frame #40: 0x0000000102e4d5c9 libgobject-2.0.0.dylib`g_signal_emit_valist + 1188
    frame #41: 0x0000000102e4df7e libgobject-2.0.0.dylib`g_signal_emit + 134
    frame #42: 0x0000000101757c9f libgtk-3.0.dylib`gtk_widget_event_internal + 440
    frame #43: 0x00000001016439cd libgtk-3.0.dylib`propagate_event + 437
    frame #44: 0x0000000101643076 libgtk-3.0.dylib`gtk_main_do_event + 1375
    frame #45: 0x0000000101a0cf21 libgdk-3.0.dylib`gdk_event_dispatch + 50
    frame #46: 0x0000000102ea5e93 libglib-2.0.0.dylib`g_main_context_dispatch + 276
    frame #47: 0x0000000102ea61a7 libglib-2.0.0.dylib`g_main_context_iterate + 406
    frame #48: 0x0000000102ea63f1 libglib-2.0.0.dylib`g_main_loop_run + 195
    frame #49: 0x00000001016429e5 libgtk-3.0.dylib`gtk_main + 74
    frame #50: 0x000000010001022b inkscape`sp_main_gui(int, char const**) + 1099

Hope this helps!

Cheers and happy new year!
V.

Tags: gtk3
su_v (suv-lp)
tags: added: gtk3
Revision history for this message
su_v (suv-lp) wrote :

On OS X 10.7.5, with local inkscape builds r12862 (GTK+/X11, GTK+/Quartz) outside of MacPorts; dependencies installed via MacPorts (all MacPorts ports built from source):
- reproduced with built-in GTK+ theme
- not reproduced if running the same builds with (GNOME default) Adwaita theme

Steps to reproduce:
0) configure GTK3 to not use any theme (-> GTK3 apps will use built-in fallback theme)
1) launch GTK3 inkscape build with default prefs
2) draw a rectangle, keep it selected
3) open 'Fill and Stroke' dialog
--> same pixman errors logged to console (multiple times).

Revision history for this message
su_v (suv-lp) wrote :

Confirming for project Inkscape for now (I can't tell whether this is possibly an upstream bug, or actually an error in some of Inkscape's custom slider widgets).

Changed in inkscape:
status: New → Confirmed
Revision history for this message
Vincent (1-vince) wrote :

Well, I can't be of any help either, because at present Inkscape is the sole app I built using gtk3.

If you can suggest me another – rather light – app that links against gtk3 I might give it a try and see if I get this error too (even though it may end up being inconclusive at the end…)

description: updated
Revision history for this message
su_v (suv-lp) wrote :

Reproduced with Inkscape r12862 using built-in gtk theme, and latest versions of dependencies:
- Glib 2.38.2, GTK+ 3.10.6 (X11, Quartz), gtkmm3 3.10.1, cairo 1.12.16, pixman 0.32.4

Not reproduced with Inkscape r12862 using built-in gtk theme, and older versions of dependencies:
- Glib 2.32.4, GTK+/X11 3.4.4, gtkmm3 3.4.0, cairo 1.12.2, pixman 0.26.2
- Glib 2.34.3, GTK+/Quartz 3.6.4, gtkmm3 3.6.0, cairo 1.12.14, pixman 0.28.2

Revision history for this message
Romano Giannetti (romano-giannetti) wrote :
Revision history for this message
John (john-jcoppens) wrote :

Same problem here, though even with Adwaita (or other theme) selected.

Glib 2.42.2 GTK+ 3.16.3, cairo 1.14.2, pixman 0.32.6

I encountered the error while running Python 3.3 using gi.repository's Gtk

Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

Problem still occurs with trunk Gtk3 build (r15109). In this case, it appears to be related to using icons in menus. Gtk has removed support for icons in menus. We have a fork of their older code (image-menu-item.c) which keeps this support (although it doesn't appear to work in either 0.92.x or trunk). The error is generated three different places. Two of them are the following code in icon.cpp in the function IconImpl:::imageMapNamedCB:

            gtk_image_set_from_icon_name(img, "", iconSize);
            gtk_image_set_from_icon_name(img, iconName_two, iconSize);

It appears that the code checks to see if a particular icon with a particular size is in the prerender list. If so, it removes it from the list and renders in immediately. The error message occurs when an icon appears to have already been rendered... but I am hypothesizing that maybe it hasn't. In anycase, this code will need some major work as Gtk3 has reworked the whole icon system

Revision history for this message
su_v (suv-lp) wrote :

The fork of the menu icon code in trunk (for GTK3) was reverted (removed) in
https://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/15368

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.