On 9/4/11 02:12, Krzysztof Kosiński wrote:
W dniu 9 kwietnia 2011 01:56 użytkownik ~suv <suv-sf@...58...> napisał:
#0 0x02fbadfc in cairo_pattern_destroy () #1 0x0027edc7 in NRStyle::update () at display/nr-style.cpp:201 #2 0x0027edc7 in NRStyle::set (this=0xf0f0f0f0, style=0x6887b70) at display/nr-style.cpp:140
0xf0f0f0f0 for "this" is obviously wrong, the stack is getting corrupted for some reason.
#3 0x00258941 in nr_arena_shape_set_style (shape=0x643ce00, style=0x6887b70) at display/nr-arena-shape.cpp:543
The "style" pointer looks correct here, so something went awry in nr_arena_shape_set_style. At the moment I have no idea what is going on.
Can you try compiling without optimization (-O0), or adding "g_return_if_fail(style != NULL);" at the top of nr_arena_shape_set_style()?
Editing 'src/display/nr-arena-shape.cpp' didn't help:
LeWitt:inkscape-cairo2 suv$ mvim src/display/nr-arena-shape.cpp LeWitt:inkscape-cairo2 suv$ bzr diff !$ bzr diff src/display/nr-arena-shape.cpp === modified file 'src/display/nr-arena-shape.cpp' --- src/display/nr-arena-shape.cpp 2011-04-07 23:42:04 +0000
+++ src/display/nr-arena-shape.cpp 2011-04-09 00:15:56 +0000 @@ -533,6 +533,7 @@ void nr_arena_shape_set_style(NRArenaShape *shape, SPStyle *style) { + g_return_if_fail(style != NULL); g_return_if_fail(shape != NULL); g_return_if_fail(NR_IS_ARENA_SHAPE(shape));
LeWitt:inkscape-cairo2 suv$
Backtrace attached. I'll do a full rebuild changing optimization from '-O3' to '-O0'.
~suv
Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0xf0f0f0f4 0x02fbadfc in cairo_pattern_destroy () (gdb) bt #0 0x02fbadfc in cairo_pattern_destroy () #1 0x0027edc7 in NRStyle::update () at display/nr-style.cpp:201 #2 0x0027edc7 in NRStyle::set (this=0xf0f0f0f0, style=0x69e4f10) at display/nr-style.cpp:140 #3 0x0025893b in nr_arena_shape_set_style (shape=0x6516e00, style=0x69e4f10) at display/nr-arena-shape.cpp:544 #4 0x0018f7b8 in SPShape::sp_shape_show (item=0x6711a00, arena=0x4fe7f80) at sp-shape.cpp:859 #5 0x00157290 in SPItem::invoke_show (this=0x6711a00, arena=0x4fe7f80, key=1, flags=1) at sp-item.cpp:1045 #6 0x00158b16 in CGroup::_showChildren (this=0x69e4e70, arena=0x4fe7f80, ai=0x4fe9a00, key=1, flags=1) at sp-item-group.cpp:770 #7 0x001599a0 in CGroup::show (this=0x69e4e70, arena=0x4fe7f80, key=1, flags=1) at sp-item-group.cpp:757 #8 0x0015b782 in sp_group_show (item=0x6714120, arena=0x4fe7f80, key=1, flags=1) at sp-item-group.cpp:319 #9 0x00157290 in SPItem::invoke_show (this=0x6714120, arena=0x4fe7f80, key=1, flags=1) at sp-item.cpp:1045 #10 0x001a7336 in sp_use_show (item=0x37061a8, arena=0x4fe7f80, key=1, flags=1) at sp-use.cpp:359 #11 0x00157290 in SPItem::invoke_show (this=0x37061a8, arena=0x4fe7f80, key=1, flags=1) at sp-item.cpp:1045 #12 0x00158b16 in CGroup::_showChildren (this=0x6300720, arena=0x4fe7f80, ai=0x4fe9c00, key=1, flags=1) at sp-item-group.cpp:770 #13 0x001599a0 in CGroup::show (this=0x6300720, arena=0x4fe7f80, key=1, flags=1) at sp-item-group.cpp:757 #14 0x0015b782 in sp_group_show (item=0x3774230, arena=0x4fe7f80, key=1, flags=1) at sp-item-group.cpp:319 #15 0x001890bd in sp_root_show (item=0x3774230, arena=0x4fe7f80, key=1, flags=1) at sp-root.cpp:622 #16 0x00157290 in SPItem::invoke_show (this=0x3774230, arena=0x4fe7f80, key=0, flags=58147376) at sp-item.cpp:1045 #17 0x004126c6 in IconImpl::load_svg_pixels (names=@0xbfffebcc, psize=16, stride=@0xbfffebf4) at widgets/icon.cpp:1296 #18 0x00413fad in IconImpl::prerenderIcon (name=0x61156bc "edit-select-all-layers", lsize=GTK_ICON_SIZE_SMALL_TOOLBAR, psize=16) at widgets/icon.cpp:1430 #19 0x00415a6f in Inkscape::queueIconPrerender (name=@0xbfffed0c, lsize=Inkscape::ICON_SIZE_SMALL_TOOLBAR) at widgets/icon.cpp:1339 #20 0x00427999 in create_action_for_verb (verb=0x2, view=<value temporarily unavailable, due to optimizations>, size=Inkscape::ICON_SIZE_SMALL_TOOLBAR) at widgets/select-toolbar.cpp:387 #21 0x00429434 in sp_select_toolbox_prep (desktop=0x4fe4d80, mainActions=0x602cb40, holder=0x60860b8) at widgets/select-toolbar.cpp:405 #22 0x00458af4 in setup_aux_toolbox (toolbox=0x50c0328, desktop=0x4fe4d80) at widgets/toolbox.cpp:1901 #23 0x0044a560 in Inkscape::UI::ToolboxFactory::setToolboxDesktop (toolbox=0x50c0328, desktop=0x4fe4d80) at widgets/toolbox.cpp:1667 #24 0x00491232 in std::_Rb_tree<SPDesktop*, std::pair<SPDesktop* const, std::vector<_GtkWidget*, std::allocator<_GtkWidget*> > >, std::_Select1st<std::pair<SPDesktop* const, std::vector<_GtkWidget*, std::allocator<_GtkWidget*> > > >, std::less<SPDesktop*>, std::allocator<std::pair<SPDesktop* const, std::vector<_GtkWidget*, std::allocator<_GtkWidget*> > > > >::_M_begin () at stl_tree.h:230 #25 0x00491232 in std::map<SPDesktop*, std::vector<_GtkWidget*, std::allocator<_GtkWidget*> >, std::less<SPDesktop*>, std::allocator<std::pair<SPDesktop* const, std::vector<_GtkWidget*, std::allocator<_GtkWidget*> > > > >::lower_bound () at ui/uxmanager.cpp:1146 #26 std::_Rb_tree<SPDesktop*, std::pair<SPDesktop* const, std::vector<_GtkWidget*, std::allocator<_GtkWidget*> > >, std::_Select1st<std::pair<SPDesktop* const, std::vector<_GtkWidget*, std::allocator<_GtkWidget*> > > >, std::less<SPDesktop*>, std::allocator<std::pair<SPDesktop* const, std::vector<_GtkWidget*, std::allocator<_GtkWidget*> > > > >::lower_bound () at stl_tree.h:336 #27 Inkscape::UI::UXManagerImpl::connectToDesktop (this=0x5d6ba00, toolboxes=@0xbffff0d8, desktop=0x4fe4d80) at stl_map.h:540 #28 0x003fad2f in ~_Vector_base [inlined] () at widgets/desktop-widget.cpp:1476 #29 0x003fad2f in ~vector [inlined] () at stl_vector.h:273 #30 0x003fad2f in SPDesktopWidget::createInstance (namedview=0x3747e90) at widgets/desktop-widget.cpp:1478 #31 0x003faec2 in sp_desktop_widget_new (namedview=0x3747e90) at widgets/desktop-widget.cpp:1425 #32 0x00078142 in sp_file_new (templ=@0xbffff1ac) at file.cpp:125 #33 0x0007877a in sp_file_new_default () at file.cpp:177 #34 0x0000556e in ptr_fun<bool> [inlined] () at functors/ptr_fun.h:982 #35 0x0000556e in sp_main_gui (argc=1, argv=0xbffff2d0) at main.cpp:985 #36 0x00004206 in start () (gdb)