[okular] [Bug 512946] New: okular doesn't start if mounted file / network is unreachable
bugzilla_noreply at kde.org
bugzilla_noreply at kde.org
Thu Dec 4 16:17:07 GMT 2025
https://bugs.kde.org/show_bug.cgi?id=512946
Bug ID: 512946
Summary: okular doesn't start if mounted file / network is
unreachable
Classification: Applications
Product: okular
Version First 22.12.3
Reported In:
Platform: Debian stable
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: okular-devel at kde.org
Reporter: best at univention.de
Target Milestone: ---
okular doesn't start if a mounted NFS directory is not available e.g. due to a
network change.
mount:
example.org:/shares/media on /home/media type nfs4
(rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.156,local_lock=none,addr=192.168.1.22)
strace shows it tries to access a file which was recently opened. I guess for
the completion of the list of recent opened files.
STEPS TO REPRODUCE
1. remove network cable
2. open okular
3. wait forever
OBSERVED RESULT
hangs forever
EXPECTED RESULT
1. open the file / okular GUI immediately.
2. load the list of recent opened files with a timeout of 2 seconds.
3. load the list asynchronously in the background e.g. in a thread
4. log a warning message to stderr/elsewhere, if the files isn't accessible
5. ignore unreachable files (remove them from that list or grey them out)
6. maybe retry periodically (I don't care)
7. at least, always start fast!
ADDITIONAL INFORMATION
strace log:
```
…
access("/usr/share/icons/breeze/actions/symbolic/dialog-close.svg", F_OK) = -1
ENOENT (Datei oder Verzeichnis nicht gefunden)
access("/usr/share/icons/breeze/devices/symbolic/dialog-close.svg", F_OK) = -1
ENOENT (Datei oder Verzeichnis nicht gefunden)
access("/usr/share/icons/breeze/emblems/symbolic/dialog-close.svg", F_OK) = -1
ENOENT (Datei oder Verzeichnis nicht gefunden)
access("/usr/share/icons/breeze/places/symbolic/dialog-close.svg", F_OK) = -1
ENOENT (Datei oder Verzeichnis nicht gefunden)
access("/usr/share/icons/breeze/status/symbolic/dialog-close.svg", F_OK) = -1
ENOENT (Datei oder Verzeichnis nicht gefunden)
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3,
[{iov_base="\22\0\10\0\f\0\200\1\10\1\0\0\3\1\0\0\10\0\0\0\6\0\0\0Okular\0\0",
iov_len=32}], 1) = 32
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3,
revents=POLLIN|POLLOUT}])
recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Die Ressource ist zur Zeit
nicht verfügbar)
writev(3, [{iov_base="\22\0\6\0\f\0\200\1'\0\0\0\37\0\0\0\10\30\f\0\0\0\0\0",
iov_len=24}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 24
futex(0x55a4c7ede25c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55a4c7ede208, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3,
[{iov_base="\22\0\10\0\f\0\200\1\10\1\0\0\3\1\0\0\10\0\0\0\6\0\0\0Okular\0\0",
iov_len=32}], 1) = 32
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\22\0\6\0\f\0\200\1'\0\0\0\37\0\0\0\10\30\f\0\0\0\0\0",
iov_len=24}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 24
futex(0x55a4c7ede258, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55a4c7ede208, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3,
[{iov_base="\22\0\6\0\f\0\200\1;\1\0\0\3\1\0\0\10\0\0\0\0\0\0\0\22\0\10\0\f\0\200\1"...,
iov_len=56}], 1) = 56
futex(0x55a4c7ede208, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Die Ressource
ist zur Zeit nicht verfügbar)
futex(0x55a4c7ede208, FUTEX_WAKE_PRIVATE, 1) = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\22\0\6\0\f\0\200\1'\0\0\0\37\0\0\0\10\30\f\0\0\0\0\0",
iov_len=24}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 24
futex(0x55a4c7ede208, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Die Ressource
ist zur Zeit nicht verfügbar)
futex(0x55a4c7ede208, FUTEX_WAKE_PRIVATE, 1) = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3,
[{iov_base="\22\0\10\0\f\0\200\1\10\1\0\0\3\1\0\0\10\0\0\0\6\0\0\0Okular\0\0",
iov_len=32}], 1) = 32
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\22\0\6\0\f\0\200\1'\0\0\0\37\0\0\0\10\30\f\0\0\0\0\0",
iov_len=24}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 24
futex(0x55a4c7ede25c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55a4c7ede208, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55a4c7ede208, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Die Ressource
ist zur Zeit nicht verfügbar)
futex(0x55a4c7ede208, FUTEX_WAKE_PRIVATE, 1) = 0
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
getpid() = 1492466
write(10, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x55a4c83d68d0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL,
FUTEX_BITSET_MATCH_ANY) = 0
futex(0x55a4c83d6880, FUTEX_WAKE_PRIVATE, 1) = 0
access("/home/media/foo.pdf", F_OK
```
→ hangs accessing file
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Okular-devel
mailing list