Subject: bin/5225: make dumps core when doing multiple jobs
To: None <gnats-bugs@gnats.netbsd.org>
From: Jason R. Thorpe <thorpej@nas.nasa.gov>
List: netbsd-bugs
Date: 03/28/1998 04:18:17
>Number: 5225
>Category: bin
>Synopsis: make dumps core when doing multiple jobs
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: bin-bug-people (Utility Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Mar 28 13:50:01 1998
>Last-Modified:
>Originator: Jason R. Thorpe
>Organization:
Numerical Aerospace Simulation Facility - NASA Ames
>Release: NetBSD 1.3E, March 28, 1998
>Environment:
System: NetBSD icky 1.3E NetBSD 1.3E (ICKY) #4: Fri Mar 27 12:39:09 PST 1998 thorpej@icky:/u1/netbsd/src/sys/arch/i386/compile/ICKY i386
>Description:
Christos' latest round of changes to make(1) seem to have
broken something. When doing a "make -j8 clean" in /usr/pkgsrc,
I see:
icky:thorpej 146$ sudo make -j8 clean
--- clean ---
===> archivers
Segmentation fault - core dumped
*** Error code 139
1 error
icky:thorpej 147$
Quick examination with gdb reveals:
icky:thorpej 21$ sudo gdb obj.i386/make /usr/pkgsrc/archivers/make.core
GDB is free software and you are welcome to 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.
GDB 4.16 (i386-netbsd), Copyright 1996 Free Software Foundation, Inc...
Core was generated by `make'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/libexec/ld.so...done.
Reading symbols from /usr/lib/libc.so.12.26...done.
#0 0x9aff in Main_ParseArgLine (line=0xefbfd756 " -j 8")
at /u1/netbsd/src/usr.bin/make/main.c:391
391 buf = emalloc(strlen(line) + strlen(argv0) + 2);
(gdb) print argv0
$1 = 0x0
(gdb)
`argv0' is initialized at the top of that function as:
char *argv0 = Var_Value(".MAKE", VAR_GLOBAL, &p1);
>How-To-Repeat:
See above.
>Fix:
Unknown. (I don't want to get to know make(1) that well,
either...)
>Audit-Trail:
>Unformatted: