Re: bug report, sorry: 100% CPU with text, Ctrl-C, Ctrl-V
switching to the more appropriate list
Self-built on PPC. Start up clean. Click text, click canvas, type a few keys, then type Ctrl-C, Ctrl-V: voila 100% CPU. 0.41 on an oldish G3 iMac with a heavily upgraded Suse-PPC 6.x, gcc-3.4.1, kernel 2.2.18pre24, configure was --disable-static --without-inkjar
Note: do NOT click selection.
Can someone reproduce it on x86? Here is the gdb backtrace, the longest I've ever seen.
Program received signal SIGINT, Interrupt. 0x0ed55b60 in __mempcpy (dstpp=0x1172b6e8, srcpp=0x11742c28, len=0) at ../sysdeps/generic/mempcpy.c:66 66 ../sysdeps/generic/mempcpy.c: No such file or directory. in ../sysdeps/generic/mempcpy.c #0 0x0ed55b60 in __mempcpy (dstpp=0x1172b6e8, srcpp=0x11742c28, len=0) at ../sysdeps/generic/mempcpy.c:66 #1 0x0ed1cb80 in msort_with_tmp (b=0x11742b48, n=36, s=32, cmp=0x102240f4 <CmpCtrl(void const*, void const*)>, t=0x1172b608 "") at msort.c:74 #2 0x0ed1cab8 in msort_with_tmp (b=0x11742b48, n=73, s=32, cmp=0x102240f4 <CmpCtrl(void const*, void const*)>, t=0x1172b608 "") at msort.c:49 #3 0x0ed1cad0 in msort_with_tmp (b=0x11742228, n=146, s=32, cmp=0x102240f4 <CmpCtrl(void const*, void const*)>, t=0x1172b608 "") at msort.c:50 #4 0x0ed1cad0 in msort_with_tmp (b=0x11741008, n=291, s=32, cmp=0x102240f4 <CmpCtrl(void const*, void const*)>, t=0x1172b608 "") at msort.c:50 #5 0x0ed1cab8 in msort_with_tmp (b=0x11741008, n=582, s=32, cmp=0x102240f4 <CmpCtrl(void const*, void const*)>, t=0x1172b608 "") at msort.c:49 #6 0x0ed1ccec in qsort (b=0x11741008, n=582, s=32, cmp=0x102240f4 <CmpCtrl(void const*, void const*)>) at msort.c:118 #7 0x102241f4 in text_holder::SortCtrl (this=0x113ace88) at libnrtype/FlowBoxes.cpp:341 #8 0x102254d0 in text_holder::ComputeBoxes (this=0x113ace88) at libnrtype/FlowBoxes.cpp:655 #9 0x102185f0 in flow_src::Prepare (this=0x113b5c98) at libnrtype/FlowSrc.cpp:119 #10 0x100dd2e0 in SPText::UpdateFlowSource (this=0x11361438) at sp-text.cpp:1433 #11 0x100ddf68 in sp_text_update (object=0x11361438, ctx=0x7fffd6c0, flags=11) at sp-text.cpp:501 #12 0x100c3b70 in SPObject::updateDisplay (this=0x11361438, ctx=0x7fffd6c0, flags=11) at sp-object.cpp:1019 #13 0x100b44f8 in sp_group_update (object=0x11361490, ctx=0x7fffd810, flags=0) at sp-item-group.cpp:240 #14 0x100c3b70 in SPObject::updateDisplay (this=0x10445438, ctx=0x7fffd810, flags=2) at sp-object.cpp:1019 #15 0x100b44f8 in sp_group_update (object=0x10445490, ctx=0x7fffd940, flags=0) at sp-item-group.cpp:240 #16 0x100d1a80 in sp_root_update (object=0x103f6cd0, ctx=0x7fffd948, flags=2) at sp-root.cpp:559 #17 0x100c3b70 in SPObject::updateDisplay (this=0x103f6cd0, ctx=0x7fffdb60, flags=2) at sp-object.cpp:1019 #18 0x100846ec in sp_document_ensure_up_to_date (doc=0x103bbc08) at document.cpp:638 #19 0x1010ed88 in sp_document_maybe_done (doc=0x103bbc08, key=0x0) at document-undo.cpp:98 #20 0x100f1f90 in sptc_commit (imc=0x1172b6e8, string=0x113b1de8 "e", tc=0x1135c750) at text-context.cpp:853 #21 0x0f156db8 in g_cclosure_marshal_VOID__STRING (closure=0x11350700, return_value=0x11742c28, n_param_values=0, param_values=0x7fffddc0, invocation_hint=0x1172b608, marshal_data=0x0) at gmarshal.c:496 #22 0x0f13cff0 in g_closure_invoke (closure=0x113555a0, return_value=0x10350000, n_param_values=0, param_values=0x7fffddc0, invocation_hint=0x7fffdcf8) at gclosure.c:437 #23 0x0f154400 in signal_emit_unlocked_R (node=0x0, detail=0, instance=0x0, emission_return=0x113ace88, instance_and_params=0x7fffddc0) at gsignal.c:2485 #24 0x0f155994 in g_signal_emit_valist (instance=0x0, signal_id=2147474880, detail=2147474680, var_args=0x11350700) at gsignal.c:2244 #25 0x0f155be4 in g_signal_emit_by_name (instance=0x11350700, detailed_signal=0x7fffddc0 "\020;\2138") at gsignal.c:2312 #26 0x0f80fec8 in gtk_im_multicontext_commit_cb (slave=0x1172b6e8, str=0xed1cb80 "|\177\033x\177{Ã\024;½ÿÿH", multicontext=0x0) at gtkimmulticontext.c:454 #27 0x0f156db8 in g_cclosure_marshal_VOID__STRING (closure=0x11350700, return_value=0x11742c28, n_param_values=0, param_values=0x7fffddc0, invocation_hint=0x1172b608, marshal_data=0x0) at gmarshal.c:496 #28 0x0f13cff0 in g_closure_invoke (closure=0x113555a0, return_value=0x10350000, n_param_values=0, param_values=0x7fffddc0, invocation_hint=0x7fffdcf8) at gclosure.c:437 #29 0x0f154400 in signal_emit_unlocked_R (node=0x0, detail=0, instance=0x0, emission_return=0x113ace88, instance_and_params=0x7fffddc0) at gsignal.c:2485 #30 0x0f155994 in g_signal_emit_valist (instance=0x0, signal_id=2147474880, detail=2147474680, var_args=0x11350700) at gsignal.c:2244 #31 0x0f155be4 in g_signal_emit_by_name (instance=0x11350700, detailed_signal=0x7fffddc0 "\020;\2138") at gsignal.c:2312 #32 0x0f80dcec in gtk_im_context_simple_commit_char (context=0x7fffddc0, ch=288687872) at gtkimcontextsimple.c:1038 #33 0x0f80e3ec in gtk_im_context_simple_filter_keypress (context=0x0, event=0x0) at gtkimcontextsimple.c:1234 #34 0x0f80d108 in gtk_im_context_filter_keypress (context=0x7fffddc0, key=0x11350700) at gtkimcontext.c:317 #35 0x0f80faa8 in gtk_im_multicontext_filter_keypress (context=0x1172b6e8, event=0x11350700) at gtkimmulticontext.c:316 #36 0x0f80d108 in gtk_im_context_filter_keypress (context=0x113555a0, key=0x11337f58) at gtkimcontext.c:317 #37 0x100f123c in sp_text_context_root_handler (ec=0x113555a0, event=0x113555a0) at text-context.cpp:404 #38 0x10113dd4 in sp_event_context_root_handler (event_context=0x1135c750, event=0x11337f58) at event-context.cpp:687 #39 0x10102f10 in sp_desktop_root_handler (item=0x1172b6e8, event=0x11742c28, desktop=0x0) at desktop-events.cpp:56 #40 0x1020abc4 in sp_marshal_BOOLEAN__POINTER (closure=0xf5ecae0, return_value=0x7fffe9f0, n_param_values=0, param_values=0x10383fc0, invocation_hint=0x1172b608, marshal_data=0x0) at helper/sp-marshal.cpp:350 #41 0x0f13cff0 in g_closure_invoke (closure=0x108a2db8, return_value=0x7fffe9f0, n_param_values=0, param_values=0x7fffddc0, invocation_hint=0x7fffdcf8) at gclosure.c:437 #42 0x0f154400 in signal_emit_unlocked_R (node=0x0, detail=0, instance=0x0, emission_return=0x113ace88, instance_and_params=0x7fffddc0) at gsignal.c:2485 #43 0x0f15568c in g_signal_emit_valist (instance=0x1020ab14, signal_id=2147477336, detail=2147474680, var_args=0xffffffff) at gsignal.c:2254 #44 0x0f885adc in gtk_signal_emit (object=0x7fffe758, signal_id=4294967295) at gtksignal.c:360 #45 0x102046b8 in emit_event (canvas=0x7fffe758, event=0xf1889fc) at display/sp-canvas.cpp:1166 #46 0x0f830784 in _gtk_marshal_BOOLEAN__BOXED (closure=0xffffffff, return_value=0x7fffe9f0, n_param_values=0, param_values=0x7fffed00, invocation_hint=0x1172b608, marshal_data=0x108a2db8) at gtkmarshalers.c:83 #47 0x0f13d3b4 in g_type_class_meta_marshal (closure=0x7fffed00, return_value=0xffffffff, n_param_values=270576404, param_values=0x0, invocation_hint=0x7fffe9f0, marshal_data=0x108a2db8) at gclosure.c:514 #48 0x0f13cff0 in g_closure_invoke (closure=0x103b3ba8, return_value=0x7fffec50, n_param_values=2, param_values=0x7fffddc0, invocation_hint=0x7fffdcf8) at gclosure.c:437 #49 0x0f1546bc in signal_emit_unlocked_R (node=0x0, detail=0, instance=0x0, emission_return=0x113ace88, instance_and_params=0x7fffddc0) at gsignal.c:2523 #50 0x0f15568c in g_signal_emit_valist (instance=0xf13d338, signal_id=2147478584, detail=2147474680, var_args=0x0) at gsignal.c:2254 #51 0x0f155d6c in g_signal_emit (instance=0x1172b6e8, signal_id=292826152, detail=0) at gsignal.c:2288 #52 0x0f93e4a8 in gtk_widget_event_internal (widget=0x103b3ba8, event=0x0) at gtkwidget.c:3616 #53 0x0f94fad0 in gtk_window_propagate_key_event (window=0x103b3ba8, event=0xf13d338) at gtkwindow.c:4424 #54 0x0f954f6c in gtk_window_key_press_event (widget=0x0, event=0x7fffec38) at gtkwindow.c:4454 #55 0x0f830784 in _gtk_marshal_BOOLEAN__BOXED (closure=0x0, return_value=0x7fffec50, n_param_values=0, param_values=0x7fffec38, invocation_hint=0x1172b608, marshal_data=0x103b3ba8) at gtkmarshalers.c:83 #56 0x0f13d3b4 in g_type_class_meta_marshal (closure=0x7fffec38, return_value=0x0, n_param_values=252957496, param_values=0x2, invocation_hint=0x7fffec50, marshal_data=0x103b3ba8) at gclosure.c:514 #57 0x0f13cff0 in g_closure_invoke (closure=0x103b3ba8, return_value=0x7ffff120, n_param_values=2, param_values=0x7fffddc0, invocation_hint=0x7fffdcf8) at gclosure.c:437 #58 0x0f1546bc in signal_emit_unlocked_R (node=0x0, detail=0, instance=0x0, emission_return=0x113ace88, instance_and_params=0x7fffddc0) at gsignal.c:2523 #59 0x0f15568c in g_signal_emit_valist (instance=0xf13d338, signal_id=2147479816, detail=2147474680, var_args=0xffffffff) at gsignal.c:2254 #60 0x0f155d6c in g_signal_emit (instance=0x1172b6e8, signal_id=292826152, detail=0) at gsignal.c:2288 #61 0x0f93e4a8 in gtk_widget_event_internal (widget=0x103b3ba8, event=0xffffffff) at gtkwidget.c:3616 #62 0x0f82e554 in gtk_propagate_event (widget=0x7ffff108, event=0xf13d338) at gtkmain.c:2119 #63 0x0f82e884 in gtk_main_do_event (event=0x103b3ba8) at gtkmain.c:1383 #64 0x0f5a2350 in gdk_event_dispatch (source=0x1172b6e8, callback=0x11742c28, user_data=0x0) at gdkevents-x11.c:2218 #65 0x0f061bf0 in g_main_context_dispatch (context=0x103b3ba8) at gmain.c:1947 #66 0x0f063d10 in g_main_context_iterate (context=0xffffffff, block=2147474680, dispatch=0, self=0x102240f4) at gmain.c:2578 #67 0x0f064130 in g_main_loop_run (loop=0x7ffff108) at gmain.c:2782 #68 0x0f82d7c0 in gtk_main () at gtkmain.c:963 #69 0x0fcacc18 in Gtk::Main::run_impl (this=0x1172b6e8) at main.cc:470 #70 0x0fcac9fc in Gtk::Main::run () at main.cc:417 #71 0x10082d24 in sp_main_gui (argc=2147471328, argv=0xed1cb80) at main.cpp:378 #72 0x1008300c in main (argc=1, argv=0x7ffff7a4) at main.cpp:305 The program is running. Exit anyway? (y or n)
ralf
#7 0x102241f4 in text_holder::SortCtrl (this=0x113ace88) at libnrtype/FlowBoxes.cpp:341 #8 0x102254d0 in text_holder::ComputeBoxes (this=0x113ace88) at libnrtype/FlowBoxes.cpp:655 #9 0x102185f0 in flow_src::Prepare (this=0x113b5c98) at libnrtype/FlowSrc.cpp:119 #10 0x100dd2e0 in SPText::UpdateFlowSource (this=0x11361438) at sp-text.cpp:1433
These functions are no longer being used, and all will be removed eventually. For what it's worth, this looks a lot like what happened when there was a tspan role=line with no children, something that the old code went to a lot of care (but clearly not enough) to avoid.
Richard.
participants (2)
-
Ralf Stephan
-
Richard Hughes