Missing symbols after reloading some pdf files
I use evince to view pdf files created by pdflatex. After recompiling a pdf file, evince reloads the pdf and shows the updated content.
Since version 42.2 (packaged by arch linux) the reloading of some pdf files isn't working correctly. The issue is that not all symbols are displayed. (I think only new symbols are affected.) After restarting evince the new pdf looks correctly.
What works:
- The recompilation of the pdf files.
- File changes are identified.
- The pdf file is reloaded.
- The display is updated (I see some changes).
- The layout/spacing of the symbols seems to be correct.
What's the problem:
- Some symbols (I think only ones that were introduced in the new pdf) are missing.
I checked the following version for this regression:
- 22.03.0 (packaged by arch linux) does not have this regression
- 22.05.0 (packaged by arch linux) has this regression
- b2f48cfc (compiled by myself) has this regression
- The versions suggested by
git bisect
(See the attached git bisect log)
According to git bisect
the first bad commit is
11c63a7b Rewrite Cairo font caching without hashing the entire font
which sounds plausible to me.
The evince version used for these tests was 42.2 (packaged by arch linux).
For compilation I used the following commands:
git clone https://gitlab.freedesktop.org/poppler/poppler.git
cd poppler
mkdir build
cd build
cmake ..
make
alias my_evince='LD_PRELOAD="$(pwd)/libpoppler.so:$(pwd)/glib/libpoppler-glib.so" evince'
You can reproduce this issue by downloading 1.pdf and 2.pdf followed by issuing these commands:
cp 1.pdf test.pdf
my_evince test.pdf &
cp 2.pdf test.pdf
# close evince
my_evince test.pdf
Note: The issue in this example are missing brackets around the matrix.