Date: Thu, 19 Feb 2015 22:31:48 -0700 From: Ian Lepore <ian@freebsd.org> To: Don Lewis <truckman@FreeBSD.org> Cc: gjb@FreeBSD.org, stable@FreeBSD.org Subject: Re: building an 8.4-STABLE i386 poudriere jail on an 10.0-STABLE amd64 host Message-ID: <1424410308.1108.56.camel@freebsd.org> In-Reply-To: <201408300043.s7U0hIXf073387@gw.catspoiler.org> References: <201408300043.s7U0hIXf073387@gw.catspoiler.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2014-08-29 at 17:43 -0700, Don Lewis wrote: > On 29 Aug, Don Lewis wrote: > > > With the patch below, I get further, but now lint is core getting > > SIGBUS. > > > > ===> usr.bin/xlint/llib (all) > > lint -cghapbx -Cposix /var/poudriere/jails/84STABLEi386/usr/src/usr.bin/xlint/llib/llib-lposix > > llib-lposix: > > lint: /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/libexec/lint1 got signal 10 > > *** Error code 1 > > 1 error > > *** Error code 2 > > 1 error > > *** Error code 2 > > 1 error > > *** Error code 2 > > 1 error > > *** Error code 2 > > 1 error > > *** [buildworld] Error code 2 > > 1 error > > ====>> Error: Failed to 'make buildworld' > > I simplified things a bit and am now just doing normal crossbuilds. I'm > still seeing core dumps, even on amd64 -> amd64 crossbuilds. I'm not > seeing a reason, though ... > > # gdb /usr/obj/tmp/stable8/tmp/usr/libexec/lint1 /usr/obj/tmp/stable8/usr.bin/xlint/llib/lint1.core > GNU gdb 6.1.1 [FreeBSD] > Copyright 2004 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 "amd64-marcel-freebsd"... > Core was generated by `lint1'. > Program terminated with signal 10, Bus error. > #0 0x000000000040b061 in getcnode (tp=0x800c1f400, v=0x800c08160) > at /tmp/stable8/usr.bin/xlint/lint1/tree.c:260 > 260 n->tn_val->v_u = v->v_u; > (gdb) list > 255 n->tn_op = CON; > 256 n->tn_type = tp; > 257 n->tn_val = tgetblk(sizeof (val_t)); > 258 n->tn_val->v_tspec = tp->t_tspec; > 259 n->tn_val->v_ansiu = v->v_ansiu; > 260 n->tn_val->v_u = v->v_u; > 261 free(v); > 262 return (n); > 263 } > 264 > (gdb) print n > $1 = (tnode_t *) 0x80068f000 > (gdb) print v > $2 = (val_t *) 0x800c08160 > (gdb) print *n > $3 = {tn_op = CON, tn_type = 0x800c1f400, tn_lvalue = 0, tn_cast = 0, > tn_parn = 0, tn_u = {tn_s = {_tn_left = 0x80068f028, _tn_right = 0x0}, > _tn_sym = 0x80068f028, _tn_val = 0x80068f028, _tn_strg = 0x80068f028}} > (gdb) print *v > $4 = {v_tspec = INT, v_ansiu = 0, v_u = {_v_quad = 128, > _v_ldbl = 4.6658554008095674912363595950328574e-4949}} > (gdb) print *n->tn_u._tn_val > $5 = {v_tspec = INT, v_ansiu = 0, v_u = {_v_quad = 0, _v_ldbl = 0}} > (gdb) print v->v_u > $6 = {_v_quad = 128, _v_ldbl = 4.6658554008095674912363595950328574e-4949} > (gdb) print n->tn_u._tn_val->v_u > $7 = {_v_quad = 0, _v_ldbl = 0} > > > > Looks like all the pointers are OK, so why the SIGBUS? A late late followup on this... I committed changes to 8-stable so that as of r279041 it can be built on a 10 or later build host, modulo this problem with lint1, which is baffling. The followup is because I stumbled across a workaround for it: just add LINT=/usr/bin/lint to your make command line. That allows the buildworld of 8-stable to complete on my 10-stable machine (amd64 non-cross build). It would be nice to figure out the lint thing, but at least I've finally accomplished what I set out to do this morning that I thought would be easy: build an 8-stable world to test running an 8-stable jail on this 10-stable machine. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1424410308.1108.56.camel>