Bug 249957 - FreeBSD head: parallel buildkernel fails because of processes removing and recreating opt_global.h
Summary: FreeBSD head: parallel buildkernel fails because of processes removing and re...
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-28 15:55 UTC by Martin Birgmeier
Modified: 2020-09-28 17:26 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Birgmeier 2020-09-28 15:55:40 UTC
Scenario:
- FreeBSD head running some older revision in a virtual machine (bhyve on a 12.1 host)
- /usr/src and /usr/obj mounted via NFS
- running the following command in /usr/src:

nice -20 make -j8 buildworld buildkernel KERNCONF="XYZZY_SMP XYZZY_SMP_NOSPIN XYZZY_SMP_NOSPIN_HYPERV GENERIC" |& tee /usr/obj$PWD/make.-j8.buildworld.buildkernel.KERNCONF=XYZZY_SMP.XYZZY_SMP_NOSPIN.XYZZY_SMP_NOSPIN_HYPERV.GENERIC.`stddate`@`hostname -s`

Result:
- The buildworld part succeeds
- The buildkernel part always fails because various opt_global.h files are recreated in parallel branches of the build (see the log below).
- This happens at varying levels of progress of the kernel build.

Note:
- I have had this for a long time now with head.
- The buildkernel succeeds if I omit the -j8.

--- bhnd_nvram_if.h ---                                                                                                            
awk -f /auto/z/SRC/FreeBSD/head/sys/tools/makeobjops.awk /auto/z/SRC/FreeBSD/head/sys/dev/bhnd/nvram/bhnd_nvram_if.m -h
--- all_subdir_cloudabi ---                                                                                                        
cc -target x86_64-unknown-freebsd13.0 --sysroot=/auto/z/OBJ/FreeBSD/amd64/head/amd64.amd64/tmp -B/auto/z/OBJ/FreeBSD/amd64/head/amd64.amd64/tmp/usr/bin  -O2 -pipe -fno-common  -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -DKLD_TIED -nostdinc   -DHAVE_KERNE
L_OPTION_HEADERS -include /auto/z/OBJ/FreeBSD/amd64/head/amd64.amd64/sys/XYZZY_SMP/opt_global.h -I. -I/auto/z/SRC/FreeBSD/head/sys -I/auto/z/SRC/FreeBSD/head/sys/contrib/ck/include -fno-common -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdebug-prefix
-map=./machine=/auto/z/SRC/FreeBSD/head/sys/amd64/include -fdebug-prefix-map=./x86=/auto/z/SRC/FreeBSD/head/sys/x86/include -I/auto/z/OBJ/FreeBSD/amd64/head/amd64.amd64/sys/XYZZY_SMP     -MD  -MF.depend.cloudabi_futex.o -MTcloudabi_futex.o -mcmodel=kernel -mno-re
d-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wu--- all_subdir_cam ---
cc -target x86_64-unknown-freebsd13.0 --sysroot=/auto/z/OBJ/FreeBSD/amd64/head/amd64.amd64/tmp -B/auto/z/OBJ/FreeBSD/amd64/head/amd64.amd64/tmp/usr/bin  -O2 -pipe -fno-common  -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -DKLD_TIED -nostdinc   -DHAVE_KERNE
L_OPTION_HEADERS -include /auto/z/OBJ/FreeBSD/amd64/head/amd64.amd64/sys/XYZZY_SMP/opt_global.h -I. -I/auto/z/SRC/FreeBSD/head/sys -I/auto/z/SRC/FreeBSD/head/sys/contrib/ck/include -fno-common -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdebug-prefix
-map=./machine=/auto/z/SRC/FreeBSD/head/sys/amd64/include -fdebug-prefix-map=./x86=/auto/z/SRC/FreeBSD/head/sys/x86/include -I/auto/z/OBJ/FreeBSD/amd64/head/amd64.amd64/sys/XYZZY_SMP     -MD  -MF.depend.ata_all.o -MTata_all.o -mcmodel=kernel -mno-red-zone -mno-mm
x -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__free
bsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-value -Wno-addre
ss-of-packed-member -Wno-format-zero-length   -mno-aes -mno-avx  -std=iso9899:1999 -c /auto/z/SRC/FreeBSD/head/sys/cam/ata/ata_all.c -o ata_all.o
--- all_subdir_cloudabi ---                                      
ndef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign 
-Wno-error-shift-negative-value -Wno-address-of-packed-member -Wno-format-zero-length   -mno-aes -mno-avx  -std=iso9899:1999 -c /auto/z/SRC/FreeBSD/head/sys/compat/cloudabi/cloudabi_futex.c -o cloudabi_futex.o
--- all_subdir_cloudabi64 ---                                                                                                      
--- offset.inc ---                                                                                                                 
--- all_subdir_cloudabi32 ---                                    
make[4]: make[4]: don't know how to make opt_global.h. Stop                                                                        
                                                                 
make[4]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/cloudabi32                                                                
*** [all_subdir_cloudabi32] Error code 2                                                                                           
                                                                 
make[3]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules                                                                           
--- db_print.o ---                                                                                                                 
ctfconvert -L VERSION -g db_print.o                              
--- modules-all ---                                                                                                                
--- all_subdir_cloudabi64 ---                                    
sh /auto/z/SRC/FreeBSD/head/sys/kern/genoffset.sh genoffset.o > offset.inc                                                         
A failure has been detected in another branch of the parallel make                                                                 
                                                                 
make[4]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/cloudabi64                                                                
--- all_subdir_bhnd ---                                                                                                            
A failure has been detected in another branch of the parallel make                                                                 

make[5]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/bhnd/bhndb                                                                
--- all_subdir_cloudabi64 ---                                    
*** [all_subdir_cloudabi64] Error code 2                                                                                           
                                                                                                                                   
make[3]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules                                                                           
--- all_subdir_bhnd ---                                          
*** [all_subdir_bhnd/bhndb] Error code 2                                                                                           
                                                                 
make[4]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/bhnd                                                                      
1 error                                                                                                                            
                                                                 
make[4]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/bhnd                                                                      
*** [all_subdir_bhnd] Error code 2                                                                                                 
                                                                 
make[3]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules                                                                           
--- all_subdir_bxe ---                                                                                                             
:> export_syms                                                                                                                     
awk -f /auto/z/SRC/FreeBSD/head/sys/conf/kmod_syms.awk if_bxe.ko.full  export_syms | xargs -J% objcopy % if_bxe.ko.full
A failure has been detected in another branch of the parallel make                                                                                                                                                                                             [0/1055]
                                                                                                                                   
make[4]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/bxe                                                                       
*** [all_subdir_bxe] Error code 2                                                                                                  
                                                                 
make[3]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules                                                                           
--- all_subdir_ata ---                                           
ctfconvert -L VERSION -g ata-via.o                               
A failure has been detected in another branch of the parallel make                                                                                                                                                                                                     
                                                                 
make[7]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/ata/atapci/chipsets/atavia                                                
*** [all_subdir_ata/atapci/chipsets/atavia] Error code 2                                                                           
                                                                 
make[6]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/ata/atapci/chipsets                                                       
1 error                                                          
                                                                 
make[6]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/ata/atapci/chipsets                                                       
*** [all_subdir_ata/atapci/chipsets] Error code 2                                                                                  
                                                                                                                                   
make[5]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/ata/atapci                                                                
1 error                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                       
make[5]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/ata/atapci                                                                                                                                                                                                    
*** [all_subdir_ata/atapci] Error code 2                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                       
make[4]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/ata                                                                                                                                                                                                           
1 error                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                       
make[4]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/ata                                                                                                                                                                                                           
*** [all_subdir_ata] Error code 2                                                                                                                                                                                                                                      
                                                                 
make[3]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules                                                                                                                                                                                                               
--- all_subdir_cloudabi ---                                                                                                                                                                                                                                            
ctfconvert -L VERSION -g cloudabi_futex.o                                                                                          
A failure has been detected in another branch of the parallel make                                                                 
                                                                 
make[4]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/cloudabi                                                                  
*** [all_subdir_cloudabi] Error code 2                           
                                                                                                                                   
make[3]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules                                                                           
--- all_subdir_cam ---                                           
ctfconvert -L VERSION -g ata_all.o                                                                                                 
A failure has been detected in another branch of the parallel make                                                                 
                                                                 
make[4]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules/cam                                                                       
*** [all_subdir_cam] Error code 2                                
                                                                                                                                   
make[3]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules                                                                           
7 errors                                                         
                                                                                                                                   
make[3]: stopped in /auto/z/SRC/FreeBSD/head/sys/modules                                                                           
*** [modules-all] Error code 2                                                                                                     

make[2]: stopped in /auto/z/OBJ/FreeBSD/amd64/head/amd64.amd64/sys/XYZZY_SMP                                                       
1 error                                                          
                                                                                                                                   
make[2]: stopped in /auto/z/OBJ/FreeBSD/amd64/head/amd64.amd64/sys/XYZZY_SMP                                                       
*** [buildkernel] Error code 2                                                                                                     
                                                                 
make[1]: stopped in /auto/z/SRC/FreeBSD/head                                                                                       
1 error                                                          
                                                                                                                                   
make[1]: stopped in /auto/z/SRC/FreeBSD/head                                                                                       
*** [buildkernel] Error code 2                                   
                                                                                                                                   
make: stopped in /auto/z/SRC/FreeBSD/head                                                                                          
1 error                                                          
                                                                                                                                   
make: stopped in /auto/z/SRC/FreeBSD/head                                                                                          
nice -20 make -j8 buildworld buildkernel  2>&1  53144.09s user 2709.28s system 371% cpu 4:10:38.67 total                           
[0]#