Bug#1128501: glycin-image-rs and glycin-svg keep streams open longer than necessary, causing the inability to unmount a prior working directory

Al Ma <[email protected]>
Newsgroups gmane.linux.debian.devel.openoffice
Message-ID <fd988ec0-f155-49af-89c0-4659188e3a64__19694.9417398841$1771603058$gmane$org@ro.ru>
Package: libreoffice-writer
Version: 4:25.2.3-2+deb13u3
Control: affects -1 glycin-loaders

After viewing a DOCX document with libreoffice, the streams to the current directory are kept open longer than necessary. This prevents unmounting this directory (and potentially other operations) later. The user has to kill glycin-image-rs and glycin-svg to free up the directory to unmount it. This misbehavior started after we updated glycin and GDK Pixbuf recently. As the user action was calling libreoffice on a DOCX document, I am filing this bug report against libreoffice-writer; the maintainer may reassign if necessary.

Reproduce:

$ sshfs username@remote_host:/remote_directory ~/Remote
$ cd Remote
$ libreoffice --view remote_file.docx
WARNING: Glycin running without sandbox.
WARNING: Glycin running without sandbox.
$ cd ..
$ fusermount -u ~/Remote
fusermount: failed to unmount /home/username/Remote: Device or resource busy
$ lsof|grep -C1 "/home/username/Remote"
lsof: no pwd entry for UID 64757
lsof: no pwd entry for UID 64757
lsof: no pwd entry for UID 64757
lsof: no pwd entry for UID 64757
lsof: no pwd entry for UID 64757
lsof: no pwd entry for UID 64757
lsof: no pwd entry for UID 64757
lsof: no pwd entry for UID 64757
kworker/1 136257                              root NOFD      0000                                       /proc/136257/fd (opendir: Permission denied)
glycin-im 136341                          username  cwd       DIR               0,56         0        1 /home/username/Remote
glycin-im 136341                          username  rtd       DIR              259,2      4096        2 /
--
glycin-im 136341                          username   23u     unix 0x00000000fe6a5cca       0t0  1357593 type=STREAM (CONNECTED)
glycin-im 136341 136342 async-io          username  cwd       DIR               0,56         0        1 /home/username/Remote
glycin-im 136341 136342 async-io          username  rtd       DIR              259,2      4096        2 /
--
glycin-im 136341 136342 async-io          username   23u     unix 0x00000000fe6a5cca       0t0  1357593 type=STREAM (CONNECTED)
glycin-sv 136400                          username  cwd       DIR               0,56         0        1 /home/username/Remote
glycin-sv 136400                          username  rtd       DIR              259,2      4096        2 /
--
glycin-sv 136400                          username   36u     unix 0x000000003afa04ad       0t0  1349571 type=STREAM (CONNECTED)
glycin-sv 136400 136402 async-io          username  cwd       DIR               0,56         0        1 /home/username/Remote
glycin-sv 136400 136402 async-io          username  rtd       DIR              259,2      4096        2 /
--
kworker/u 136870                              root NOFD      0000                                       /proc/136870/fd (opendir: Permission denied)
glycin-im 136922                          username  cwd       DIR               0,56         0        1 /home/username/Remote
glycin-im 136922                          username  rtd       DIR              259,2      4096        2 /
--
glycin-im 136922                          username   23u     unix 0x00000000927dbe3f       0t0  1358665 type=STREAM (CONNECTED)
glycin-im 136922 136923 async-io          username  cwd       DIR               0,56         0        1 /home/username/Remote
glycin-im 136922 136923 async-io          username  rtd       DIR              259,2      4096        2 /
--
glycin-im 136922 136923 async-io          username   23u     unix 0x00000000927dbe3f       0t0  1358665 type=STREAM (CONNECTED)
glycin-sv 136982                          username  cwd       DIR               0,56         0        1 /home/username/Remote
glycin-sv 136982                          username  rtd       DIR              259,2      4096        2 /
--
glycin-sv 136982                          username   36u     unix 0x000000006e9796f4       0t0  1360019 type=STREAM (CONNECTED)
glycin-sv 136982 136984 async-io          username  cwd       DIR               0,56         0        1 /home/username/Remote
glycin-sv 136982 136984 async-io          username  rtd       DIR              259,2      4096        2 /
$ ps aux| egrep "136982|136922|136400|136341"
username  136341  0.0  0.0 212608  6940 pts/1    SNl  16:17   0:00 /usr/libexec/glycin-loaders/2+/glycin-image-rs --dbus-fd 23
username  136400  0.0  0.0 305400 17520 pts/1    SNl  16:17   0:00 /usr/libexec/glycin-loaders/2+/glycin-svg --dbus-fd 36
username  136922  0.0  0.0 212608  7024 pts/1    Sl   16:20   0:00 /usr/libexec/glycin-loaders/2+/glycin-image-rs --dbus-fd 23
username  136982  0.0  0.0 305400 17336 pts/1    Sl   16:20   0:00 /usr/libexec/glycin-loaders/2+/glycin-svg --dbus-fd 36
username  140203  0.0  0.0   6636  2460 pts/1    S+   16:31   0:00 grep -E --color=auto 136982|136922|136400|136341
$ killall glycin-image-rs glycin-svg
$ fusermount -u ~/Remote
$ sudo dpkg -l libreoffice-writer libgdk-pixbuf-2.0-0 glycin-loaders
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                      Version            Architecture Description
+++-=========================-==================-============-===========================================
ii  glycin-loaders            2.0.8-1            amd64        sandboxed image loaders for GNOME
ii  libgdk-pixbuf-2.0-0:amd64 2.44.5+dfsg-4      amd64        GDK Pixbuf library
ii  libreoffice-writer        4:25.2.3-2+deb13u3 amd64        office productivity suite -- word processor

Requested change: Close the streams to the current working directory when they are no longer required.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.