renderer: lock-up in RasterFont on objects moved by mouse

Bug #168547 reported by ScislaC
2
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Medium
Krzysztof Kosinski

Bug Description

Here's a freeze reported for 0.45.1 and I confirmed it in current SVN
(04/09/2007) on Linux.

To reproduce, open the attached file.
1) Select a circle and the text in front (I did the top right ones for
reference)
2) Move them with the selector tool
3) Freeze... mouse is non-responsive, but an Alt+F4 will bring up the
application not responding dialog so it can be closed. Note that the mouse
still doesn't work at this point, you have to use the Keyboard to change
buttons and hit enter.

Backtrace
----
0x082d5704 in font_style::Apply (this=0xa7e65d0, src=0xa97c500,
dest=0x9c80ba8) at libnrtype/RasterFont.cpp:34
34 while ( sc_offset >= dlen )
sc_offset-=dlen;
(gdb) bt
#0 0x082d5704 in font_style::Apply (this=0xa7e65d0, src=0xa97c500,
dest=0x9c80ba8) at libnrtype/RasterFont.cpp:34
#1 0x082d64c3 in raster_font::LoadRasterGlyph (this=0xa7e65c8,
glyph_id=54) at libnrtype/RasterFont.cpp:156
#2 0x082d6aa4 in raster_font::GetGlyph (this=0xa7e65c8, glyph_id=54) at
libnrtype/RasterFont.cpp:89
#3 0x082952d0 in nr_arena_glyphs_group_render (item=0x86cbb00,
area=0xbfcd31dc, pb=0xbfcd3800, flags=0) at
display/nr-arena-glyphs.cpp:299
#4 0x0828cdbc in nr_arena_item_invoke_render (item=0x86cbb00,
area=0xbfcd333c, pb=0xbfcd3800, flags=<value optimized out>) at
display/nr-arena-item.cpp:552
#5 0x0828dee3 in nr_arena_group_render (item=0x86ce000, area=0xbfcd333c,
pb=0xbfcd3800, flags=0) at display/nr-arena-group.cpp:246
#6 0x0828cdbc in nr_arena_item_invoke_render (item=0x86ce000,
area=0xbfcd349c, pb=0xbfcd3800, flags=<value optimized out>) at
display/nr-arena-item.cpp:552
#7 0x0828dee3 in nr_arena_group_render (item=0x86c9d20, area=0xbfcd349c,
pb=0xbfcd3800, flags=0) at display/nr-arena-group.cpp:246
#8 0x0828cdbc in nr_arena_item_invoke_render (item=0x86c9d20,
area=0xbfcd35fc, pb=0xbfcd3800, flags=<value optimized out>) at
display/nr-arena-item.cpp:552
#9 0x0828dee3 in nr_arena_group_render (item=0x86c9e00, area=0xbfcd35fc,
pb=0xbfcd3800, flags=0) at display/nr-arena-group.cpp:246
#10 0x0828cdbc in nr_arena_item_invoke_render (item=0x86c9e00,
area=0xbfcd375c, pb=0xbfcd3800, flags=<value optimized out>) at
display/nr-arena-item.cpp:552
#11 0x0828dee3 in nr_arena_group_render (item=0x86c9ee0, area=0xbfcd375c,
pb=0xbfcd3800, flags=0) at display/nr-arena-group.cpp:246
#12 0x0828cdbc in nr_arena_item_invoke_render (item=0x86c9ee0,
area=0xbfcd382c, pb=0xbfcd3800, flags=<value optimized out>) at
display/nr-arena-item.cpp:552
#13 0x08296edc in sp_canvas_arena_render (item=0x89fa838, buf=0xbfcd390c)
at display/canvas-arena.cpp:272
#14 0x082a73f0 in sp_canvas_group_render (item=0x8618b60, buf=0xbfcd390c)
at display/sp-canvas.cpp:807
#15 0x082a73f0 in sp_canvas_group_render (item=0x8618ad0, buf=0xbfcd390c)
at display/sp-canvas.cpp:807
#16 0x082a5ae1 in sp_canvas_paint_rect_internal (canvas=0x861e120,
rect=<value optimized out>, x_aborted_limit=0x0, y_aborted_limit=0x0) at
display/sp-canvas.cpp:1543
#17 0x082a5e0d in sp_canvas_paint_rect (canvas=0x861e120, xx0=896,
yy0=-2774, xx1=1216, yy1=-2304) at display/sp-canvas.cpp:1823
#18 0x082a5676 in do_update (canvas=0x861e120) at
display/sp-canvas.cpp:1999
#19 0x082a66ce in idle_handler (data=0x861e120) at
display/sp-canvas.cpp:2043
#20 0xb73d0aa1 in g_source_is_destroyed () from /usr/lib/libglib-2.0.so.0
#21 0xb73d2802 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#22 0xb73d57df in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#23 0xb73d5b89 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#24 0xb798c574 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#25 0xb7e5c7c7 in Gtk::Main::run_impl () from /usr/lib/libgtkmm-2.4.so.1
#26 0xb7e5c7b9 in Gtk::Main::run_impl () from /usr/lib/libgtkmm-2.4.so.1
#27 0xb7fb88ac in ?? () from /usr/lib/libgtkmm-2.4.so.1
#28 0xbfcd3c58 in ?? ()
#29 0xb7e5c5b2 in Gtk::Main::run () from /usr/lib/libgtkmm-2.4.so.1
#30 0xbfcd3c7c in ?? ()
#31 0x00000001 in ?? ()
#32 0x080771f7 in sp_main_gui (argc=2, argv=0xbfcd3db4) at main.cpp:656
#33 0x08172c23 in Inkscape::NSApplication::Application::run
(this=0xbfcd3cf4) at application/application.cpp:117
#34 0x080776cd in main (argc=2, argv=0xbfcd3db4) at main.cpp:491

Tags: crash
Revision history for this message
ScislaC (scislac) wrote :
Revision history for this message
Buliabyak-users (buliabyak-users) wrote :

Originator: NO

judging by backtrace, it's in the livarot RasterFont code which will be
purged when we move over to cairo, so this is unlikely to be addressed
until then

Revision history for this message
Bug Importer (bug-importer) wrote :

i was the original reporter, it seemed that dlen==0 and thus was looping
forever, but i'm not sure if i was using gdb correctly

Revision history for this message
Bryce Harrington (bryce) wrote :

Confirmed on Ubuntu Linux as still occurring

Changed in inkscape:
status: New → Confirmed
tags: added: crash
Revision history for this message
ScislaC (scislac) wrote :

Can no longer reproduce in trunk, presumably due to the switch to cairo (per comment #1).

Changed in inkscape:
status: Confirmed → Fix Committed
assignee: nobody → Krzysztof Kosinski (tweenk)
milestone: none → 0.49
Bryce Harrington (bryce)
Changed in inkscape:
status: Fix Committed → Fix Released
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.