Should be fixed in -current as of a few minutes ago. A NULL-check
was lost in dhclient.c.

Please resubmit if this does not fix the issue!

.... Ken

On Fri, Jun 01, 2018 at 04:53:36AM +0200, Klemens Nanni wrote:
> Autoupgrading with latest amd64 bsd.rd on my X250, I saw
> 
>       Mounting root filesystem (mount -o ro /dev/sd1a /mnt)...OK.
>       Segmentation fault
>       Force checking of clean non-root filesystems? [no] no
> 
> Upgrading failed, so while still in the installer, I sprinkled some
> `set -x' into install.sub through
> 
>       $ sed -i '/^function-name/a\
>       set -x
>       ' install.sub
> 
> and reran autoinstall again to pin it down to dhclient when run from
> ifstart() after parse_hn_line() picked up `dhcp' from hostname.trunk0.
> 
> This happens reproducibly during autoupgrade, but a manual
> 
>       $ ifconfig trunk0 down;dhclient trunk0
>       trunk0: no lease .......... sleeping
> 
> fails to trigger it. My machine is connected to an IPv6 only network
> via LAN (em0), no DHCP running.
> 
> See hostname.trunk0, /tmp/ai/ai.log with execution tracing and dmesg
> from bsd.rd below.
> 
> ---
>       trunkproto failover trunkport em0 trunkport iwm0
>       inet6 autoconf
>       dhcp
> 
> ---
> Choose your keyboard layout ('?' or 'L' for list) [default] default
> Available disks are: sd0 sd1.
> Which disk is the root disk? ('?' for details) [sd0] sd1
> Checking root filesystem (fsck -fp /dev/sd1a)...OK.
> Mounting root filesystem (mount -o ro /dev/sd1a /mnt)...OK.
> ifstart               typeset _if=em0 _hn=/mnt/etc/hostname.em0 _cmds _i=0 
> _line
> ifstart               set -A _cmds
> ifstart               > /dev/null 
> ifstart               2>&1 
> ifstart               let NIFS++
> ifstart               set -o noglob
> ifstart               < /mnt/etc/hostname.em0 
> ifstart               read -- _line
> ifstart               IFS=
> ifstart               parse_hn_line up
> parse_hn_line typeset _af=0 _name=1 _mask=2 _bc=3 _prefix=2 _c _cmd _prev 
> _daddr
> parse_hn_line typeset _has_dhclient=false _has_inet6=false
> parse_hn_line set -A _c -- up
> parse_hn_line set -o noglob
> parse_hn_line ifconfig em0 inet6
> parse_hn_line > /dev/null 
> parse_hn_line 2>&1 
> parse_hn_line _has_inet6=true
> parse_hn_line _has_dhclient=true
> parse_hn_line _cmds[${#_cmds[*]}]=ifconfig em0 up
> parse_hn_line unset _c
> parse_hn_line set +o noglob
> parse_hn_line read -- _line
> parse_hn_line IFS=
> parse_hn_line let _i < 1
> parse_hn_line eval ifconfig em0 up
> parse_hn_line ifconfig em0 up
> parse_hn_line let _i++
> parse_hn_line let _i < 1
> parse_hn_line unset _cmds
> parse_hn_line set +o noglob
> ifstart               typeset _if=iwm0 _hn=/mnt/etc/hostname.iwm0 _cmds _i=0 
> _line
> ifstart               set -A _cmds
> ifstart               > /dev/null 
> ifstart               2>&1 
> ifstart               let NIFS++
> ifstart               set -o noglob
> ifstart               < /mnt/etc/hostname.iwm0 
> ifstart               read -- _line
> ifstart               IFS=
> ifstart               parse_hn_line up
> parse_hn_line typeset _af=0 _name=1 _mask=2 _bc=3 _prefix=2 _c _cmd _prev 
> _daddr
> parse_hn_line typeset _has_dhclient=false _has_inet6=false
> parse_hn_line set -A _c -- up
> parse_hn_line set -o noglob
> parse_hn_line ifconfig iwm0 inet6
> parse_hn_line > /dev/null 
> parse_hn_line 2>&1 
> parse_hn_line _has_inet6=true
> parse_hn_line _has_dhclient=true
> parse_hn_line _cmds[${#_cmds[*]}]=ifconfig iwm0 up
> parse_hn_line unset _c
> parse_hn_line set +o noglob
> parse_hn_line read -- _line
> parse_hn_line IFS=
> parse_hn_line parse_hn_line !/usr/local/bin/wireless &
> parse_hn_line typeset _af=0 _name=1 _mask=2 _bc=3 _prefix=2 _c _cmd _prev 
> _daddr
> parse_hn_line typeset _has_dhclient=false _has_inet6=false
> parse_hn_line set -A _c -- !/usr/local/bin/wireless &
> parse_hn_line set -o noglob
> parse_hn_line ifconfig iwm0 inet6
> parse_hn_line > /dev/null 
> parse_hn_line 2>&1 
> parse_hn_line _has_inet6=true
> parse_hn_line _has_dhclient=true
> parse_hn_line return
> parse_hn_line read -- _line
> parse_hn_line IFS=
> parse_hn_line let _i < 1
> parse_hn_line eval ifconfig iwm0 up
> parse_hn_line ifconfig iwm0 up
> parse_hn_line let _i++
> parse_hn_line let _i < 1
> parse_hn_line unset _cmds
> parse_hn_line set +o noglob
> ifstart               typeset _if=trunk0 _hn=/mnt/etc/hostname.trunk0 _cmds 
> _i=0 _line
> ifstart               set -A _cmds
> ifstart               > /dev/null 
> ifstart               2>&1 
> ifstart               let NIFS++
> ifstart               set -o noglob
> ifstart               < /mnt/etc/hostname.trunk0 
> ifstart               read -- _line
> ifstart               IFS=
> ifstart               parse_hn_line trunkproto failover trunkport em0 
> trunkport iwm0
> parse_hn_line typeset _af=0 _name=1 _mask=2 _bc=3 _prefix=2 _c _cmd _prev 
> _daddr
> parse_hn_line typeset _has_dhclient=false _has_inet6=false
> parse_hn_line set -A _c -- trunkproto failover trunkport em0 trunkport iwm0
> parse_hn_line set -o noglob
> parse_hn_line ifconfig trunk0 inet6
> parse_hn_line > /dev/null 
> parse_hn_line 2>&1 
> parse_hn_line _has_inet6=true
> parse_hn_line _has_dhclient=true
> parse_hn_line _cmds[${#_cmds[*]}]=ifconfig trunk0 trunkproto failover 
> trunkport em0 trunkport iwm0
> parse_hn_line unset _c
> parse_hn_line set +o noglob
> parse_hn_line read -- _line
> parse_hn_line IFS=
> parse_hn_line parse_hn_line inet6 autoconf
> parse_hn_line typeset _af=0 _name=1 _mask=2 _bc=3 _prefix=2 _c _cmd _prev 
> _daddr
> parse_hn_line typeset _has_dhclient=false _has_inet6=false
> parse_hn_line set -A _c -- inet6 autoconf
> parse_hn_line set -o noglob
> parse_hn_line ifconfig trunk0 inet6
> parse_hn_line > /dev/null 
> parse_hn_line 2>&1 
> parse_hn_line _has_inet6=true
> parse_hn_line _has_dhclient=true
> parse_hn_line true
> parse_hn_line let 2 > 1
> parse_hn_line _cmds[${#_cmds[*]}]=ifconfig trunk0 inet6 autoconf
> parse_hn_line V6_AUTOCONF=true
> parse_hn_line return
> parse_hn_line read -- _line
> parse_hn_line IFS=
> parse_hn_line parse_hn_line dhcp
> parse_hn_line typeset _af=0 _name=1 _mask=2 _bc=3 _prefix=2 _c _cmd _prev 
> _daddr
> parse_hn_line typeset _has_dhclient=false _has_inet6=false
> parse_hn_line set -A _c -- dhcp
> parse_hn_line set -o noglob
> parse_hn_line ifconfig trunk0 inet6
> parse_hn_line > /dev/null 
> parse_hn_line 2>&1 
> parse_hn_line _has_inet6=true
> parse_hn_line _has_dhclient=true
> parse_hn_line true
> parse_hn_line _c[0]=
> parse_hn_line _cmds[${#_cmds[*]}]=ifconfig trunk0  down;dhclient trunk0
> parse_hn_line V4_DHCPCONF=true
> parse_hn_line unset _c
> parse_hn_line set +o noglob
> parse_hn_line read -- _line
> parse_hn_line IFS=
> parse_hn_line let _i < 3
> parse_hn_line eval ifconfig trunk0 trunkproto failover trunkport em0 
> trunkport iwm0
> parse_hn_line ifconfig trunk0 trunkproto failover trunkport em0 trunkport iwm0
> parse_hn_line let _i++
> parse_hn_line let _i < 3
> parse_hn_line eval ifconfig trunk0 inet6 autoconf
> parse_hn_line ifconfig trunk0 inet6 autoconf
> parse_hn_line let _i++
> parse_hn_line let _i < 3
> parse_hn_line eval ifconfig trunk0  down;dhclient trunk0
> parse_hn_line ifconfig trunk0 down
> parse_hn_line dhclient trunk0
> Segmentation fault 
> parse_hn_line let _i++
> parse_hn_line let _i < 3
> parse_hn_line unset _cmds
> parse_hn_line set +o noglob
> Force checking of clean non-root filesystems? [no] no
> fsck -p 5f656a0f2dd36ec0.l...OK.
> fsck -p 5f656a0f2dd36ec0.m...OK.
> fsck -p 5f656a0f2dd36ec0.e...OK.
> fsck -p 5f656a0f2dd36ec0.f...OK.
> fsck -p 5f656a0f2dd36ec0.g...OK.
> fsck -p 5f656a0f2dd36ec0.i...OK.
> fsck -p 5f656a0f2dd36ec0.h...OK.
> fsck -p 5f656a0f2dd36ec0.k...OK.
> fsck -p 5f656a0f2dd36ec0.j...OK.
> fsck -p 5f656a0f2dd36ec0.d...OK.
> /dev/sd1a (5f656a0f2dd36ec0.a) on /mnt type ffs (rw, local)
> /dev/sd1l (5f656a0f2dd36ec0.l) on /mnt/cvs type ffs (rw, local, noatime, 
> nodev, noexec, nosuid)
> /dev/sd1m (5f656a0f2dd36ec0.m) on /mnt/home type ffs (rw, local, noatime, 
> nodev, nosuid)
> /dev/sd1e (5f656a0f2dd36ec0.e) on /mnt/usr type ffs (rw, local, noatime, 
> nodev)
> /dev/sd1f (5f656a0f2dd36ec0.f) on /mnt/usr/X11R6 type ffs (rw, local, nodev)
> /dev/sd1g (5f656a0f2dd36ec0.g) on /mnt/usr/local type ffs (rw, local, 
> noatime, nodev, wxallowed)
> /dev/sd1i (5f656a0f2dd36ec0.i) on /mnt/usr/ports type ffs (rw, local, 
> noatime, nodev, nosuid)
> /dev/sd1h (5f656a0f2dd36ec0.h) on /mnt/usr/src type ffs (rw, local, noatime, 
> nodev, noexec, nosuid)
> /dev/sd1k (5f656a0f2dd36ec0.k) on /mnt/usr/www type ffs (rw, local, noatime, 
> nodev, noexec, nosuid)
> /dev/sd1j (5f656a0f2dd36ec0.j) on /mnt/usr/xenocara type ffs (rw, local, 
> noatime, nodev, noexec, nosuid)
> /dev/sd1d (5f656a0f2dd36ec0.d) on /mnt/var type ffs (rw, local, noatime, 
> nodev, noexec, nosuid)
> 
> Let's upgrade the sets!
> Location of sets? (disk http or 'done') [http] disk
> Is the disk partition already mounted? [yes] yes
> Pathname to the sets? (or 'done') [6.3/amd64] 6.3/amd64
> The directory '6.3/amd64' does not exist.
> 
> ---
> OpenBSD 6.3-current (RAMDISK_CD) #53: Thu May 31 16:02:44 MDT 2018
>     [email protected]:/usr/src/sys/arch/amd64/compile/RAMDISK_CD
> real mem = 8469098496 (8076MB)
> avail mem = 8208637952 (7828MB)
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xacbfd000 (64 entries)
> bios0: vendor LENOVO version "N10ET33W (1.12 )" date 04/06/2015
> bios0: LENOVO 20CMCTO1WW
> acpi0 at bios0: rev 2
> acpi0: tables DSDT FACP ASF! HPET ECDT APIC MCFG SSDT SSDT SSDT SSDT SSDT 
> SSDT SSDT SSDT SSDT PCCT SSDT UEFI MSDM BATB FPDT UEFI BGRT DMAR
> acpiec0 at acpi0
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 798.27 MHz
> cpu0: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT,MELTDOWN
> cpu0: 256KB 64b/line 8-way L2 cache
> cpu0: apic clock running at 99MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
> cpu at mainbus0: not configured
> cpu at mainbus0: not configured
> cpu at mainbus0: not configured
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 40 pins
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (PEG_)
> acpiprt2 at acpi0: bus 2 (EXP1)
> acpiprt3 at acpi0: bus 3 (EXP2)
> acpiprt4 at acpi0: bus -1 (EXP3)
> acpicpu at acpi0 not configured
> acpipwrres at acpi0 not configured
> acpipwrres at acpi0 not configured
> acpipwrres at acpi0 not configured
> acpitz at acpi0 not configured
> "PNP0C0D" at acpi0 not configured
> "PNP0C0E" at acpi0 not configured
> "PNP0B00" at acpi0 not configured
> "LEN0071" at acpi0 not configured
> "LEN0046" at acpi0 not configured
> "PNP0C0A" at acpi0 not configured
> "PNP0C0A" at acpi0 not configured
> "ACPI0003" at acpi0 not configured
> "LEN0068" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "INT340F" at acpi0 not configured
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel Core 5G Host" rev 0x09
> "Intel HD Graphics 5500" rev 0x09 at pci0 dev 2 function 0 not configured
> "Intel Core 5G HD Audio" rev 0x09 at pci0 dev 3 function 0 not configured
> xhci0 at pci0 dev 20 function 0 "Intel 9 Series xHCI" rev 0x03: msi, xHCI 1.0
> usb0 at xhci0: USB revision 3.0
> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 
> addr 1
> "Intel 9 Series MEI" rev 0x03 at pci0 dev 22 function 0 not configured
> em0 at pci0 dev 25 function 0 "Intel I218-LM" rev 0x03: msi, address 
> 68:f7:28:89:4d:4d
> "Intel 9 Series HD Audio" rev 0x03 at pci0 dev 27 function 0 not configured
> ppb0 at pci0 dev 28 function 0 "Intel 9 Series PCIE" rev 0xe3: msi
> pci1 at ppb0 bus 2
> rtsx0 at pci1 dev 0 function 0 "Realtek RTS5227 Card Reader" rev 0x01: msi
> sdmmc0 at rtsx0: 4-bit, dma
> ppb1 at pci0 dev 28 function 1 "Intel 9 Series PCIE" rev 0xe3: msi
> pci2 at ppb1 bus 3
> iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless AC 7265" rev 0x59, msi
> "Intel 9 Series LPC" rev 0x03 at pci0 dev 31 function 0 not configured
> ahci0 at pci0 dev 31 function 2 "Intel 9 Series AHCI" rev 0x03: msi, AHCI 1.3
> ahci0: port 0: 6.0Gb/s
> scsibus0 at ahci0: 32 targets
> sd0 at scsibus0 targ 0 lun 0: <ATA, CT250BX100SSD1, MU01> SCSI3 0/direct 
> fixed naa.500a0751f0005b74
> sd0: 238475MB, 512 bytes/sector, 488397168 sectors, thin
> "Intel 9 Series SMBus" rev 0x03 at pci0 dev 31 function 3 not configured
> "Intel 9 Series Thermal" rev 0x03 at pci0 dev 31 function 6 not configured
> isa0 at mainbus0
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard
> efifb0 at mainbus0: 1920x1080, 32bpp
> wsdisplay0 at efifb0 mux 1: console (std, vt100 emulation), using wskbd0
> softraid0 at root
> scsibus1 at softraid0: 256 targets
> sd1 at scsibus1 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006> SCSI2 0/direct fixed
> sd1: 238474MB, 512 bytes/sector, 488395553 sectors
> root on rd0a swap on rd0b dump on rd0b
> iwm0: could not read firmware iwm-7265-16 (error 2)
> iwm0: failed to load init firmware
> iwm0: hw rev 0x210, fw ver 16.242414.0, address 34:02:86:02:b2:41
> iwm0: could not add binding (error 35)
> iwm0: fatal firmware error
> 

Reply via email to