postfix-2.8.0-r1 cannot handle local delivery with glibc-2.13 Reproducible: Always Steps to Reproduce: 1.emerge glibc-2.13 2.send mail for local delivery 3. Actual Results: No local delivery and postfix logs * postfix/local[2276]: fatal: unable to determine open file limit * postfix/master[1715]: warning: process //usr/lib/postfix/local pid 2276 exit status 1 * postfix/master[1715]: warning: //usr/lib/postfix/local: bad command startup -- throttling Expected Results: mail should be delivered normally looks like downgrading glibc is not a good idea: * Sanity check to keep you from breaking your system: * Downgrading glibc is not supported and a sure way to destruction * ERROR: sys-libs/glibc-2.12.2 failed (setup phase): * aborting to save your system so i'm listing this as critical
Please paste your `emerge --info' output in a comment. Also, rebuild postfix to see if that fixes the issue.
$ emerge --info Portage 2.1.9.38 (default/linux/x86/10.0, gcc-4.5.2, glibc-2.13-r0, 2.6.37-gentoo i686) ================================================================= System uname: Linux-2.6.37-gentoo-i686-Intel-R-_Celeron-R-_CPU_1.70GHz-with-gentoo-2.0.1 Timestamp of tree: Tue, 08 Feb 2011 14:15:01 +0000 app-shells/bash: 4.1_p9 dev-lang/python: 2.7.1, 3.1.3 dev-util/cmake: 2.8.3-r1 sys-apps/baselayout: 2.0.1-r1 sys-apps/openrc: 0.7.0 sys-apps/sandbox: 2.4 sys-devel/autoconf: 2.68 sys-devel/automake: 1.10.3, 1.11.1 sys-devel/binutils: 2.21.51.0.6 sys-devel/gcc: 4.5.2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82 virtual/os-headers: 2.6.36.1 (sys-kernel/linux-headers) ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="* -@EULA" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=native -fomit-frame-pointer -pipe -floop-interchange -floop-strip-mine -floop-block" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=native -fomit-frame-pointer -pipe -floop-interchange -floop-strip-mine -floop-block" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y" FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en_US en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync21.us.gentoo.org/gentoo-portage" USE="acl acpi bash-completion berkdb bzip2 caps cli cracklib crypt cups cxx dri fam fortran gdbm gmp gnutls graphite iconv icu ipv6 ithreads jpeg ldap mmx modules mudflap ncurses nls nptl nptlonly openmp pam pcre perl png pppd python readline samba session sse ssl sysfs threads unicode vim-syntax x86 xattr xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US en" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa i810 fbdev vga" 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: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
(In reply to comment #1) > Please paste your `emerge --info' output in a comment. Also, rebuild postfix to > see if that fixes the issue. emerge --info posted. rebuilding postfix did not help in fact i rebuilt world : emerge -e world : with no success
I can confirm that rebuilding postfix does not help; I had to downgrade glibc to get it back.
I also rebuilt glibc and postfix without "-floop-interchange -floop-strip-mine -floop-block" and it still fails. I'm also getting segfaults trying to run moinmoin with wsgi but only on x86 and not amd64 which I think may be related.
Same issue, i also already rebuilded whole @world without success... only solution was reverting glibc to 2.12.2
Klemen Mihevc, How exactly did you downgrade glibc?
http://forums.gentoo.org/viewtopic-t-845000-highlight-glibc+downgrade.html step5 and 6 rest you dont need... mask 2.13 as well in package.mask
I have two systems, on one everything is ok, on the other postfix is broken. The one where is works is 64 bit, the failing one is 32.
I have x86 as well where i noticed this problem... i guess its broken only on x86 then.
This is not a "fix", but it may help you get going if your local delivery is busted after an upgrade to glibc-2.13 (as it was on 2 of my 3 Gentoo boxes): * Untar the distribution file, /usr/portage/distfiles/postfix-2.8.0.tar.gz to a temporary location * Change directory into that location and build the distribution. For me, it was enough just to type "make". * Take the binary for "local" (src/local/local) and copy it to /usr/lib/postfix/local. No idea what's different about this from the local built using emerge, but it's worked on both my hosed systems.
Created attachment 261969 [details, diff] diff for postfix-2.8.0-r1 ebuld resolves problem with glibc-2.13
(In reply to comment #12) > Created an attachment (id=261969) [details] > diff for postfix-2.8.0-r1 ebuld > > resolves problem with glibc-2.13 > Use unified diffs please.
Created attachment 261971 [details, diff] diff for postfix-2.8.0-r1 ebuld
(In reply to comment #11) > No idea what's different about this from the local built using emerge, but it's > worked on both my hosed systems. Your comment sent me digging and I found the difference. Don't know what that line from 2006 fixed or even if it's still needed but my postfix works now (see the diff I posted) so I'm happy :) There's still other issues I'm having with glibc-2.13 under x86 so it's not out of the woods yet.
Created attachment 261981 [details, diff] diff for postfix-2.8.0-r1 ebuld Didn't notice that "filter-lfs-flags" was not part of that "patch" I removed so I'm leaving that in with this updated diff. Might be time to examine what previous edits/patches are really still necessary for this version of postfix and do some cleanup.
(In reply to comment #16) > Created an attachment (id=261981) [details] > diff for postfix-2.8.0-r1 ebuld > > Didn't notice that "filter-lfs-flags" was not part of that "patch" I removed so > I'm leaving that in with this updated diff. Yes, I think it is a part of the same change since filter-lfs-flags removes the flags that enable large file support. > Might be time to examine what > previous edits/patches are really still necessary for this version of postfix > and do some cleanup. I've been slowly cleaning up the ebuild over the past few version bumps and will continue to do so. Patches are welcome. :)
Created attachment 261985 [details, diff] diff for postfix-2.8.0-r1 ebuld reverting per comment #17
I tried removed that patch on an x86 system without glibc-2.13, and it seems that the original bug still exists. I don't have a system to sacrifice to glibc-2.13 at present, so can you please get a full GDB backtrace from postfix/local where the file limit is failing?
In the original code: - filter-lfs-flags removes all LFS enable and *disable* flags from CFLAGS. - correct LFS flags are forced via mycc
(In reply to comment #19) > I tried removed that patch on an x86 system without glibc-2.13, and it seems > that the original bug still exists. I don't have a system to sacrifice to > glibc-2.13 at present, so can you please get a full GDB backtrace from > postfix/local where the file limit is failing? If I can figure out how to do that I will, maybe someone else already has that knowledge. But if you see still see a failure w/o the patch it probably is a glibc-2.13 problem and probably needs to be fixed there. In my case, with a Cyrus backend, postfix doesn't interact directly with the mailboxes and removal of the patch, as far as I can see at this point, is not an issue. Out of interest on what are seeing the issue, mbox, maildir, or log files?
It's kernel bug - http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa5bd67dcfdf9af34c7fa36ebc87d4e1f7e91873
(In reply to comment #21) > Out of interest on what are seeing the issue, mbox, maildir, or log files? None of the above actually. address_verify_map = btree:/var/lib/postfix/verified_senders2
(In reply to comment #23) > None of the above actually. > address_verify_map = btree:/var/lib/postfix/verified_senders2 Never would have caught that here. Is this something that can be fixed upstream (and are they aware of it?) or is it specific to Gentoo?
I did report it to upstream, never saw any motion on it. Not Gentoo specific, but when I tried to trace it in the codebase I got lost :-(.
As mentioned in comment #22, I think the problem is fixed with kernels >=2.6.38-rc4 since I can't reproduce it.
(In reply to comment #26) > As mentioned in comment #22, I think the problem is fixed with kernels > >=2.6.38-rc4 since I can't reproduce it. That would be good. I'll have to use the above patch as temporary workaround until a new kernel or patch to current one is packaged as I'm not bumping into any issues (>2GB files for postfix to parse/use) with it.
My output is slightly different but hopefully(!) this is the same issue. Probably different because my local deliveries get piped to dovecot-lda, using this custom transport (from master.cf): dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/dovecot-lda -f ${sender} -d ${nexthop} (Slightly odd config in order to deliver to virtual maildirs) Delivery attempts give this output: Feb 16 11:34:23 brazil postfix/pipe[18862]: fatal: unable to determine open file limit Feb 16 11:34:24 brazil postfix/master[10167]: warning: process /usr/lib/postfix/pipe pid 18862 exit status 1 Feb 16 11:34:24 brazil postfix/master[10167]: warning: /usr/lib/postfix/pipe: bad command startup -- throttling I'll try the patch and cross my fingers... emerge --info Portage 2.1.9.39 (default/linux/x86/10.0/server, gcc-4.4.5, glibc-2.13-r0, 2.6.37-gentoo i686) ================================================================= System uname: Linux-2.6.37-gentoo-i686-Pentium_III_-Coppermine-with-gentoo-2.0.1 Timestamp of tree: Tue, 15 Feb 2011 20:45:01 +0000 distcc 3.1 i686-pc-linux-gnu [disabled] ccache version 3.1.4 [enabled] app-shells/bash: 4.1_p9 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.1, 3.1.3 dev-util/ccache: 3.1.4 dev-util/cmake: 2.8.3-r1 sys-apps/baselayout: 2.0.1-r1 sys-apps/openrc: 0.7.0 sys-apps/sandbox: 2.4 sys-devel/autoconf: 2.68 sys-devel/automake: 1.11.1 sys-devel/binutils: 2.21 sys-devel/gcc: 4.4.5, 4.5.2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82 virtual/os-headers: 2.6.36.1 (sys-kernel/linux-headers) ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="*" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=pentium3 -mmmx -msse -mfpmath=sse" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /etc/make.conf /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -march=pentium3 -mmmx -msse -mfpmath=sse" DISTDIR="/var/cache/http-replicator" FEATURES="assume-digests binpkg-logs ccache distlocks fixlafiles fixpackages news nodoc noinfo parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk/" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en_GB" MAKEOPTS="-j8 -l5.2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage" USE="X509 a52 aac accessibility acl acpi aim apache2 bash-completion berkdb bzip2 clamav cli consolekit cracklib crypt cups cupsddk curl curlwrappers cxx dba dbm dbus dbx dio dri dv enca encode exif fastcgi ffmpeg foomaticdb fortran ftp gd gd-external gdbm glut gnutls gpm hardened hardenedphp iconv icq imagemagick imap innodb java javascript jpeg kerberos lcms ldap libwww mad matroska mcal minimal mmx mmxext modules mp3 mudflap mysql ncurses nls nptl nptlonly offensive ogg openmp optimized-qmake pam pcre perl php png policykit portaudio posix pppd qt4 raw readline samba scanner session sharedmem snmp soap sse ssl sysfs tcpd theora threads tidy tiff tokenizer tordns truetype udev unicode usb vcd vhosts win32codecs x264 x86 xine xinetd xml xml2 xmlrpc xorg xsl xvid zip zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" SANE_BACKENDS="hp net" USERLAND="GNU" VIDEO_CARDS="ati fbdev vesa" 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: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Confirmed, the patch fixed it.
the ebuild patch works great. This is the right fix.
Comments 27-30: please update your kernels instead.
(In reply to comment #31) > Comments 27-30: please update your kernels instead. To what? I'm running gentoo-sources-2.6.37 as of 1-22-11 and there is not a newer release. There is no newer kernel in the tree.
(In reply to comment #32) > To what? I'm running gentoo-sources-2.6.37 as of 1-22-11 and there is not a > newer release. There is no newer kernel in the tree. There's always git-sources. :)
Worked for me : kernel 2.6.37 postfix 2.8.0-r1. thx :-)
(In reply to comment #22) > It's kernel bug - > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa5bd67dcfdf9af34c7fa36ebc87d4e1f7e91873 > I applied this patch to gentoo-sources-2.6.37, went back to glibc-2.13-r1 and all seems well.
For some reason kernel 2.6.37-r1 + postfix 2.8.1 fixes this for me.
(In reply to comment #36) > For some reason kernel 2.6.37-r1 + postfix 2.8.1 fixes this for me. Yep, the fix mentioned in comment #22 is in the 2.6.37.1 patch release and available in gentoo-sources-2.6.37-r1 so I'm closing this as fixed.
Postfix 2.7.3 has been tested OK on SPARC. Note that gentoo-sources-2.6.37 will cause failures, use stable kernels or unstable kernels > gentoo-sources.2.6.37.