Created attachment 136375 [details] affected document The attached .doc document (compressed to avoid search engines content indexing), triggers Libreoffice high CPU usage, making very very slow the scrolling between pages. Operating system: Fedora 26 Version: 5.3.6.1 Build ID: 5.3.6.1-5.fc26 Thread CPU: 4; Versione SO: Linux 4.12; Interface: default; VCL: gtk3; layout engine: new; local version: it-IT (it_IT.UTF-8); Calc: group I attach gdb backtrace while Libreoffice was using a lot of CPU resources $ gdb soffice.bin 8055 GNU gdb (GDB) Fedora 8.0.1-26.fc26 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... soffice.bin: No such file or directory. Attaching to process 8055 [New LWP 8057] [New LWP 8067] [New LWP 8068] [New LWP 8069] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". 0x00007f68a01f6ad3 in BitmapReadAccess::SetPixelForN32BitTcBgra(unsigned char*, long, BitmapColor const&, ColorMask const&) () from /usr/lib64/libreoffice/program/libvcllo.so (gdb) thread apply all backtrace Thread 5 (Thread 0x7f6879dc0700 (LWP 8069)): #0 0x00007f68a7b06acd in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f68a6188569 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f68680010c0, timeout=<optimized out>, context=0x5615fb84d000) at gmain.c:4271 #2 0x00007f68a6188569 in g_main_context_iterate (context=0x5615fb84d000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3967 #3 0x00007f68a6188902 in g_main_loop_run (loop=0x5615fb853870) at gmain.c:4168 #4 0x00007f689fb46cb6 in gdbus_shared_thread_func (user_data=0x5615fb857700) at gdbusprivate.c:252 #5 0x00007f68a61af536 in g_thread_proxy (data=0x5615fb7f8f70) at gthread.c:784 #6 0x00007f68a77ea36d in start_thread (arg=0x7f6879dc0700) at pthread_create.c:456 #7 0x00007f68a7b12bbf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 Thread 4 (Thread 0x7f687a5c1700 (LWP 8068)): #0 0x00007f68a7b06acd in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f68a6188569 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f68700008e0, timeout=<optimized out>, context=0x5615fb847980) at gmain.c:4271 #2 0x00007f68a6188569 in g_main_context_iterate (context=context@entry=0x5615fb847980, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3967 #3 0x00007f68a618867c in g_main_context_iteration (context=0x5615fb847980, may_block=may_block@entry=1) at gmain.c:4033 #4 0x00007f68a61886c1 in glib_worker_main (data=<optimized out>) at gmain.c:5824 #5 0x00007f68a61af536 in g_thread_proxy (data=0x5615fb7f8ed0) at gthread.c:784 #6 0x00007f68a77ea36d in start_thread (arg=0x7f687a5c1700) at pthread_create.c:456 #7 0x00007f68a7b12bbf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 ---Type <return> to continue, or q <return> to quit--- Thread 3 (Thread 0x7f6880a0e700 (LWP 8067)): #0 0x00007f68a7b137cd in accept () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f68a80b4f50 in osl_acceptPipe () at /usr/lib64/libreoffice/program/libuno_sal.so.3 #2 0x00007f68a7e1f312 in desktop::PipeIpcThread::execute() () at /usr/lib64/libreoffice/program/libsofficeapp.so #3 0x00007f68a3e89966 in salhelper::Thread::run() () at /usr/lib64/libreoffice/program/libuno_salhelpergcc3.so.3 #4 0x00007f68a3e89b4a in threadFunc () at /usr/lib64/libreoffice/program/libuno_salhelpergcc3.so.3 #5 0x00007f68a80ba6c9 in osl_thread_start_Impl(void*) () at /usr/lib64/libreoffice/program/libuno_sal.so.3 #6 0x00007f68a77ea36d in start_thread (arg=0x7f6880a0e700) at pthread_create.c:456 #7 0x00007f68a7b12bbf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 Thread 2 (Thread 0x7f688d63e700 (LWP 8057)): #0 0x00007f68a77f0eb6 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f688d63db30, expected=0, futex_word=0x7f68a82d42f0 <g_cache_list+656>) at ../sysdeps/unix/sysv/linux/futex-internal.h:205 #1 0x00007f68a77f0eb6 in __pthread_cond_wait_common (abstime=0x7f688d63db30, mutex=0x7f68a82d4060 <g_cache_list>, cond=0x7f68a82d42c8 <g_cache_list+616>) at pthread_cond_wait.c:539 #2 0x00007f68a77f0eb6 in __pthread_cond_timedwait (cond=0x7f68a82d42c8 <g_cache_list+616>, mutex=0x7f68a82d4060 <g_cache_list>, abstime=0x7f688d63db30) at pthread_cond_wait.c:667 #3 0x00007f68a809576d in rtl_cache_wsupdate_all(void*) () at /usr/lib64/libreoffice/program/libuno_sal.so.3 #4 0x00007f68a77ea36d in start_thread (arg=0x7f688d63e700) at pthread_create.c:456 #5 0x00007f68a7b12bbf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 Thread 1 (Thread 0x7f68a83dfac0 (LWP 8055)): ---Type <return> to continue, or q <return> to quit--- #0 0x00007f68a01f6ad3 in BitmapReadAccess::SetPixelForN32BitTcBgra(unsigned char*, long, BitmapColor const&, ColorMask const&) () at /usr/lib64/libreoffice/program/libvcllo.so #1 0x00007f6847034b45 in cairocanvas::CanvasBitmap::getFastPropertyValue(int) () at /usr/lib64/libreoffice/program/../program/libcairocanvaslo.so #2 0x00007f68a01f2fb2 in BitmapEx::Create(com::sun::star::uno::Reference<com::sun::star::rendering::XBitmapCanvas> const&, Size const&) () at /usr/lib64/libreoffice/program/libvcllo.so #3 0x00007f68a0216743 in GDIMetaFile::ImplPlayWithRenderer(OutputDevice*, Point const&, Size) () at /usr/lib64/libreoffice/program/libvcllo.so #4 0x00007f68a02170af in GDIMetaFile::Play(OutputDevice*, Point const&, Size const&) () at /usr/lib64/libreoffice/program/libvcllo.so #5 0x00007f68a022a5f7 in ImpGraphic::ImplDraw(OutputDevice*, Point const&, Size const&) const () at /usr/lib64/libreoffice/program/libvcllo.so #6 0x00007f68a022ddc7 in ImpGraphic::ImplGetBitmap(GraphicConversionParameters const&) const () at /usr/lib64/libreoffice/program/libvcllo.so #7 0x00007f68a022e25d in ImpGraphic::ImplGetBitmapEx(GraphicConversionParameters const&) const () at /usr/lib64/libreoffice/program/libvcllo.so #8 0x00007f68a0224a81 in Graphic::GetBitmapEx(GraphicConversionParameters const&) const () at /usr/lib64/libreoffice/program/libvcllo.so #9 0x00007f6894a6a2fd in cppcanvas::internal::ImplRenderer::processEMFPlus(MetaCommentAction*, cppcanvas::internal::ActionFactoryParameters const&, cppcanvas::internal::OutDevState&, std::shared_ptr<cppcanvas::Canvas> const&) () at /usr/lib64/libreoffice/program/libcppcanvaslo.so #10 0x00007f6894a76bdd in cppcanvas::internal::ImplRenderer::createActions(GDIMetaFile&, cppcanvas::internal::ActionFactoryParameters const&, bool) () at /usr/lib64/libreoffice/program/libcppcanvaslo.so #11 0x00007f6894a7a383 in cppcanvas::internal::ImplRenderer::ImplRenderer(std::shared_ptr<cppcanvas::Canvas> const&, GDIMetaFile const&, cppcanvas::Renderer::Parameters const&) () at /usr/lib64/libreoffice/program/libcppcanvaslo.so #12 0x00007f6894a924a2 in cppcanvas::VCLFactory::createRenderer(std::shared_ptr<cppcanvas::Canvas> const&, GDIMetaFile const&, cppcanvas::Renderer::Parameters const&) () at /usr/lib64/libreoffice/program/libcppcanvaslo.so #13 0x00007f6846df5869 in MtfRenderer::draw(double, double) () at /usr/lib64/libreoffice/program/../program/libmtfrendererlo.so #14 0x00007f68a021671f in GDIMetaFile::ImplPlayWithRenderer(OutputDevice*, Point const&, Size) () at /usr/lib64/libreoffice/program/libvcllo.so #15 0x00007f68a02170af in GDIMetaFile::Play(OutputDevice*, Point const&, Size const&) () at /usr/lib64/libreoffice/program/libvcllo.so #16 0x00007f689ae35ef6 in drawinglayer::processor2d::VclProcessor2D::RenderMetafilePrimitive2D(drawinglayer::primitive2d::MetafilePrimitive2D const&) () ---Type <return> to continue, or q <return> to quit--- at /usr/lib64/libreoffice/program/libdrawinglayerlo.so #17 0x00007f689ae33d2a in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) () at /usr/lib64/libreoffice/program/libdrawinglayerlo.so #18 0x00007f689ae246ef in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) () at /usr/lib64/libreoffice/program/libdrawinglayerlo.so #19 0x00007f689ae24a9f in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) () at /usr/lib64/libreoffice/program/libdrawinglayerlo.so #20 0x00007f689ae33abb in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) () at /usr/lib64/libreoffice/program/libdrawinglayerlo.so #21 0x00007f689ae246ef in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) () at /usr/lib64/libreoffice/program/libdrawinglayerlo.so #22 0x00007f684b302414 in paintUsingPrimitivesHelper(OutputDevice&, drawinglayer::primitive2d::Primitive2DContainer const&, basegfx::B2DRange const&, basegfx::B2DRange const&) () at /usr/lib64/libreoffice/program/../program/libswlo.so #23 0x00007f684b303147 in paintGraphicUsingPrimitivesHelper(OutputDevice&, GraphicObject const&, GraphicAttr const&, SwRect const&) () at /usr/lib64/libreoffice/program/../program/libswlo.so #24 0x00007f684b30389a in SwNoTextFrame::PaintPicture(OutputDevice*, SwRect const&) const () at /usr/lib64/libreoffice/program/../program/libswlo.so #25 0x00007f684b3049fb in SwNoTextFrame::Paint(OutputDevice&, SwRect const&, SwPrintData const*) const () at /usr/lib64/libreoffice/program/../program/libswlo.so #26 0x00007f684b4ab6d0 in SwLayoutFrame::Paint(OutputDevice&, SwRect const&, SwPrintData const*) const () at /usr/lib64/libreoffice/program/../program/libswlo.so #27 0x00007f684b4acf7f in SwFlyFrame::Paint(OutputDevice&, SwRect const&, SwPrintData const*) const () at /usr/lib64/libreoffice/program/../program/libswlo.so #28 0x00007f684b55675f in SwFlyCntPortion::Paint(SwTextPaintInfo const&) const () at /usr/lib64/libreoffice/program/../program/libswlo.so #29 0x00007f684b54f30c in SwTextPainter::DrawTextLine(SwRect const&, SwSaveClip&, bool) () at /usr/lib64/libreoffice/program/../program/libswlo.so #30 0x00007f684b5312fa in SwTextFrame::Paint(OutputDevice&, SwRect const&, SwPrintData const*) const () at /usr/lib64/libreoffice/program/../program/libswlo.so #31 0x00007f684b4ab6d0 in SwLayoutFrame::Paint(OutputDevice&, SwRect const&, SwPrintData const*) const () at /usr/lib64/libreoffice/program/../program/libswlo.so ---Type <return> to continue, or q <return> to quit--- #32 0x00007f684b4ab6d0 in SwLayoutFrame::Paint(OutputDevice&, SwRect const&, SwPrintData const*) const () at /usr/lib64/libreoffice/program/../program/libswlo.so #33 0x00007f684b4afd80 in SwRootFrame::Paint(OutputDevice&, SwRect const&, SwPrintData const*) const () at /usr/lib64/libreoffice/program/../program/libswlo.so #34 0x00007f684b7c9d24 in SwViewShell::Paint(OutputDevice&, Rectangle const&) () at /usr/lib64/libreoffice/program/../program/libswlo.so #35 0x00007f684b1fd8bd in SwCursorShell::Paint(OutputDevice&, Rectangle const&) () at /usr/lib64/libreoffice/program/../program/libswlo.so #36 0x00007f684b9578bd in SwEditWin::Paint(OutputDevice&, Rectangle const&) () at /usr/lib64/libreoffice/program/../program/libswlo.so #37 0x00007f68a0042bdd in PaintHelper::DoPaint(vcl::Region const*) () at /usr/lib64/libreoffice/program/libvcllo.so #38 0x00007f68a0042fcb in vcl::Window::ImplCallPaint(vcl::Region const*, unsigned short) () at /usr/lib64/libreoffice/program/libvcllo.so #39 0x00007f68a0043744 in vcl::Window::Update() () at /usr/lib64/libreoffice/program/libvcllo.so #40 0x00007f684b7c9027 in SwViewShell::VisPortChgd(SwRect const&) () at /usr/lib64/libreoffice/program/../program/libswlo.so #41 0x00007f684b1fdaa0 in SwCursorShell::VisPortChgd(SwRect const&) () at /usr/lib64/libreoffice/program/../program/libswlo.so #42 0x00007f684ba4a042 in SwView::SetVisArea(Rectangle const&, bool) () at /usr/lib64/libreoffice/program/../program/libswlo.so #43 0x00007f684ba4a5e9 in SwView::SetVisArea(Point const&, bool) () at /usr/lib64/libreoffice/program/../program/libswlo.so #44 0x00007f684ba4b71f in SwView::EndScrollHdl(ScrollBar*) () at /usr/lib64/libreoffice/program/../program/libswlo.so #45 0x00007f684ba4b849 in SwView::ScrollHdl(ScrollBar*) () at /usr/lib64/libreoffice/program/../program/libswlo.so #46 0x00007f68a01328ea in Control::ImplCallEventListenersAndHandler(unsigned long, std::function<void ()> const&) () at /usr/lib64/libreoffice/program/libvcllo.so #47 0x00007f68a0170df2 in ScrollBar::Scroll() () at /usr/lib64/libreoffice/program/libvcllo.so #48 0x00007f68a0170fef in ScrollBar::ImplScroll(long, bool) () at /usr/lib64/libreoffice/program/libvcllo.so #49 0x00007f68a0171468 in ScrollBar::DoScroll(long) () at /usr/lib64/libreoffice/program/libvcllo.so #50 0x00007f68a0102455 in vcl::Window::HandleScrollCommand(CommandEvent const&, ScrollBar*, ScrollBar*) () at /usr/lib64/libreoffice/program/libvcllo.so #51 0x00007f684ba4b39b in SwView::HandleWheelCommands(CommandEvent const&) () at /usr/lib64/libreoffice/program/../program/libswlo.so #52 0x00007f684b94ce86 in SwEditWin::Command(CommandEvent const&) () at /usr/lib64/libreoffice/program/../program/libswlo.so #53 0x00007f68a0119e5f in HandleWheelEvent::CallCommand(vcl::Window*, Point const&) () at /usr/lib64/libreoffice/program/libvcllo.so #54 0x00007f68a0114e3b in HandleGestureEventBase::Dispatch(vcl::Window*) () at /usr/lib64/libreoffice/program/libvcllo.so ---Type <return> to continue, or q <return> to quit--- #55 0x00007f68a01153fa in HandleWheelEvent::HandleEvent(SalWheelMouseEvent const&) () at /usr/lib64/libreoffice/program/libvcllo.so #56 0x00007f68a0115606 in ImplHandleWheelEvent(vcl::Window*, SalWheelMouseEvent const&, bool) () at /usr/lib64/libreoffice/program/libvcllo.so #57 0x00007f68a0118ce1 in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) () at /usr/lib64/libreoffice/program/libvcllo.so #58 0x00007f6885f2f0b9 in GtkSalFrame::CallCallbackExc(SalEvent, void const*) const () at /usr/lib64/libreoffice/program/libvclplug_gtk3lo.so #59 0x00007f6885f34695 in GtkSalFrame::signalScroll(_GtkWidget*, _GdkEvent*, void*) () at /usr/lib64/libreoffice/program/libvclplug_gtk3lo.so #60 0x00007f68857dc1f7 in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x561600c6d690, return_value=0x7ffc399a2690, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x5615fb7e1fe0) at gtkmarshalers.c:128 #61 0x00007f68a6460546 in _g_closure_invoke_va (closure=0x561600c6d690, return_value=0x7ffc399a2690, instance=0x5615fc06df90, args=0x7ffc399a2760, n_params=1, param_types=0x5615fb7e1fe0) at gclosure.c:867 #62 0x00007f68a647ae69 in g_signal_emit_valist (instance=0x5615fc06df90, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffc399a2760) at gsignal.c:3300 #63 0x00007f68a647bb0f in g_signal_emit (instance=instance@entry=0x5615fc06df90, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3447 #64 0x00007f68859269c4 in gtk_widget_event_internal (widget=widget@entry=0x5615fc06df90 [GtkEventBox], event=event@entry=0x561601b31680) at gtkwidget.c:7723 #65 0x00007f6885928b1a in gtk_widget_event (widget=widget@entry=0x5615fc06df90 [GtkEventBox], event=event@entry=0x561601b31680) at gtkwidget.c:7293 #66 0x00007f68857d90ce in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x5615fc06df90 [GtkEventBox]) at gtkmain.c:2578 #67 0x00007f68857d90ce in propagate_event (widget=<optimized out>, event=0x561601b31680, captured=<optimized out>, topmost=0x0) at gtkmain.c:2680 #68 0x00007f68857db1f0 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1911 #69 0x00007f68852ec685 in _gdk_event_emit (event=event@entry=0x561601b31680) at gdkevents.c:73 #70 0x00007f688531db52 in gdk_event_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at gdkeventsource.c:367 #71 0x00007f68a6188247 in g_main_dispatch (context=0x5615fac4cef0) at gmain.c:3234 #72 0x00007f68a6188247 in g_main_context_dispatch (context=context@entry=0x5615fac4cef0) at gmain.c:3899 #73 0x00007f68a61885e8 in g_main_context_iterate (context=context@entry=0x5615fac4cef0, block=block@entry=0, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3972 ---Type <return> to continue, or q <return> to quit--- #74 0x00007f68a618867c in g_main_context_iteration (context=0x5615fac4cef0, may_block=0) at gmain.c:4033 #75 0x00007f6885efb754 in GtkData::Yield(bool, bool) () at /usr/lib64/libreoffice/program/libvclplug_gtk3lo.so #76 0x00007f68a031aead in Application::Yield() () at /usr/lib64/libreoffice/program/libvcllo.so #77 0x00007f68a031cc45 in Application::Execute() () at /usr/lib64/libreoffice/program/libvcllo.so #78 0x00007f68a7df99ee in desktop::Desktop::Main() () at /usr/lib64/libreoffice/program/libsofficeapp.so #79 0x00007f68a03217a6 in ImplSVMain() () at /usr/lib64/libreoffice/program/libvcllo.so #80 0x00007f68a03218b0 in SVMain() () at /usr/lib64/libreoffice/program/libvcllo.so #81 0x00007f68a7e24025 in soffice_main () at /usr/lib64/libreoffice/program/libsofficeapp.so #82 0x00005615f9e3b76b in main ()
I can't reproduce it in Version: 6.0.0.0.alpha0+ Build ID: e38d2f05cb16e981381434a940aa5c89e910cc78 CPU threads: 4; OS: Linux 4.10; UI render: GL; VCL: gtk3; Locale: ca-ES (ca_ES.UTF-8); Calc: group Could you please try to reproduce it with a master build from http://dev-builds.libreoffice.org/daily/master/ ? You can install it alongside the standard version. I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' if the bug is still present in the master build
(In reply to Xisco Faulí from comment #1) > I can't reproduce it in > > Version: 6.0.0.0.alpha0+ > Build ID: e38d2f05cb16e981381434a940aa5c89e910cc78 > CPU threads: 4; OS: Linux 4.10; UI render: GL; VCL: gtk3; > Locale: ca-ES (ca_ES.UTF-8); Calc: group > > Could you please try to reproduce it with a master build from > http://dev-builds.libreoffice.org/daily/master/ ? > You can install it alongside the standard version. > I have set the bug's status to 'NEEDINFO'. Please change it back to > 'UNCONFIRMED' if the bug is still present in the master build It does not happen in Version: 6.0.0.0.alpha0+ Build ID: bef91f7e5f3121dced360d4b90a09c334f12e56e CPU threads: 4; OS: Linux 4.12; UI render: default; VCL: x11; TinderBox: Linux-rpm_deb-x86_64@70-TDF, Branch:master, Time: 2017-09-19_02:19:07 Locale: it-IT (it_IT.UTF-8); Calc: group
Thanks for testing in master. I guess we can close it as RESOLVED WORKSFORME then