[Libreoffice-bugs] [Bug 131985] New: CPU / Memory burn ...
bugzilla-daemon at bugs.documentfoundation.org
bugzilla-daemon at bugs.documentfoundation.org
Wed Apr 8 13:20:19 UTC 2020
https://bugs.documentfoundation.org/show_bug.cgi?id=131985
Bug ID: 131985
Summary: CPU / Memory burn ...
Product: LibreOffice Online
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: critical
Priority: medium
Component: LibreOffice
Assignee: libreoffice-bugs at lists.freedesktop.org
Reporter: michael.meeks at collabora.com
Sometimes we have documents that burn lots of CPU & Memory; interestingly their
main-loops are still running:
5456 clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=80195,
tv_nsec=502097667}) = 0
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSans-Bold.ttf",
R_OK) = 0
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSans-Regular.ttf",
R_OK) = 0
5456 access("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", R_OK) = 0
5456 access("/opt/collaboraoffice6.2/share/fonts/truetype/DejaVuSans.ttf",
R_OK) = 0
5456 access("/opt/collaboraoffice6.2/share/fonts/truetype/opens___.ttf", R_OK)
= 0
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSans-Bold.ttf",
R_OK) = 0
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSans-Regular.ttf",
R_OK) = 0
5456 access("/opt/collaboraoffice6.2/share/fonts/truetype/opens___.ttf", R_OK)
= 0
5456 access("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", R_OK) = 0
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSerif-Bold.ttf",
R_OK) = 0
5456 access("/opt/collaboraoffice6.2/share/fonts/truetype/DejaVuSans.ttf",
R_OK) = 0
5456 access("/opt/collaboraoffice6.2/share/fonts/truetype/opens___.ttf", R_OK)
= 0
+ did something here [!] ...
5456 write(14, "w", 1) = -1 EAGAIN (Ressource temporairement
non disponible)
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSans-Bold.ttf",
R_OK) = 0
5456 clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=80195,
tv_nsec=648905941}) = 0
5456 write(14, "w", 1) = -1 EAGAIN (Ressource temporairement
non disponible)
5456 clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=80196,
tv_nsec=300254527}) = 0
+ 761 of these ... (happens each time)
5456 clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=80197, tv_nsec=38938770})
= 0
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSans-Bold.ttf",
R_OK) = 0
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSans-Regular.ttf",
R_OK) = 0
5456 access("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", R_OK) = 0
5456 access("/opt/collaboraoffice6.2/share/fonts/truetype/DejaVuSans.ttf",
R_OK) = 0
5456 access("/opt/collaboraoffice6.2/share/fonts/truetype/opens___.ttf", R_OK)
= 0
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSans-Bold.ttf",
R_OK) = 0
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSans-Regular.ttf",
R_OK) = 0
5456 access("/opt/collaboraoffice6.2/share/fonts/truetype/opens___.ttf", R_OK)
= 0
5456 access("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", R_OK) = 0
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSerif-Bold.ttf",
R_OK) = 0
5456 access("/opt/collaboraoffice6.2/share/fonts/truetype/DejaVuSans.ttf",
R_OK) = 0
5456 access("/opt/collaboraoffice6.2/share/fonts/truetype/opens___.ttf", R_OK)
= 0
5456 write(14, "w", 1) = -1 EAGAIN (Ressource temporairement
non disponible)
5456
access("/opt/collaboraoffice6.2/share/fonts/truetype/LiberationSans-Bold.ttf",
R_OK) = 0
5456 clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=80197,
tv_nsec=186801155}) = 0
5456 write(14, "w", 1) = -1 EAGAIN (Ressource temporairement
non disponible)
5456 clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=80197,
tv_nsec=852122768}) = 0
and some repeat of this. The wakeup pipe is full, so it is clear that we never
get to the poll.
We are clearly getting stuck here:
bool SvpSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents)
{
// first, process current user events
bool bEvent = DispatchUserEvents(bHandleAllCurrentEvents);
if (!bHandleAllCurrentEvents && bEvent)
** Either we bail out here - and never get the poll
return true;
bEvent = CheckTimeout() || bEvent;
** Or we have a very short timeout that we always take - setting bEvent to true
SvpSalYieldMutex *const
pMutex(static_cast<SvpSalYieldMutex*>(GetYieldMutex()));
if (IsMainThread())
{
if (bWait && ! bEvent)
{
... call back to the kit poll() ...
** Or we are in a 'Yield' loop where bWait is always false - so we never get
More details on that much appreciated =)
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20200408/e09bc7ca/attachment-0001.htm>
More information about the Libreoffice-bugs
mailing list