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

lechinski <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
           Assignee|[email protected] |[email protected]
                   |desktop.org                 |

--- Comment #2 from lechinski <[email protected]> ---
Confirming on master (27.2.0.0.alpha0, ec75111a57a2, Linux) and on
26.8.1.1; also seen in production with 25.2.3. Not ODT specific: same
with a DOCX source, converted headless to DOCX and to PDF.

Synthetic DOCX with N distinct 4000x3000 JPEGs, soffice --headless
--convert-to, peak RSS of soffice.bin (VmHWM), master:

  photos   -> docx      -> pdf
  20       1257 MiB     1328 MiB
  50       2414 MiB     2582 MiB
  94       4112 MiB     4332 MiB

Roughly 39 MiB per photo, i.e. every image stays decoded. Setting
GraphicAllowedIdleTime=0 alone changes nothing on master (94 -> docx:
4114 MiB), because nothing triggers a reduction: since 324f2e135427
MemoryManager reduces memory only from maSwapOutTimer, which never fires
without an event loop.

Patch restoring the synchronous reduction in registerObject(), as before
24.8, with a unit test:
https://gerrit.libreoffice.org/c/core/+/213290

With the patch and GraphicAllowedIdleTime=0, 94 photos -> docx peaks at
1213 MiB. With the default of 10 s, a short conversion barely improves,
since few graphics have been idle long enough.

Tomaž: would it make sense to ignore GraphicAllowedIdleTime (or use a
much shorter one) when running headless / without an event loop? I kept
that out of this patch so it's a pure regression fix, but I'm happy to
do it as a follow-up if you agree.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to