qpdfview 100% CPU, loops, no display

Asked by Da Long

Hello,

On and off, I sometimes get the problem I spoke of a long time ago :

https://answers.launchpad.net/qpdfview/+question/678560

As previously said, once the .config/qpdfview directory is removed (renamed), everything gets back to okay.
An strace, when looping/freezing, shows what looks like an active wait on some futexes :

write(5, "\1\0\0\0\0\0\0\0", 8) = 8
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
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="&\0\2\0\24\4\0\0", iov_len=8}], 1) = 8
futex(0x7fffb0190be8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x55b8220ae0c8, FUTEX_WAKE_PRIVATE, 1) = 0
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
poll([{fd=5, events=POLLIN}, {fd=14, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 1 ([{fd=5, revents=POLLIN}])
read(5, "$\0\0\0\0\0\0\0", 16) = 8
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="+\0\1\0", iov_len=4}], 1) = 4
futex(0x55b8220ae0c8, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55b8220ae0c8, FUTEX_WAKE_PRIVATE, 1) = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base=";\3\5\0\17\0\340\2\0\0\0\0\7\1[\0\264\2\304\3\202\3\n\0\6\0\340\2\17\0\340\2"..., iov_len=76}], 1) = 76
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
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="&\0\2\0\24\4\0\0", iov_len=8}], 1) = 8
futex(0x7fffb0190be8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
futex(0x55b8220ae0c8, FUTEX_WAKE_PRIVATE, 1) = 0
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
write(5, "\1\0\0\0\0\0\0\0", 8) = 8
write(5, "\1\0\0\0\0\0\0\0", 8) = 8

(and so on...)

Here are links to the strace data and my (previous) config directory :

https://lufi.ethibox.fr/r/KZTk2PuBnC#N++pHUe4BNsjkhArbRXugW7pQgRZY30wl/eNzIDRzao=
https://lufi.ethibox.fr/r/rnHdh4h20r#NVcCx8IS0awMPnp9q19j1yclaoEWHTAVOHjQDacpltM=

Since this bothers me a lot, I'm ready to help pinpointing this problem (but cannot code, sorry).

Question information

Language:
English Edit question
Status:
Solved
For:
qpdfview Edit question
Assignee:
No assignee Edit question
Solved by:
Adam Reichold
Solved:
Last query:
Last reply:
Revision history for this message
Best Adam Reichold (adamreichold) said :
#1

Hello Da Lang,

could this be another instance of [1]? This should be fixed in the dailydebs [2] or if you build from source.

Regards,
Adam

P.S.: The strace is of limited use as qpdfview uses a thread pool and I suspect that the strace is just the main thread waiting for events.

[1] https://bugs.launchpad.net/qpdfview/+bug/1970113

[2] https://code.launchpad.net/~adamreichold/+archive/ubuntu/qpdfview-dailydeb

Revision history for this message
Da Long (dalong) said :
#2

Thanks Adam Reichold, that solved my question.

Revision history for this message
Da Long (dalong) said :
#3

Hello Adam,

As far as my few tests show, the latest version (qpdfview-0.4.99~2141~65~ubuntu22.10.1) does work ok on the « offending » files, even with the old configuration directory.
Thanks !
I will be waiting for the official release (but using 0.4.99~2141~65 until then).