When we try to convert certain docx files to PDF using libreoffice in headless mode, the process hangs and it starts consuming a lot of CPU almost 100%
Version: LibreOffice 7.4.1.2 40(Build:2)
Following is the output of strace
of the process:
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---
rt_sigreturn({mask=[]}) = 202
futex(0x55eec1300888, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec130088c, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec1300888, FUTEX_WAIT_PRIVATE, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec130088c, FUTEX_WAIT_PRIVATE, 0, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec1300888, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec13603c0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55eec130088c, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec1300888, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1", 1) = 1
futex(0x55eec130088c, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec1300888, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1", 1) = 1
futex(0x55eec130088c, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
write(6, "\1", 1) = 1
futex(0x55eec1300888, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec130088c, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec1300888, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec130088c, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec1300888, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec130088c, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec1300888, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec130088c, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec1300888, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec130088c, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x55eec1300838, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x55eec14878a0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55eec14878a0, FUTEX_WAKE_PRIVATE, 1) = 1
openat(AT_FDCWD, "/usr/lib/libreoffice/share/config/soffice.cfg/sfx/ui/infobar.ui", O_RDONLY) = 23
fstat(23, {st_mode=S_IFREG|0644, st_size=9035, ...}) = 0
mmap(NULL, 9035, PROT_READ, MAP_SHARED, 23, 0) = 0x7fa8ca40a000
munmap(0x7fa8ca40a000, 9035) = 0
close(23) = 0
openat(AT_FDCWD, "/root/.config/libreoffice/4/cache/colibre/100/vcl/res/infobox.png", O_RDONLY) = -1 ENOENT (No such file or directory)
pread64(22, "s\362,[|\366\231e\179\3632\204<\31\313s\316\342e\360\344\334'\343\2159\22\276\214\221`"..., 4096, 2174976) = 4096
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=1, tv_nsec=765857197}) = 0
openat(AT_FDCWD, "/usr/lib/libreoffice/share/config/soffice.cfg/sfx/ui/extrabutton.ui", O_RDONLY) = 23
fstat(23, {st_mode=S_IFREG|0644, st_size=885, ...}) = 0
mmap(NULL, 885, PROT_READ, MAP_SHARED, 23, 0) = 0x7fa8ca40c000
munmap(0x7fa8ca40c000, 885) = 0
close(23) = 0
brk(0x55eec2512000) = 0x55eec2512000
openat(AT_FDCWD, "/root/.config/libreoffice/4/cache/colibre/100/res/sx03251.png", O_RDONLY) = -1 ENOENT (No such file or directory)
pread64(22, "\244\233\274F{\355+\200\252\37\267\210!q<r\325\f\27\315\317\24]`\331\234oW\352.\352\32"..., 4096, 1757184) = 4096
pread64(22, "\0\0\0\tpHYs\0\0\r\327\0\0\r\327\1B(\233x\0\0\0\31tEXtSof"..., 4096, 1761280) = 4096
stat("/usr/share/dbus-1/interfaces/org.openprinting.Frontend.xml", 0x7ffe7ad5f3b0) = -1 ENOENT (No such file or directory)
clone(child_stack=0x7fa8b17345b0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[291], tls=0x7fa8b1736700, child_tidptr=0x7fa8b17369d0) = 291
futex(0x55eec24dcf50, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55eec24dcf50, FUTEX_WAKE_PRIVATE, 1) = 0
access("/SGENPRT", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/SGENPRT", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libreoffice/share/psprint/driver", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 23
fstat(23, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getdents64(23, /* 3 entries */, 32768) = 80
access("/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", F_OK) = 0
lstat("/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", {st_mode=S_IFREG|0644, st_size=24784, ...}) = 0
getdents64(23, /* 0 entries */, 32768) = 0
close(23) = 0
openat(AT_FDCWD, "/root/.config/libreoffice/4/user/psprint/driver", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory)
access("/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", F_OK) = 0
lstat("/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", {st_mode=S_IFREG|0644, st_size=24784, ...}) = 0
openat(AT_FDCWD, "/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", O_RDONLY) = 23
fstat(23, {st_mode=S_IFREG|0644, st_size=24784, ...}) = 0
pread64(23, "*PPD-Adobe: \"4.0\"\n*%\n*% This fil"..., 4096, 0) = 4096
close(23) = 0
access("/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", F_OK) = 0
lstat("/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", {st_mode=S_IFREG|0644, st_size=24784, ...}) = 0
openat(AT_FDCWD, "/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", O_RDONLY) = 23
fstat(23, {st_mode=S_IFREG|0644, st_size=24784, ...}) = 0
pread64(23, "*PPD-Adobe: \"4.0\"\n*%\n*% This fil"..., 4096, 0) = 4096
brk(0x55eec2533000) = 0x55eec2533000
brk(0x55eec2554000) = 0x55eec2554000
brk(0x55eec2575000) = 0x55eec2575000
pread64(23, "e: \"{ 1 exch sub } bind\"\n\n\n*% =="..., 4096, 4096) = 4096
brk(0x55eec2596000) = 0x55eec2596000
pread64(23, "*PPD-Adobe: \"4.0\"\n*%\n*% This fil"..., 4096, 0) = 4096
pread64(23, "e: \"{ 1 exch sub } bind\"\n\n\n*% =="..., 4096, 4096) = 4096
brk(0x55eec25b7000) = 0x55eec25b7000
brk(0x55eec25d8000) = 0x55eec25d8000
pread64(23, "ze [1684 2384] /ImagingBBox null"..., 4096, 8192) = 4096
pread64(23, "e: \"{ 1 exch sub } bind\"\n\n\n*% =="..., 4096, 4096) = 4096
pread64(23, "ze [1684 2384] /ImagingBBox null"..., 4096, 8192) = 4096
brk(0x55eec25f9000) = 0x55eec25f9000
brk(0x55eec261a000) = 0x55eec261a000
brk(0x55eec263b000) = 0x55eec263b000
pread64(23, "ion B5: \"516 729\"\n*PaperDimensio"..., 4096, 12288) = 4096
brk(0x55eec265c000) = 0x55eec265c000
brk(0x55eec267d000) = 0x55eec267d000
brk(0x55eec269e000) = 0x55eec269e000
pread64(23, "xitserver: permanent state may b"..., 4096, 16384) = 4096
brk(0x55eec26bf000) = 0x55eec26bf000
brk(0x55eec26e0000) = 0x55eec26e0000
brk(0x55eec2701000) = 0x55eec2701000
pread64(23, "cessBlack.60lpi.360dpi/60 lpi / "..., 4096, 20480) = 4096
brk(0x55eec2722000) = 0x55eec2722000
brk(0x55eec2743000) = 0x55eec2743000
pread64(23, "*ColorSepScreenFreq ProcessMagen"..., 4096, 24576) = 208
brk(0x55eec2764000) = 0x55eec2764000
close(23) = 0
openat(AT_FDCWD, "/usr/lib/libreoffice/share/psprint/psprint.conf", O_RDONLY) = 23
fstat(23, {st_mode=S_IFREG|0644, st_size=4043, ...}) = 0
pread64(23, ";\n; This file is part of the Lib"..., 4096, 0) = 4043
access("/usr/lib/libreoffice/share/psprint/psprint.conf", F_OK) = 0
lstat("/usr/lib/libreoffice/share/psprint/psprint.conf", {st_mode=S_IFLNK|0777, st_size=29, ...}) = 0
close(23) = 0
openat(AT_FDCWD, "/root/.config/libreoffice/4/user/psprint/psprint.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libreoffice/share/psprint", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 23
fstat(23, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(23) = 0
access("/usr/lib/libreoffice/share/psprint/psprint.conf", F_OK) = 0
lstat("/usr/lib/libreoffice/share/psprint/psprint.conf", {st_mode=S_IFLNK|0777, st_size=29, ...}) = 0
openat(AT_FDCWD, "/usr/lib/libreoffice/share/psprint/psprint.conf", O_RDONLY) = 23
fstat(23, {st_mode=S_IFREG|0644, st_size=4043, ...}) = 0
pread64(23, ";\n; This file is part of the Lib"..., 4096, 0) = 4043
access("/usr/lib/libreoffice/share/psprint/psprint.conf", F_OK) = 0
lstat("/usr/lib/libreoffice/share/psprint/psprint.conf", {st_mode=S_IFLNK|0777, st_size=29, ...}) = 0
close(23) = 0
access("/SGENPRT", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/SGENPRT", O_RDONLY) = -1 ENOENT (No such file or directory)
access("/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", F_OK) = 0
lstat("/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", {st_mode=S_IFREG|0644, st_size=24784, ...}) = 0
openat(AT_FDCWD, "/usr/lib/libreoffice/share/psprint/driver/SGENPRT.PS", O_RDONLY) = 23
fstat(23, {st_mode=S_IFREG|0644, st_size=24784, ...}) = 0
pread64(23, "*PPD-Adobe: \"4.0\"\n*%\n*% This fil"..., 4096, 0) = 4096
close(23) = 0
openat(AT_FDCWD, "/root/.config/libreoffice/4/user/psprint", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 23
fstat(23, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(23) = 0
access("/root/.config/libreoffice/4/user/psprint/psprint.conf", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/root/.config/libreoffice/4/user/psprint/psprint.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
brk(0x55eec28dd000) = 0x55eec28dd000
access("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", R_OK) = 0
access("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", R_OK) = 0
access("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", R_OK) = 0
openat(AT_FDCWD, "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", O_RDONLY) = 23
fcntl(23, F_SETFD, FD_CLOEXEC) = 0
fstat(23, {st_mode=S_IFREG|0644, st_size=705684, ...}) = 0
mmap(NULL, 705684, PROT_READ, MAP_PRIVATE, 23, 0) = 0x7fa8b03c4000
close(23) = 0
access("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", R_OK) = 0
openat(AT_FDCWD, "/root/.config/libreoffice/4/cache/colibre/100/sw/res/page-shadow-mask.png", O_RDONLY) = -1 ENOENT (No such file or directory)
pread64(22, "m\210\273V\255P%\306m\376\325/O\374\346_\377\21\225)\344\v-!\205\320t\341;[\223\6"..., 4096, 2129920) = 4096
pread64(22, "t.\366\211\261\242nUU\233\315\346t:\245\255\374h4Z.\227\272$2\210\36\214\230\262,\201"..., 4096, 2134016) = 4096
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=1, tv_nsec=881844759}) = 0
openat(AT_FDCWD, "/root/.config/libreoffice/4/cache/colibre/100/svx/res/pageshadow35x35.png", O_RDONLY) = -1 ENOENT (No such file or directory)
pread64(22, "\301a\260L\304\334\205ug{\246K\343\245\262bC\311\244\233\16k\277\0005@\26\254\277\276\357\344"..., 4096, 2084864) = 4096
brk(0x55eec28fe000) = 0x55eec28fe000
brk(0x55eec291f000) = 0x55eec291f000
brk(0x55eec2940000) = 0x55eec2940000
brk(0x55eec2961000) = 0x55eec2961000
brk(0x55eec2982000) = 0x55eec2982000
brk(0x55eec29a3000) = 0x55eec29a3000
brk(0x55eec29c4000) = 0x55eec29c4000
brk(0x55eec29e5000) = 0x55eec29e5000
brk(0x55eec2a06000) = 0x55eec2a06000
brk(0x55eec2a27000) = 0x55eec2a27000
brk(0x55eec2a48000) = 0x55eec2a48000
brk(0x55eec2a69000) = 0x55eec2a69000
brk(0x55eec2a8a000) = 0x55eec2a8a000
brk(0x55eec2aab000) = 0x55eec2aab000
brk(0x55eec2acc000) = 0x55eec2acc000
brk(0x55eec2aed000) = 0x55eec2aed000
brk(0x55eec2b0e000) = 0x55eec2b0e000
brk(0x55eec2b2f000) = 0x55eec2b2f000
brk(0x55eec2b50000) = 0x55eec2b50000
brk(0x55eec2b71000) = 0x55eec2b71000
brk(0x55eec2b92000) = 0x55eec2b92000
brk(0x55eec2bb3000) = 0x55eec2bb3000
brk(0x55eec2bd4000) = 0x55eec2bd4000
brk(0x55eec2bf5000) = 0x55eec2bf5000
brk(0x55eec2c16000) = 0x55eec2c16000
brk(0x55eec2c37000) = 0x55eec2c37000
brk(0x55eec2c58000) = 0x55eec2c58000
brk(0x55eec2c79000) = 0x55eec2c79000
brk(0x55eec2c9a000) = 0x55eec2c9a000
brk(0x55eec2cbb000) = 0x55eec2cbb000
brk(0x55eec2cdc000) = 0x55eec2cdc000
brk(0x55eec2cfd000) = 0x55eec2cfd000
brk(0x55eec2d1e000) = 0x55eec2d1e000
brk(0x55eec2d3f000) = 0x55eec2d3f000
brk(0x55eec2d60000) = 0x55eec2d60000
I am using UNO protocol to communicate with LibreOffice using the following command:
/usr/bin/soffice --nolockcheck --headless --invisible --nologo --nodefault --nofirststartwizard --display :5.0 --accept='socket,host=0.0.0.0,port=8100;urp;StarOffice.Service'
I have tried opening the same file in the desktop version of LibreOffice, it opens the file and then hangs after ~5 seconds. Also, I have tried on Ubuntu 20.04 and macOS 12.6.
Unfortunately, I cannot share the actual docx file because it has private data.