From owner-freebsd-ports@FreeBSD.ORG Sun Feb 16 16:49:02 2014 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3632CC97; Sun, 16 Feb 2014 16:49:02 +0000 (UTC) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 1D2511BD5; Sun, 16 Feb 2014 16:49:01 +0000 (UTC) Received: from Alfreds-MacBook-Pro.local (unknown [50.204.88.5]) by elvis.mu.org (Postfix) with ESMTPSA id F41131A3C29; Sun, 16 Feb 2014 08:49:00 -0800 (PST) Message-ID: <5300EC12.80609@freebsd.org> Date: Sun, 16 Feb 2014 08:49:22 -0800 From: Alfred Perlstein Organization: FreeBSD User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 MIME-Version: 1.0 To: pkg@freebsd.org, ports@freebsd.org Subject: Re: pkg-static segfaults when a port makes a package in chroot/nanobsd. References: <5300463F.9090301@freebsd.org> In-Reply-To: <5300463F.9090301@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.17 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Feb 2014 16:49:02 -0000 I have a ticket open in github for this, but I wanted to mail in and let people know that I figured the problem out somewhat: https://github.com/freebsd/pkg/issues/729 > OK I sort of figured it out. > > Basically the build script that I have issues the following command: > TARGET=amd64 TARGET_ARCH=amd64 NAS_PORTS_DIRECT=1 make > __MAKE_CONF=/vol/data/alfred/freenas/os-base/amd64/make.conf.build > SRC_BASE=/usr/src WRKDIRPREFIX=/usr/workdir -C > /usr/ports_dir/textproc/libxml2 clean all install package BATCH=yes > -DUSE_PACKAGE_DEPENDS -DFORCE_PACKAGE -DFORCE_PKG_REGISTER > > The after adding "-d lx" to the command for make(1) I saw that it > looks like the "install" target will "rm -rf" the stage dir! > > By switching around the order of targets from: > clean all install package > TO: > clean all package install > > It stopped deleting the .metadir which in turn stopped it from > segfaulting. > > It looks like there's a bug in the port's Mk system as well as pkgng. > > For now I think I may have a workaround. > Thanks everyone! For what it's worth my ports tree's latest commit is this: commit e6fcb0faa8aeb5905bad5c295f319917aafd21ff Author: makc Date: Thu Feb 13 14:25:26 2014 +0000 misc/py-qt4-demo: - Use plist instead of PORTEXAMPLES, otherwise the package is bogus when NOPORTEXAMPLES is set - Use compileall.py to byte-compile installed examples - Use options helpers On 2/15/14, 9:01 PM, Alfred Perlstein wrote: > Hey folks, I'm doing a build of nanobsd derivative and trying to get > it to work on 10-stable with the tip of freebsd ports as of a couple > of days ago. > > I'm getting a segfault in pkg-static when trying to "make package". > > The stack trace is this: > (gdb) bt > #0 0x00000000005a0bcc in ucl_obj_ref (obj=0x0) at ucl.h:743 > #1 0x00000000005a0b99 in ucl_parser_get_object (parser=0x801027880) > at > /usr/workdir/usr/ports/ports-mgmt/pkg/work/pkg-1.2.6/libpkg/../external/libucl/src/ucl_util.c:230 > #2 0x0000000000564795 in pkg_parse_manifest_file (pkg=0x80104e1c0, > file=0x7fffffffb010 > "/usr/workdir/usr/ports_dir/textproc/libxml2/work/.metadir/+MANIFEST", > keys=0x8010282e0) at pkg_manifest.c:748 > #3 0x000000000043d83d in pkg_create_staged ( > outdir=0x7fffffffbc5d "/usr/ports/packages/All", format=TXZ, > rootdir=0x7fffffffbba5 > "/usr/workdir/usr/ports_dir/textproc/libxml2/work/stage", > md_dir=0x7fffffffbbdf > "/usr/workdir/usr/ports_dir/textproc/libxml2/work/.metadir", > plist=0x7fffffffbc1c > "/usr/workdir/usr/ports_dir/textproc/libxml2/work/.PLIST.mktmp", > old=false) at pkg_create.c:248 > #4 0x0000000000407e93 in exec_create (argc=1, argv=0x7fffffffb720) > at create.c:262 > #5 0x000000000040bd47 in main (argc=10, argv=0x7fffffffb6d8) at > main.c:774 > (gdb) > > The file > /usr/workdir/usr/ports_dir/textproc/libxml2/work/.metadir/+MANIFEST > doesn't seem to exist. > > > The command being run is this: > env TARGET=amd64 TARGET_ARCH=amd64 NAS_PORTS_DIRECT=1 make > __MAKE_CONF=/vol/data/alfred/freenas/os-base/amd64/make.conf.build > SRC_BASE=/usr/src WRKDIRPREFIX=/usr/workdir -C > /usr/ports_dir/textproc/libxml2 clean all install package BATCH=yes > -DUSE_PACKAGE_DEPENDS -DFORCE_PACKAGE -DFORCE_PKG_REGISTER > > > Any ideas? There is a large env being set: > > The environment looks like this, you can probably grep -v out the > ^NANO stuff to make this readable: > NANO_PYTHON_DEFAULT_VERSION=python2.7 > SUDO_COMMAND=/usr/local/bin/zsh > NANO_SRC=/vol/data/alfred/freenas/FreeBSD/src > NANO_MODULES= cc/cc_cdg cc/cc_chd cc/cc_cubic cc/cc_hd cc/cc_htcp > cc/cc_vegas cxgb cxgbe cyclic dtrace ext2fs fdescfs geom ipmi krpc > libiconv libmchain lindev linprocfs linsysfs linux nfs_common > nfsclient nfslock ispfw/ispfw opensolaris pf pflog smbfs tmpfs udf > usb/xhci zfs ctl cxgbe/t4_firmware cxgbe/t5_firmware iscsi syscons > NANO_LABEL=DarkShield > NANO_MEDIASIZE=14450688 > NANO_NEWFS=-b 4096 -f 512 -i 8192 -O1 -U > LOGNAME=root > NANO_TOOLS=/vol/data/alfred/freenas/build/nanobsd > NANO_MAKE_CONF_BUILD=/vol/data/alfred/freenas/os-base/amd64/make.conf.build > NAS_PORTS_DIRECT=1 > NANO_BOOTLOADER=boot/boot0 > MAKELEVEL=1 > AVATAR_ROOT=/vol/data/alfred/freenas > NANO_XZ=pxz > MAKEOBJDIRPREFIX=/vol/data/alfred/freenas/os-base/amd64 > FREEBSD_PACKAGE_MIRROR_32=http://mirror.exonetric.net/pub/pkgng/freebsd:9:x86:32/latest > NANO_PMAKE=make -j 9 > SCRIPT=typescript > NANO_ARCH=amd64 > FREEBSD_PKGCACHE_32=/freenas-build/freebsd-packages-32 > MASTER_SITE_OVERRIDE=http://build/distcache/${DIST_SUBDIR}/ > MAIL=/var/mail/root > NANO_LOCAL_DIRS= pbi-wrapper extract-tarball > NANO_CONFSIZE=2048 > MAKEFLAGS= .MAKE.LEVEL.ENV=MAKELEVEL > NANO_HEADS=16 > DISTCACHE= > MAKE_JOBS=9 > PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/alfred/bin > FREEBSD_DISTCACHE=/freenas-build/freebsd-distfiles > NANO_IMAGES=2 > NANO_CFG_BASE=/vol/data/alfred/freenas/nanobsd > NANO_MAKE_CONF_INSTALL=/vol/data/alfred/freenas/os-base/amd64/make.conf.install > SUDO_GID=1001 > OLDPWD=/vol/data/alfred/freenas/FreeBSD/ports/devel/py-fake-factory > .MAKE.LEVEL.ENV=MAKELEVEL > NANO_DATASIZE=4096000 > FREEBSD_FTP_MIRROR=ftp://ftp.freebsd.org > PWD=/vol/data/alfred/freenas/FreeBSD/ports/www/py-django-bootstrap-form > _=/usr/bin/make > REVISION=b28fa34 > FREEBSD_PACKAGE_MIRROR=http://pkg.cdn.pcbsd.org/freenas > NANO_WORLDDIR=/vol/data/alfred/freenas/os-base/amd64/_.w > FREENAS_ARCH=amd64 > NANO_ARCH_HUMANIZED=x64 > TERM=screen > NANO_NAME=DarkShield-9.2.0-RELEASE-b28fa34-x64 > NANO_IMGNAME=DarkShield-9.2.0-RELEASE-b28fa34-x64 > NANO_MAKEFS=makefs -B big -o > bsize=4096,fsize=512,density=8192,optimization=space > FREEBSD_PKGCACHE=/freenas-build/freebsd-packages > NANO_CODESIZE=0 > HOME=/root > USER=root > NANO_DRIVE=ufs/DarkShield > NANO_ARGS= > NANO_KERNEL=/vol/data/alfred/freenas/nanobsd/FREENAS.amd64 > NANO_BOOT0CFG=-o packet -s 1 -m 3 -t 18 > DEFAULT_VERSIONS=python=2.7 > SHELL=/usr/local/bin/zsh > SVNREVISION=b28fa34 > NANO_SECTS=63 > SUDO_USER=alfred > SUDO_UID=1001 > USERNAME=root > AVATAR_COMPONENT=os-base > FREEBSD_RELEASE_VERSION=9.1-RELEASE > VERSION=9.2.0-RELEASE > NANO_OBJ=/vol/data/alfred/freenas/os-base/amd64 > GIT_LOCATION=INTERNAL > SHLVL=2 > FREENAS_PLUGINCACHE=/freenas-build/freenas-plugins > > > -Alfred