NetBSD Problem Report #18573

Received: (qmail 14362 invoked by uid 605); 7 Oct 2002 19:24:03 -0000
Message-Id: <200210071923.g97JNkC14374@mouse.elfie.org>
Date: Mon, 7 Oct 2002 15:23:46 -0400 (EDT)
From: John Franklin <franklin@mouse.elfie.org>
Sender: gnats-bugs-owner@netbsd.org
Reply-To: franklin@mouse.elfie.org
To: gnats-bugs@gnats.netbsd.org
Subject: nbmake -j doesn't stop on error
X-Send-Pr-Version: 3.95

>Number:         18573
>Category:       toolchain
>Synopsis:       nbmake -j doesn't stop on error
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    toolchain-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Oct 07 19:25:00 +0000 2002
>Closed-Date:    Sat Dec 20 00:19:30 +0000 2003
>Last-Modified:  Sat Dec 20 00:20:01 +0000 2003
>Originator:     John Franklin
>Release:        NetBSD 1.6I - 7 Oct 02
>Organization:
John Franklin
franklin@elfie.org
ICBM: 35°43'56"N 78°53'27"W
>Environment:


System: NetBSD deathmitten 1.6B NetBSD 1.6B (DM.MP) #0: Sun Jun 30 16:34:40 EDT 2002 franklin@deathmitten:/usr/src/sys/arch/i386-MP/compile/DM.MP i386
Architecture: i386
Machine: i386
>Description:
The nbmake process will skip from dependall to install stages if an error occurs with -j <n> where n is anything larger than 1.  Without the -j option, the build will stop when the error is discovered.

>How-To-Repeat:
Break any file (say, by removing a semicolon), then:

./build.sh -j 2 <-whatever you normally use>


>Fix:

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: jmc 
State-Changed-When: Sat Dec 20 00:18:29 UTC 2003 
State-Changed-Why:  
Fixed via reworking of error checking for shells that provide no global method 
to exit on any command having non-zero error. For sh this means wrapping 
all commands with { ... n } || exit $?. 

From: James Chacon <jmc@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:  
Subject: pr/18573 CVS commit: src/usr.bin/make
Date: Sat, 20 Dec 2003 00:18:22 +0000 (UTC)

 Module Name:	src
 Committed By:	jmc
 Date:		Sat Dec 20 00:18:22 UTC 2003

 Modified Files:
 	src/usr.bin/make: job.c job.h

 Log Message:
 Fixes for PR#18573 (make -j not stopping correctly on error).
 Using -e in sh/ksh to stop on error doesn't work with grouped commands. At
 least for any SUSE compliant sh(1). Instead, extend the Shell struct and add
 errOut which provides a template to use to check error status from commands.


 To generate a diff of this commit:
 cvs rdiff -r1.82 -r1.83 src/usr.bin/make/job.c
 cvs rdiff -r1.20 -r1.21 src/usr.bin/make/job.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.51 2026/08/10 02:28:17 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.