Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 687554

Summary: mail-mta/exim-4.92-r2: please stabilise
Product: Gentoo Linux Reporter: Nico Rittner <nrittner>
Component: StabilizationAssignee: Fabian Groffen <grobian>
Status: RESOLVED FIXED    
Severity: major CC: alexander, jstein
Priority: Normal Keywords: STABLEREQ
Version: unspecifiedFlags: stable-bot: sanity-check+
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
mail-mta/exim-4.92-r2
Runtime testing required: ---

Description Nico Rittner 2019-06-07 08:24:16 UTC
according to v4.92 changelog, "{eval } now uses 64-bit values on supporting platforms.".
however, on x86 ${eval } seems to be somehow broken now:

${eval:0} returns big, random, negative integer values, which breaks
surrounding expansions/conditions .

when omiting the debug switch "-d" exim returns
similar weird numbers but approx. half of the size
as above.

does _not_ occur on AMD64/x86_64

Reproducible: Always

Steps to Reproduce:
$ exim -d-all+expand -be '${eval:-1}'
$ exim -d-all+expand -be '${eval:0}'
$ exim -be '${eval:0}'


Actual Results:  
$ exim -d-all+expand -be '${eval:-1}'
(...)
08:31:35 23148  ├──expanding: ${eval:-1}
08:31:35 23148  └─────result: -9214647270354452481

$ exim -d-all+expand -be '${eval:0}'
(...)
08:31:35 23148  ├──expanding: ${eval:0}
08:31:35 23148  └─────result: -9217250918183993344

$  exim -be '${eval:0}'
-4633992498014846976


Expected Results:  
should return the exact values that are given as arguments (0/-1)

Portage 2.3.66 (python 3.6.5-final-0, default/linux/x86/17.0, gcc-8.3.0, glibc-2.29-r2, 4.19.37-jason-default-x86_64-1558099784 x86_64)
=================================================================
System uname: Linux-4.19.37-jason-default-x86_64-1558099784-x86_64-Intel-R-_Pentium-R-_CPU_G6950_@_2.80GHz-with-gentoo-2.6
KiB Mem:    10145848 total,    966616 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Fri, 07 Jun 2019 05:00:01 +0000
Head commit of repository gentoo: 4a5171e8f323973dc6f992c80929240869c61dfe
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.31.1 p7) 2.31.1
app-shells/bash:          4.4_p23-r1::gentoo
dev-lang/perl:            5.28.2-r1::gentoo
dev-lang/python:          2.7.15::gentoo, 3.6.5::gentoo
dev-util/cmake:           3.14.3::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.13.4-r2::gentoo, 1.15.1-r2::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.31.1-r6::gentoo
sys-devel/gcc:            8.3.0-r1::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.14-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r2::gentoo
Repositories:

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

layer23
    location: /dat/local/share/portage/db
    masters: gentoo

ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/apache2-php7.1/ext-active/ /etc/php/apache2-php7.2/ext-active/ /etc/php/apache2-php7.3/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cgi-php7.2/ext-active/ /etc/php/cgi-php7.3/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/php/cli-php7.2/ext-active/ /etc/php/cli-php7.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe"
DISTDIR="/tmp"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN 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="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/tmp"
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 alsa berkdb bzip2 cli cxx dri fortran gd iconv imap jpeg ldap libtirpc mbox mysql ncurses nptl openmp pam pcre perl png readline sasl seccomp ssl syslog tiff truetype unicode x86 xml zlib" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="actions alias asis auth_basic auth_digest filter authn_core authn_file authn_anon authz_core authz_groupfile authz_host authz_owner authz_user access_compat cache cache_disk cgi deflate dumpio dav dav_fs dir env expires headers include info log_config macro mime mime_magic proxy proxy_balancer proxy_connect proxy_fcgi proxy_http ratelimit rewrite setenvif slotmem_shm so socache_shmcb status substitute userdir unique_id unixd vhost_alias" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2" 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" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" NGINX_MODULES_HTTP="access auth_basic charset dav fastcgi geo gzip limit_req lua map memcached proxy rewrite ssl stub_status upstream_keepalive" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" QEMU_SOFTMMU_TARGETS="i386" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa 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 Nico Rittner 2019-06-07 12:43:43 UTC
fix was committed upstream:

https://git.exim.org/exim.git/commitdiff/26dd3aa007b3b77969610c031f59388e0953bd00
Comment 2 Larry the Git Cow gentoo-dev 2019-06-11 08:17:19 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4971a74df5e8753cfbb4d40c0ff4960d951b2e52

commit 4971a74df5e8753cfbb4d40c0ff4960d951b2e52
Author:     Fabian Groffen <grobian@gentoo.org>
AuthorDate: 2019-06-11 08:16:54 +0000
Commit:     Fabian Groffen <grobian@gentoo.org>
CommitDate: 2019-06-11 08:16:54 +0000

    mail-mta/exim: revbump for fix for bug #687554
    
    Bug: https://bugs.gentoo.org/687554
    Signed-off-by: Fabian Groffen <grobian@gentoo.org>
    Package-Manager: Portage-2.3.66, Repoman-2.3.11

 mail-mta/exim/exim-4.92-r1.ebuild                  | 562 +++++++++++++++++++++
 .../files/exim-4.92-fix-eval-expansion-32bit.patch |  51 ++
 2 files changed, 613 insertions(+)
Comment 3 Fabian Groffen gentoo-dev 2019-06-11 08:18:31 UTC
Sorry for the delay, I've pushed the fix as exim-4.92-r1, feedback on that one fixing your problem would be appreciated.  I think we need to ask the 32-bits arches afterwards to stable this version instead of 4.92.
Comment 4 Nico Rittner 2019-06-12 11:54:08 UTC
i tested the ${eval:} expansion item of exim-4.92-r1 with serveral different arguments.

the patch "exim-4.92-fix-eval-expansion-32bit.patch"
restored the expected behaviour on 32bit.

problem solved.

thanks.
Comment 5 Laszlo Valko 2019-07-01 07:53:10 UTC
(In reply to Fabian Groffen from comment #3)
> Sorry for the delay, I've pushed the fix as exim-4.92-r1, feedback on that
> one fixing your problem would be appreciated.  I think we need to ask the
> 32-bits arches afterwards to stable this version instead of 4.92.

Fabian, your fix has been in the tree for ~3 weeks, and the x86 stable ebuild is still the known broken one... What was the expectation?
Comment 6 Fabian Groffen gentoo-dev 2019-07-01 09:21:00 UTC
I hoped upstream to release a new version, but it seems they didn't, anyhow, very soon I can file this one for stablereq.  It wasn't supposed to be closed.
Comment 7 Fabian Groffen gentoo-dev 2019-07-05 09:39:00 UTC
@arches: please stabilise mail-mta/exim-4.92-r2
Comment 8 Agostino Sarubbo gentoo-dev 2019-07-15 13:14:30 UTC
amd64 stable
Comment 9 Rolf Eike Beer archtester 2019-07-15 19:22:38 UTC
sparc stable
Comment 10 Agostino Sarubbo gentoo-dev 2019-07-17 15:24:45 UTC
x86 stable
Comment 11 Agostino Sarubbo gentoo-dev 2019-07-18 09:58:39 UTC
ppc stable
Comment 12 Agostino Sarubbo gentoo-dev 2019-07-18 10:02:36 UTC
ppc64 stable
Comment 13 Agostino Sarubbo gentoo-dev 2019-07-18 10:45:29 UTC
alpha stable
Comment 14 Agostino Sarubbo gentoo-dev 2019-07-18 10:48:55 UTC
ia64 stable
Comment 15 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2019-07-28 20:02:28 UTC
arm stable