Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 124179 - xpdf: rendering quality regression + segfault
Summary: xpdf: rendering quality regression + segfault
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Other
: High normal (vote)
Assignee: Printing Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-26 10:27 UTC by Alexey Dobriyan
Modified: 2007-01-08 07:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Dobriyan 2006-02-26 10:27:19 UTC
1. rendering quality regresion vs xpdf before poppler conversion

file: ISO-C-FDIS.1999-04.pdf 1089927 bytes/9366abddd3b963a9a497d050a9d17145
fonts became worse, < > symbols are represented as boxes (p 16), (C) symbol
looks like [box]C[box], etc

2. Segmentation fault

file: chapter 17 from "Understanding the Linux kernel" second edition
(I've got it via "preview sample chapter" from O'reilly)
1052510 bytes/d06f19d0d9547bd1a6afb506375b540e

All of this is a not a problem for vanilla xpdf-3.01pl2

Can someone please put non-buggy version back into stable?
Comment 1 Carsten Lohrke (RETIRED) gentoo-dev 2006-02-26 10:38:52 UTC
(In reply to comment #0)
> Can someone please put non-buggy version back into stable?
> 

The latest stabilizations were because of vulnerabilities...
Comment 2 Stefan Schweizer (RETIRED) gentoo-dev 2006-02-26 16:35:26 UTC
well, actually, we should rather try to fix poppler up, because that is the way forward. So, can you please try with evincce or kpdf if you have similar problems so we can tell if it is the xpdf-poppler code or rather the core poppler library itself?
Comment 3 Florian Mickler 2006-02-27 02:25:17 UTC
about the symbols problem: this is probably an fontconfig problem
try adding this to your /etc/fonts/local.conf:
<alias>
    <family>Symbol</family>
    <accept><family>Standard Symbols L</family></accept>
</alias>
Comment 4 Alexey Dobriyan 2006-02-27 06:18:55 UTC
That fixes <abstract> and <C>, thanks. The font is still slightly bigger and
bolder.
Comment 5 Alexey Dobriyan 2006-02-27 08:45:43 UTC
Doh! The sucker is -Os. Recompiling poppler with -O2 get rid of
segmentation fault. Backtrace for curious:

#0  0xb7f4a442 in Splash::drawPixel () from /usr/lib/libpoppler.so.0
#1  0xb7f4ca05 in Splash::fillImageMask () from /usr/lib/libpoppler.so.0
#2  0xb7ecf407 in SplashOutputDev::drawImageMask () from /usr/lib/libpoppler.so.0
#3  0xb7ee5233 in Gfx::doImage () from /usr/lib/libpoppler.so.0
#4  0xb7ee6b0f in Gfx::opXObject () from /usr/lib/libpoppler.so.0
#5  0xb7ee0338 in Gfx::execOp () from /usr/lib/libpoppler.so.0
#6  0xb7ee0467 in Gfx::go () from /usr/lib/libpoppler.so.0
#7  0xb7ee080e in Gfx::display () from /usr/lib/libpoppler.so.0
#8  0xb7f18cc3 in Page::displaySlice () from /usr/lib/libpoppler.so.0
#9  0xb7f1a6d4 in PDFDoc::displayPageSlice () from /usr/lib/libpoppler.so.0
#10 0x08052514 in PDFCore::needTile (this=0x817c800, page=0x81d64c8, x=0, y=0) at PDFCore.cc:788
#11 0x08051afa in PDFCore::update (this=0x817c800, topPageA=1, scrollXA=0, scrollYA=0, zoomA=125, rotateA=0, 
    force=1, addToHist=1) at PDFCore.cc:613
#12 0x080589cb in XPDFCore::update (this=0x817c800, topPageA=1, scrollXA=0, scrollYA=0, zoomA=125, rotateA=0, 
    force=1, addToHist=1) at XPDFCore.cc:304
#13 0x08050603 in PDFCore::displayPage (this=0x817c800, topPageA=1, zoomA=125, rotateA=0, scrollToTop=1, 
    addToHist=1) at PDFCore.cc:255
#14 0x08060869 in XPDFViewer::displayPage (this=0x8157030, pageA=1, zoomA=125, rotateA=0, scrollToTop=1, 
    addToHist=1) at XPDFViewer.cc:262
#15 0x08060303 in XPDFViewer (this=0x8157030, appA=0x8081ad0, fileName=0x8081a88, pageA=1, destName=0x0, 
    ownerPassword=0x0, userPassword=0x0) at XPDFViewer.cc:169
#16 0x08056e32 in XPDFApp::open (this=0x8081ad0, fileName=0x8081a88, page=1, ownerPassword=0x0, 
    userPassword=0x0) at XPDFApp.cc:222
#17 0x0805e4b3 in main (argc=2, argv=0xbf9bf2c4) at xpdf.cc:294
Comment 6 Stefan Schweizer (RETIRED) gentoo-dev 2006-02-27 15:00:07 UTC
The other issue is deaalt with in bug 124238

And I fixed the -Os problem with replace-flags.
Comment 7 Alexey Dobriyan 2006-03-05 08:34:11 UTC
:-) replace-flags should be applied in poppler ebuild, not to xpdf.
Comment 8 Stefan Schweizer (RETIRED) gentoo-dev 2006-03-05 08:54:33 UTC
is xpdf also broken or can I revert the changes there?
Comment 9 Alexey Dobriyan 2006-03-05 09:12:10 UTC
poppler -Os + xpdf -Os => segfault
poppler -O2 + xpdf -Os => OK
Comment 10 Stefan Schweizer (RETIRED) gentoo-dev 2006-04-02 10:17:43 UTC
I guess this is fixed now.
Comment 11 SpanKY gentoo-dev 2007-01-07 11:58:58 UTC
can i get some more information so we can properly address this rather than ignoring the real issue ?

can you post your `emerge info` on a segfaulting system as well as the .pdf you're testing with
Comment 12 Alexey Dobriyan 2007-01-07 18:00:56 UTC
Looks like it is gcc-3.4.6 specific miscompilation:

gcc-3.4.6-r1 + poppler-0.5.4 + -Os  => segfault
gcc-3.4.6-r1 + poppler-0.5.4 + -O2  => OK
gcc-4.1.1    + poppler-0.5.4 + -Os  => OK
gcc-4.1.1    + poppler-0.5.4 + -O2  => OK

Offending PDF is slightly bigger than bugzilla limit.
It's ext23_ch17.pdf "Understanding the Linux Kernel (second edition)"
chapter 17 "The Ext2 and Ext3 Filesystems".
size/MD5: 1052510/d06f19d0d9547bd1a6afb506375b540e

Current emerge info:

Gentoo Base System version 1.12.5
Portage 2.1.1-r2 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.20-rc3-05a8057bb38bc803682f3e0af305c258b4566285 i686)
=================================================================
System uname: 2.6.20-rc3-05a8057bb38bc803682f3e0af305c258b4566285 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz
Last Sync: Sun, 07 Jan 2007 15:30:01 +0000
ccache version 2.4 [disabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: [Not Present]
dev-lang/python:     2.3.5-r2, 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LC_ALL="en_US.utf8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aiglx alsa alsa_cards_ali5451 alsa_cards_als4000 alsa_cards_atiixp alsa_cards_atiixp-modem alsa_cards_bt87x alsa_cards_ca0106 alsa_cards_cmipci alsa_cards_emu10k1x alsa_cards_ens1370 alsa_cards_ens1371 alsa_cards_es1938 alsa_cards_es1968 alsa_cards_fm801 alsa_cards_hda-intel alsa_cards_intel8x0 alsa_cards_intel8x0m alsa_cards_maestro3 alsa_cards_trident alsa_cards_usb-audio alsa_cards_via82xx alsa_cards_via82xx-modem alsa_cards_ymfpci alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2 apm bitmap-fonts cairo cli cracklib divx4linux dlloader dri eds elibc_glibc emboss encode foomaticdb gdbm gif gpm gstreamer gtk2 iconv imlib input_devices_keyboard input_devices_mouse isdnlog jpeg kernel_linux libg++ libwww mad mbox mikmod motif mp3 mpeg ncurses nopie nossp nptl nptlonly ogg opengl pcre perl png pppd python qt3 qt4 quicktime readline reflection sdl session spell spl sse sse2 ssl tcpd truetype truetype-fonts type1-fonts udev unicode userland_GNU video_cards_radeon vorbis xml xorg xv xvid zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 13 SpanKY gentoo-dev 2007-01-08 07:06:19 UTC
thanks, that's a good follow up

i'll drop the flag filtering from the ebuild then