Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 659460 - dev-python/pillow-4.3.0: SIGBUS on sparc when building it's own documentation
Summary: dev-python/pillow-4.3.0: SIGBUS on sparc when building it's own documentation
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: Sparc64 Linux
: Normal normal (vote)
Assignee: Python Gentoo Team
URL: https://github.com/python-pillow/Pill...
Whiteboard:
Keywords:
Depends on:
Blocks: unaligned-access 659320
  Show dependency tree
 
Reported: 2018-06-28 05:04 UTC by Rolf Eike Beer
Modified: 2019-07-01 17:43 UTC (History)
2 users (show)

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


Attachments
alignment patch for sparc (0001-fix-unaligned-accesses-when-unpacking-images.patch,58.01 KB, patch)
2018-06-29 14:39 UTC, Rolf Eike Beer
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rolf Eike Beer 2018-06-28 05:04:58 UTC
make -j20 -C docs html
make: Entering directory '/var/tmp/portage/dev-python/pillow-4.3.0/work/Pillow-4.3.0/docs'
sphinx-build -b html -d _build/doctrees   . _build/html
 * Unable to trace static ELF: /sbin/ldconfig: /sbin/ldconfig -p
Running Sphinx v1.6.5
making output directory...
 * Unable to trace static ELF: /sbin/ldconfig: /sbin/ldconfig -p
loading pickled environment... not yet created
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 60 source files that are out of date
updating environment: 60 added, 0 changed, 0 removed
reading sources... [  1%] PIL
[…]
reading sources... [ 71%] reference/plugins
make: *** [Makefile:45: html] Bus error
make: Leaving directory '/var/tmp/portage/dev-python/pillow-4.3.0/work/Pillow-4.3.0/docs'

chroot /var/tmp/portage/dev-python/pillow-4.3.0/work/Pillow-4.3.0/docs # gdb --args /usr/bin/python3.5 /usr/lib/python-exec/python3.5/sphinx-build -b html -d _build/doctrees   . _build/html
[…]
Program received signal SIGBUS, Bus error.
0xf68be8ec in ImagingUnpackRGB () from /usr/lib/python3.5/site-packages/PIL/_imaging.cpython-35m-sparc-linux-gnu.so
(gdb) bt
#0  0xf68be8ec in ImagingUnpackRGB () from /usr/lib/python3.5/site-packages/PIL/_imaging.cpython-35m-sparc-linux-gnu.so
#1  0xf688b098 in ?? () from /usr/lib/python3.5/site-packages/PIL/_imaging.cpython-35m-sparc-linux-gnu.so

Happens also with python 3.6. Will build with debug symbols to get a better idea later.

Portage 2.3.40 (python 3.5.5-final-0, default/linux/sparc/13.0, gcc-7.3.0, glibc-2.26-r7, 4.16.8 sparc64)
=================================================================
System uname: Linux-4.16.8-sparc64-sun4v-with-gentoo-2.4.1
KiB Mem:    33133328 total,   4762256 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Thu, 28 Jun 2018 00:15:01 +0000
Head commit of repository gentoo: 56525a8333f216dbe26167d840b544b144cfe833
sh bash 4.4_p12
ld GNU ld (Gentoo 2.30 p2) 2.30.0
app-shells/bash:          4.4_p12::gentoo
dev-lang/perl:            5.24.3-r1::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.5::gentoo, 3.6.5::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.34.11::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.15.1-r2::gentoo
sys-devel/binutils:       2.30-r2::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.26-r7::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24

ACCEPT_KEYWORDS="sparc"
ACCEPT_LICENSE="* -@EULA"
CBUILD="sparc-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=niagara2 -pipe"
CHOST="sparc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.1/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -mcpu=niagara2 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS=""
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS=""
GENTOO_MIRRORS="ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j20"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl berkdb big-endian bzip2 cli crypt cxx dri fortran gdbm iconv ipv6 libtirpc modules ncurses nls nptl openmp pam pcre readline sparc ssl tcpd unicode xattr zlib" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon plan sheets stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby23" USERLAND="GNU" VIDEO_CARDS="fbdev glint mga r128 radeon dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Rolf Eike Beer 2018-06-28 20:01:39 UTC
The problems are tons of bogus casts in Unpack.c and a few in Pack.c. I think I have patched those, but there are still more errors I currently try to track down.
Comment 2 Rolf Eike Beer 2018-06-29 14:39:52 UTC
Created attachment 537702 [details, diff]
alignment patch for sparc

This fixes the testsuire for me until I run into:

TestFileLibTiff.test_compressions ... /var/tmp/portage/dev-python/pillow-4.3.0-r1/temp/tempEFSaNi.tif: JPEG compression support is not configured.
Comment 3 Virgil Dupras gentoo-dev 2018-07-01 12:39:42 UTC
I'm a bit puzzled by this because it's a pretty big diff and pillow v3.x had sparc stable without the need for any patch. Could we say that upstream used to care about sparc but doesn't anymore? If that's the case, it is going to be an uphill battle at each release. Maybe that an intervention upstream is preferable to the maintenance of sparc-related patches.
Comment 4 Virgil Dupras gentoo-dev 2018-07-01 12:48:58 UTC
Oh, I see that you've opened https://github.com/python-pillow/Pillow/issues/3213 already. Nice! Let's see how it goes.
Comment 5 Rolf Eike Beer 2019-07-01 17:43:03 UTC
This should be fixed with 6.1.0, at least I have run the testsuite yesterday and it did not crash (there were a few failures).