When trying to send a binary file with "metasend -b -e base64 -m image/gif -f pic.gif -s 'The Pic' -t dan.johansson@dmj.nu -z" I am getting the following error: /usr/bin/metasend: line 557: 7462 Segmentation fault splitmail -s "$splitsize" -d $fname The enviroment variable SPLITSIZE is set to 999999 and the filesize is 15493 bytes. Here's the output from "emerge --info" Portage 2.0.51.22-r3 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-gentoo-r2 x86_64) ================================================================= System uname: 2.6.14-gentoo-r2 x86_64 AMD Athlon(tm) 64 Processor 3800+ Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/fax /usr/share/config /var/bind /var/qmail/control /var/spool/fax/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.osuosl.org/" MAKEOPTS="-j2" PKGDIR="/var/pkgdir" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://prince.dmj.nu/gentoo-portage" USE="amd64 apache2 avi bash-completion berkdb bitmap-fonts bzip2 crypt cups curl eds emboss encode expat fam fax foomaticdb fortran gdbm gif gmp gstreamer hardened idn imagemagick imlib isdnlog jpeg ldap lzw lzw-tiff mp3 mpeg mysql ncurses nls no-htdocs opengl pdflib perl png ppds python quicktime readline samba scanner sdl ssl tcpd tiff truetype-fonts type1-fonts udev usb userlocales xml2 xpm xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS The installed version of metamail is: * net-mail/metamail Latest version available: 2.7.45.3 Latest version installed: 2.7.45.3 Size of downloaded files: 586 kB Homepage: ftp://thumper.bellcore.com/pub/nsb/ Description: Metamail (with Debian patches) - Generic MIME package License: GPL-2 Regards, --Dan
(In reply to comment #0) > When trying to send a binary file with "metasend -b -e base64 -m image/gif -f > pic.gif -s 'The Pic' -t dan.johansson@dmj.nu -z" I am getting the following > error: /usr/bin/metasend: line 557: 7462 Segmentation fault splitmail -s > "$splitsize" -d $fname > > The enviroment variable SPLITSIZE is set to 999999 and the filesize is 15493 > bytes. > please provide a sample gif image. I cn't repoduce it on my x86 box. CCing amd64.
Created attachment 82129 [details] This is a file that fails This is a file that makes metamail sigsegv on my AMD64 system (on a x86 it works OK).
(In reply to comment #2) > This is a file that makes metamail sigsegv on my AMD64 system (on a x86 it > works OK). > OK, let switch role then ;)
i'm afraid i can't reproduce it here. you'll have to provide a gdb backtrace. if you don't know how to do that, please refer to http://www.gentoo.org/doc/en/bugzilla-howto.xml thanks in advance
Here's the output of my GDB session for splitmail (the part that fails). Even it's compiled with -ggdb3 and FEATURES="nostrip" there is no dubug info. $ gdb --args splitmail -s 100000 -d /tmp/metamRyC4gx GNU gdb 6.4 Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) run Starting program: /usr/bin/splitmail -s 100000 -d /tmp/metamRyC4gx Program received signal SIGSEGV, Segmentation fault. 0x00002b86d5df9310 in ?? () (gdb) bt #0 0x00002b86d5df9310 in ?? () #1 0x00002b86d5dcd3c8 in ?? () #2 0x00000000000001e0 in ?? () #3 0x00007fffffbd2a20 in ?? () #4 0x0000000000000008 in ?? () #5 0x0000000400000004 in ?? () #6 0x00000000000002a8 in ?? () #7 0x00000000000002a8 in ?? () #8 0x00000000000002a8 in ?? () #9 0x0000000000000020 in ?? () #10 0x0000000000000020 in ?? () #11 0x0000000000000004 in ?? () #12 0x0000000400000007 in ?? () #13 0x0000000000120eb8 in ?? () #14 0x0000000000220eb8 in ?? () #15 0x0000000000220eb8 in ?? () #16 0x0000000000000010 in ?? () #17 0x0000000000000050 in ?? () #18 0x0000000000000008 in ?? () #19 0x00002b86d5a1685f in ?? () #20 0x0000000000107d7c in ?? () #21 0x00002b86d5d89000 in ?? () #22 0x00002b86d5c85b07 in ?? () #23 0x73002b8600000000 in ?? () #24 0x0000000000004e20 in ?? () #25 0x0000000000000004 in ?? () #26 0x000000066474e551 in ?? () #27 0x0000000000000000 in ?? () (gdb) quit $ file /usr/bin/splitmail /usr/bin/splitmail: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped --Dan
hum, that's not of much use :( i have no idea why it doesn't give you a backtrace either, though :/
I've just found out this this error only occurs when I use the hardened gcc-version. [1] x86_64-pc-linux-gnu-3.4.6 KO [2] x86_64-pc-linux-gnu-3.4.6-hardenednopie OK [3] x86_64-pc-linux-gnu-3.4.6-hardenednopiessp OK [4] x86_64-pc-linux-gnu-3.4.6-hardenednossp KO [5] x86_64-pc-linux-gnu-3.4.6-vanilla OK --Dan
reopening
hardened, have fun ;)
(In reply to comment #0) > When trying to send a binary file with "metasend -b -e base64 -m image/gif -f > pic.gif -s 'The Pic' -t dan.johansson@dmj.nu -z" I am getting the following > error: /usr/bin/metasend: line 557: 7462 Segmentation fault splitmail -s > "$splitsize" -d $fname Seems to be fixed with metamail-2.7.53.3. Waiting for net-mail for permission to bump it.
(In reply to comment #10) > Seems to be fixed with metamail-2.7.53.3. Waiting for net-mail for permission > to bump it. Feel free to, thanks.
(In reply to comment #0) > When trying to send a binary file with "metasend -b -e base64 -m image/gif -f > pic.gif -s 'The Pic' -t dan.johansson@dmj.nu -z" I am getting the following > error: /usr/bin/metasend: line 557: 7462 Segmentation fault splitmail -s > "$splitsize" -d $fname > > The enviroment variable SPLITSIZE is set to 999999 and the filesize is 15493 > bytes. I've added metamail-2.7.53.3 to the tree, at least that fixed the segfaults in my testing environment.
I experience the same problem just sending plain text mails on my x86_64. Also the following bug report seems to describe quite exactly my problems: http://www.mail-archive.com/debian-qa-packages@lists.debian.org/msg19802.html because of this I think, net-mail/metamail-2.7.45.3 should NOT be marked stable on amd64! You should probably downgrade it to testing...
I've just experience the same problem: mailto joseph Subject: tesst test EOT mailto: Error writing to splitmail: No such file or directory Wrote draft to ~/dead.letter Upgrading to metamail-2.7.53.3 fixed the problem on AMD64 Why packages that are buggy marked as stable in portage? It just creates problems for ordinary users. metamail-2.7.53.3 should be marked stable, at least on AMD64
Re-opening as this has not actually been resolved. Either: a) The patch referred to by Debian bug #410466 should be applied to a 2.7.45.3 revision and keyworded stable (attention net-mail herd!) b) 2.7.45.3 should be keyworded stable for at least the 64-bit architectures (for which permission was apparently granted some time ago in Comment 11) My preference is for option (a) in the first instance. Please would someone take a lead on resolving the matter. The patch is straightforward - see the URL field for a link to the Debian bug which contains an explanation - and I've personally verified that it fixes the bug: --- splitmail.c.orig 2007-03-27 14:26:07.000000000 +0200 +++ splitmail.c 2007-03-27 14:42:16.000000000 +0200 @@ -25,6 +25,7 @@ #define MINCHUNKSIZE 20000 /* Better be enough to hold the headers, or we die! */ extern char *getenv(); +extern char *getmyname(); #define NORMALDELIVERYCMD "/usr/sbin/sendmail -t -oi" #define VERBOSEDELIVERYCMD "/usr/sbin/sendmail -t -v -oi"
> b) 2.7.45.3 should be keyworded stable for at least the 64-bit architectures > (for which permission was apparently granted some time ago in Comment 11) Oops, I obviously meant to say 2.7.53.3 there.
As 2.7.53.3 is stable on all keyworded arches now, I'm closing this.