https://bugs.documentfoundation.org/show_bug.cgi?id=136512

            Bug ID: 136512
           Summary: Infinite event loop in vcl/unx/gtk3/gtk3gtkdata.cxx
           Product: LibreOffice
           Version: 7.1.0.0.alpha0+ Master
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: UI
          Assignee: libreoffice-bugs@lists.freedesktop.org
          Reporter: mbox....@posteo.org

Hi,

I am running Linux Mint Mate 18.3 with gtk-3.18.9 installed and I am dealing
since LO 6.4 with the issue described below. Unfortunately none of the new
releases fixed it, so ...

1) I downloaded, compiled and installed gcc-7.5.0.tar.xz and gperf-3.1.tar.gz

2) I downloaded and compiled the source code of LO 7.0.1.2 (along with a large
number of extra packages downloaded by LO) with this configuration

% ./autogen.sh CC=gcc-7.5 CPP=cpp-7.5 CXX=g++-7.5 --without-java
--without-doxygen --disable-gstreamer-1-0 --enable-debug
% make

After starting "instdir/program/soffice.bin" the Help menu reports:

   Version: 7.0.1.2
   Build ID: 
   CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3
   Locale: en-US (en_US.UTF-8); UI: en-US
   Calc: threaded

The overall issue is, that after launching soffice.bin and without any user
action afterwards one CPU is driven to 100% load by soffice.bin. This state is
only terminated, when I exit soffice.bin, and it is interrupted when I click on
the "Recent Files" pop-down menu.

Unfortunately, I am not very experienced with debugging such a complex program.
However, by playing around with ddd/gdb I was able to reproduce the issue (that
I had found after installing corresponding DEB packages) and track down the
origin of this high cpu load to an "infinite event loop" related to the code in
"vcl/unx/gtk3/gtk3gtkdata.cxx".

I was able to monitor this loop by adding a simple counter to the following
procedures

   GtkSalData::Yield
   gboolean call_userEventFn
   GtkSalData::TriggerUserEventProcessing
   GtkSalData::TriggerAllUserEventsProcessed
   GtkSalDisplay::TriggerUserEventProcessing
   GtkSalDisplay::TriggerAllUserEventsProcessed

and printing its value to the terminal. This is the result of 30s running
soffice.bin before pressing Ctrl+Q with a counter added to the procedure
call_userEventFn:

...
call_userEventFn: 1485
call_userEventFn: 1486
call_userEventFn: 1487
call_userEventFn: 1488
call_userEventFn: 1489
call_userEventFn: 1490
call_userEventFn: 1491
call_userEventFn: 1492
call_userEventFn: 1493
call_userEventFn: 1494
call_userEventFn: 1495
call_userEventFn: 1496
call_userEventFn: 1497
call_userEventFn: 1498
call_userEventFn: 1499
call_userEventFn: 1500
call_userEventFn: 1501
call_userEventFn: 1502
call_userEventFn: 1503
call_userEventFn: 1504
call_userEventFn: 1505
call_userEventFn: 1506
call_userEventFn: 1507
call_userEventFn: 1508
call_userEventFn: 1509
call_userEventFn: 1510
call_userEventFn: 1511
call_userEventFn: 1512
call_userEventFn: 1513
warn:vcl:15078:15078:vcl/source/window/winproc.cxx:849: ImplHandleKey:
Keyboard-Input is sent to a frame without focus
call_userEventFn: 1514
call_userEventFn: 1515
call_userEventFn: 1516
call_userEventFn: 1517
call_userEventFn: 1518
call_userEventFn: 1519
call_userEventFn: 1520
call_userEventFn: 1521
warn:vcl.schedule.deinit:15078:15078:vcl/source/app/scheduler.cxx:175: DeInit
task: Timer a: 1 p: 1 framework::AutoRecovery m_aTimer 600000ms (0x35e1cb8)
warn:vcl.schedule.deinit:15078:15078:vcl/source/app/scheduler.cxx:196: DeInit
active tasks: 1 (ignored: 0)

I understand that this issue is not easy to be reproduced and fixed. So, if I
can help by running some tests, please let me know.

Thanks
Tom

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to