From owner-freebsd-stable Wed Jan 2 0:16: 4 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mail.svzserv.kemerovo.su (mail.svzserv.kemerovo.su [213.184.65.66]) by hub.freebsd.org (Postfix) with ESMTP id 4466A37B41B for ; Wed, 2 Jan 2002 00:15:58 -0800 (PST) Received: from D00015.dialonly.kemerovo.su (www2.svzserv.kemerovo.su [213.184.65.86]) by mail.svzserv.kemerovo.su (8.11.6/8.11.6) with ESMTP id g028FkP88900; Wed, 2 Jan 2002 15:15:47 +0700 (NKZ) (envelope-from eugen@d00015.dialonly.kemerovo.su) Received: (from eugen@localhost) by D00015.dialonly.kemerovo.su (8.11.6/8.11.4) id g028ER800275; Wed, 2 Jan 2002 15:14:27 +0700 (KRAT) (envelope-from eugen) Date: Wed, 2 Jan 2002 15:14:26 +0700 From: Eugene Grosbein To: jkh@winston.freebsd.org Cc: stable@freebsd.org Subject: pkg_create(1) segfaults while make package-noinstall Message-ID: <20020102151426.A221@grosbein.pp.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hi! My system is 4.5-PRERELEASE (1 Jan 2002). I'm trying to make package from installed port mutt-1.2.5i (it's fresh). I have no distfile, this machine is offline. It's impossible for me now. There is output of 'make -d l package-noinstall': Script started on Wed Jan 2 14:56:04 2002 /bin/mkdir -p /usr/ports/mail/mutt/work cd /usr/ports/mail/mutt && make 'CKSUMFILES+=mutt-1.2.5i.tar.gz charmaps-0.0.tar.gz patch-1.2.5.rr.compressed.1.gz' PACKAGE_NOINSTALL=yes real-package cd /usr/ports/mail/mutt && make 'CKSUMFILES+=mutt-1.2.5i.tar.gz charmaps-0.0.tar.gz patch-1.2.5.rr.compressed.1.gz' pre-package true if [ -f /usr/ports/mail/mutt/scripts/pre-package ]; then cd /usr/ports/mail/mutt && /usr/bin/env PORTOBJFORMAT=elf BSD_INSTALL_PROGRAM="install -c -s -o root -g wheel -m 555" BSD_INSTALL_SCRIPT="install -c -o root -g wheel -m 555" BSD_INSTALL_DATA="install -c -o root -g wheel -m 444" BSD_INSTALL_MAN="install -c -o root -g wheel -m 444" CURDIR=/usr/ports/mail/mutt DISTDIR=/usr/ports/distfiles WRKDIR=/usr/ports/mail/mutt/work WRKSRC=/usr/ports/mail/mutt/work/mutt-1.2.5 PATCHDIR=/usr/ports/mail/mutt/files SCRIPTDIR=/usr/ports/mail/mutt/scripts FILESDIR=/usr/ports/mail/mutt/files PORTSDIR=/usr/ports DEPENDS="" PREFIX=/usr/local LOCALBASE=/usr/local X11BASE=/usr/X11R6 /bin/sh /usr/ports/mail/mutt/scripts/pre-package; fi cd /usr/ports/mail/mutt && make 'CKSUMFILES+=mutt-1.2.5i.tar.gz charmaps-0.0.tar.gz patch-1.2.5.rr.compressed.1.gz' do-package cd /usr/ports/mail/mutt && make 'CKSUMFILES+=mutt-1.2.5i.tar.gz charmaps-0.0.tar.gz patch-1.2.5.rr.compressed.1.gz' generate-plist echo "===> Generating temporary packing list" ===> Generating temporary packing list /bin/mkdir -p `dirname /usr/ports/mail/mutt/work/.PLIST.mktmp` if [ ! -f /usr/ports/mail/mutt/pkg-plist -o ! -f /usr/ports/mail/mutt/pkg-comment -o ! -f /usr/ports/mail/mutt/pkg-descr ]; then echo "** Missing package files for mutt-1.2.5."; exit 1; fi >/usr/ports/mail/mutt/work/.PLIST.mktmp for man in man/man1/mutt.1.gz man/man1/mutt_dotlock.1.gz man/man5/muttrc.5.gz; do echo ${man} >> /usr/ports/mail/mutt/work/.PLIST.mktmp; done /usr/bin/sed -e s!%%OSREL%%!4.5!g -e s!%%PREFIX%%!%D!g -e s!%%LOCALBASE%%!/usr/local!g -e s!%%X11BASE%%!/usr/X11R6!g -e s!%%PORTDOCS%%!""!g -e s!%%PORTOBJFORMAT%%!elf!g -e s!%%XAWVER%%!7!g -e s!%%PERL_VERSION%%!5.00503!g -e s!%%PERL_VER%%!5.005!g -e s!%%PERL_ARCH%%!i386-freebsd!g /usr/ports/mail/mutt/pkg-plist >> /usr/ports/mail/mutt/work/.PLIST.mktmp echo "@unexec if [ -f %D/info/dir ]; then if sed -e '1,/Menu:/d' %D/info/dir | grep -q '^[*] '; then true; else rm %D/info/dir; fi; fi" >> /usr/ports/mail/mutt/work/.PLIST.mktmp /usr/bin/sed -e 's,\(/lib.*\.so\.[0-9]*\)\.[0-9]*$,\1,' /usr/ports/mail/mutt/work/.PLIST.mktmp > /usr/ports/mail/mutt/work/.PLIST.mktmp.tmp /bin/mv -f /usr/ports/mail/mutt/work/.PLIST.mktmp.tmp /usr/ports/mail/mutt/work/.PLIST.mktmp echo "===> Building package for mutt-1.2.5" ===> Building package for mutt-1.2.5 if [ -d /usr/ports/packages ]; then if [ ! -d /usr/ports/packages/All ]; then if ! /bin/mkdir -p /usr/ports/packages/All; then echo ">> Can't create directory /usr/ports/packages/All."; exit 1; fi; fi; fi __softMAKEFLAGS=''\''CKSUMFILES+=mutt-1.2.5i.tar.gz charmaps-0.0.tar.gz patch-1.2.5.rr.compressed.1.gz'\'''; if /usr/sbin/pkg_create -v -c /usr/ports/mail/mutt/pkg-comment -d /usr/ports/mail/mutt/pkg-descr -f /usr/ports/mail/mutt/work/.PLIST.mktmp -p /usr/local -P "`make package-depends | /usr/bin/grep -v -E 'this_port_does_not_exist' | sort -u`" -m /etc/mtree/BSD.local.dist -o mail/mutt /usr/ports/mail/mutt/mutt-1.2.5.tgz; then if [ -d /usr/ports/packages ]; then eval make ${__softMAKEFLAGS} package-links; fi; else eval make ${__softMAKEFLAGS} delete-package; exit 1; fi cd: can't cd to " Creating package /usr/ports/mail/mutt/mutt-1.2.5.tgz Segmentation fault - core dumped cd /usr/ports/mail/mutt && make 'CKSUMFILES+=mutt-1.2.5i.tar.gz charmaps-0.0.tar.gz patch-1.2.5.rr.compressed.1.gz' delete-package-links for cat in mail; do /bin/rm -f /usr/ports/packages/$cat/mutt-1.2.5.tgz; done /bin/rm -f /usr/ports/packages/Latest/mutt.tgz /bin/rm -f /usr/ports/mail/mutt/mutt-1.2.5.tgz *** Error code 1 Stop in /usr/ports/mail/mutt. *** Error code 1 Stop in /usr/ports/mail/mutt. *** Error code 1 Stop in /usr/ports/mail/mutt. Script done on Wed Jan 2 14:56:05 2002 Hmm, those cd: can't cd to " and Segmentation fault - core dumped looks bad. Kernel says it's pkg_create segfaulting. So I've rebuild it with debug info. I have CPUTYPE=i686 and no other optimisations. This segfault is 100% repeatable. Here is output of gdb: Script started on Wed Jan 2 14:58:41 2002 GNU gdb 4.18 Copyright 1998 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 "i386-unknown-freebsd"... Core was generated by `pkg_create'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/libfetch.so.3...done. Reading symbols from /usr/lib/libmd.so.2...done. Reading symbols from /usr/lib/libc.so.4...done. Reading symbols from /usr/libexec/ld-elf.so.1...done. #0 0x280f32da in vfprintf () from /usr/lib/libc.so.4 (gdb) bt #0 0x280f32da in vfprintf () from /usr/lib/libc.so.4 #1 0x280ed49b in snprintf () from /usr/lib/libc.so.4 #2 0x804b0ec in chkifdepends (pkgname1=0xbfbff52b "for", pkgname2=0xab969fb
) at /usr/src/usr.sbin/pkg_install/lib/deps.c:91 #3 0x804b055 in sortdeps (pkgs=0xbfbff084) at /usr/src/usr.sbin/pkg_install/lib/deps.c:51 #4 0x8049d12 in pkg_perform (pkgs=0xbfbff2f0) at /usr/src/usr.sbin/pkg_install/create/perform.c:134 #5 0x8049a05 in main (argc=17, argv=0xbfbff2f0) at /usr/src/usr.sbin/pkg_install/create/main.c:182 #6 0x80496c1 in _start () (gdb) quit Script done on Wed Jan 2 14:58:52 2002 Eugene Grosbein To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message