From owner-freebsd-arm@freebsd.org Sun Jan 15 06:53:24 2017 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4CD0BCB1830 for ; Sun, 15 Jan 2017 06:53:24 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-14.reflexion.net [208.70.210.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F16951C6A for ; Sun, 15 Jan 2017 06:53:23 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 3749 invoked from network); 15 Jan 2017 06:54:45 -0000 Received: from unknown (HELO mail-cs-01.app.dca.reflexion.local) (10.81.19.1) by 0 (rfx-qmail) with SMTP; 15 Jan 2017 06:54:45 -0000 Received: by mail-cs-01.app.dca.reflexion.local (Reflexion email security v8.20.1) with SMTP; Sun, 15 Jan 2017 01:53:16 -0500 (EST) Received: (qmail 13548 invoked from network); 15 Jan 2017 06:53:16 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 15 Jan 2017 06:53:16 -0000 Received: from [192.168.1.111] (c-67-170-167-181.hsd1.or.comcast.net [67.170.167.181]) by iron2.pdx.net (Postfix) with ESMTPSA id 783BDEC8A88; Sat, 14 Jan 2017 22:53:15 -0800 (PST) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\)) Subject: qemu-arm-static appears to have problems with signal delivery during (at least) poudrirer-devel based cross builds of some ports with ALLOW_MAKE_JOBS=yes Message-Id: Date: Sat, 14 Jan 2017 22:53:14 -0800 To: freebsd-arm , FreeBSD Toolchain X-Mailer: Apple Mail (2.3259) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Jan 2017 06:53:24 -0000 [Context: head (12) -r312009 and ports head -r431413.] I've been experimenting on amd64 with poudriere-devel with -x for -a arm.armv6 and I ran into: > TCG temporary leak before 00021826 > qemu: uncaught target signal 4 (Illegal instruction) - core dumped in 3 of the 31 ports for the build, but 4 skipped so 3 of 27 attempted. The 00021826 is the same number in all the examples so far (whatever its base). These seem to be the only TCG messages and each failure starts with one and then reports the qemu message. (Also true for the below.) As far as I can tell the TCG notice is the report of an internal qemu problem that is then translated into an Illegal instruction. This was with ALLOW_MAKE_JOBS=yes but -J 1 for poudriere. For 2 of the problem ports retries worked, still using ALLOW_MAKE_JOBS=yes and -J 1 . But the 3rd port failed each time tried with ALLOW_MAKE_JOBS=yes --but in a different step each time. In all failure cases it was gmake that got the "illegal instruction". But disabling ALLOW_MAKE_JOBS=yes appears (so far) to avoid the issue. For example, that 3rd failing port built fine. (I've been doing more ports since, with ALLOW_MAKE_JOBS=yes repeatedly failing and lack of it working.) My guess is SIGCHLD delivery sometimes touches something (or a timing) that is not handled well in qemu-arm-static. I've had not problems on an rpi2 or bpim3 in the past. (I have seen some analogous "soemtimes" issues on powerpc under and version of lang that mishandled the stack part of the ABI FreeBSD uses, SIGCHLD sometimes getting on the stack at a bad-time for the messed up code generation, leading to stack corruption. Code not getting signals had no problems.) Note: The amd64 context is FreeBSD under VirtualBox under macOS and it has had no problem for native builds of world, kernel, or ports. === Mark Millard markmi at dsl-only.net