Opened 3 years ago

Closed 3 years ago

#17546 closed bug (fixed)

Jam segfault on --host-only build duce

Reported by: kallisti5 Owned by:
Priority: normal Milestone: R1/beta4
Component: Build System/Jamfile Engine Version: R1/beta3
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

Originally reported and solved in #13309, it looks like this one has cropped up again.

./configure --host-only
jam -q \<build\>package \<build\>package_repo
Starting build of type regular ... 
AddHaikuImagePackages: package bash not available! 
AddHaikuImagePackages: package bc not available! 
AddHaikuImagePackages: package freetype not available! 
AddHaikuImagePackages: package libsolv not available! 
AddHaikuImagePackages: package zlib not available! 
AddHaikuImagePackages: package coreutils not available! 
AddHaikuImagePackages: package icu66 not available! 
AddHaikuImagePackages: package gcc_syslibs not available! 
/home/kallisti5/Code/haiku/src/add-ons/kernel/bus_managers/config_manager/arch/Jamfile: No such file or directory
/home/kallisti5/Code/haiku/src/add-ons/kernel/bus_managers/isa/arch/Jamfile: No such file or directory
/home/kallisti5/Code/haiku/src/add-ons/kernel/bus_managers/pci/arch/Jamfile: No such file or directory
Segmentation fault (core dumped)

Going off of how debugging went in #13309, looks like another infinite recursion has popped up.

jam -d5 -q \<build\>package \<build\>package_repo | grep include
.
.
> include ../src/add-ons/kernel/cpu/Jamfile 
>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>| include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>| include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>>| include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>>|>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>>|>>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>>|>>>>|> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>>|>>>>|>>> include ../src/add-ons/kernel/cpu/Jamfile 
 include ../src/add-ons/kernel/cpu/Jamfile 
>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>| include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>| include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>>|> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>>|>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>>|>>>>| include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>>|>>>>|>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>>>>|>>>>|>>>>|>>>>|>>>>|>>>> include ../src/add-ons/kernel/cpu/Jamfile 
> include ../src/add-ons/kernel/cpu/Jamfile 
>>> include ../src/add-ons/kernel/cpu/Jamfile 
>>>>| include ../src/add-ons/kernel/cpu/Jamfile 
>>>>|>> include ../src/add-ons/kernel/cpu/Jamfile 
(segfault)

Change History (2)

comment:1 by kallisti5, 3 years ago

https://git.haiku-os.org/haiku/log/?qt=range&q=hrev50956..hrev50957 is where this was originally solved.

tldr:

File: ../src/add-ons/kernel/cpu/Jamfile
Has: SubInclude HAIKU_TOP src add-ons kernel cpu $(TARGET_KERNEL_ARCH_DIR) ;

$(TARGET_KERNEL_ARCH_DIR) is blank... so:

File: ../src/add-ons/kernel/cpu/Jamfile
Has: SubInclude HAIKU_TOP src add-ons kernel cpu  ;

We probably should add checks to jam for infinite recursion :-)

comment:2 by kallisti5, 3 years ago

Milestone: UnscheduledR1/beta4
Resolution: fixed
Status: newclosed

solved (again) via hrev55797.

I opened #17547 to solve the lack of recursion detection in jam.

Note: See TracTickets for help on using tickets.