PDFium, beware

Stephan Bergmann sbergman at redhat.com
Fri Feb 9 17:33:53 UTC 2018


Recent master --enable-pdfium has at 
workdir/UnpackedTarball/pdfium/third_party/base/allocator/partition_allocator/page_allocator.h:31

> // All Blink-supported systems have 4096 sized system pages and can handle
> // permissions and commit / decommit at this granularity.
> static const size_t kSystemPageSize = 4096;

and upstream master at 
<https://pdfium.googlesource.com/pdfium/+/026717cb667cf0c7215cf55daf794d69752fc900/third_party/base/allocator/partition_allocator/page_allocator.h#33> 
isn't much better with

> // All Blink-supported systems have 4096 sized system pages and can handle
> // permissions and commit / decommit at this granularity.
> // Loongson have 16384 sized system pages.
> #if defined(_MIPS_ARCH_LOONGSON)
> static const size_t kSystemPageSize = 16384;
> #else
> static const size_t kSystemPageSize = 4096;
> #endif

This causes failure e.g. on Linux aarch64 machines with 64K page size, 
see 
<https://cgit.freedesktop.org/libreoffice/core/commit/?id=ffc134445ef7e935d18d816626f64e65b4cdbca6> 
"--disable-pdfium for Linux aarch64 Flatpak build", but other platforms 
may be affected, too.  (On RH internal tech-list  I got comments "NB, 
even before aarch64 came along, that code is broken because ppc64 uses a 
64kb page size by default." and "And alpha and sparc/sparc64 use 8K 
pages, for example.  Not to mention that a lot of other architectures 
have configurable page size.")

So think twice before you live with (enabled-by-default) --enable-pdfium.

Or start searching for an alternative?


More information about the LibreOffice mailing list