> Date: Tue, 26 Apr 2022 07:24:22 +0200
> From: Anton Lindqvist <[email protected]>
> 
> On Tue, Apr 26, 2022 at 02:32:22AM +0000, Lucas wrote:
> > >Synopsis:  `ttyflags -a` hangs the system
> > >Category:  tty?
> > >Environment:
> >     System      : OpenBSD 7.1
> >     Details     : OpenBSD 7.1 (GENERIC.MP) #465: Mon Apr 11 18:03:57 MDT 
> > 2022
> >                      
> > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> > 
> >     Architecture: OpenBSD.amd64
> >     Machine     : amd64
> > >Description:
> >     After an upgrade to 7.1, /etc/rc hangs when running `ttyflags
> >     -a`. I don't have a 7.0 dmesg of this machine, but I do have
> >     other machines in that provider running 7.0 without the same
> >     specs (4 vCPUs here vs 1 vCPU) and they boot fine. The dmesg in
> >     those machines doesn't show any ^com line. I can share the dmesg
> >     of one of those, and I can attempt an upgrade if it can help to
> >     better diagnostic the problem. I can try some kernel patches
> >     too.
> > >How-To-Repeat:
> >     Upgrade to 7.1 in this provider
> > >Fix:
> >     Comment out `ttyflags -a` call in line 393 of /etc/rc.
> > 
> > dmesg:
> > OpenBSD 7.1 (GENERIC.MP) #465: Mon Apr 11 18:03:57 MDT 2022
> >     [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> > real mem = 4278169600 (4079MB)
> > avail mem = 4131217408 (3939MB)
> > random: good seed from bootblocks
> > mpath0 at root
> > scsibus0 at mpath0: 256 targets
> > mainbus0 at root
> > bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf5810 (13 entries)
> > bios0: vendor SeaBIOS version "1.12.0-1" date 04/01/2014
> > bios0: QEMU Standard PC (Q35 + ICH9, 2009)
> > acpi0 at bios0: ACPI 1.0
> > acpi0: sleep states S3 S4 S5
> > acpi0: tables DSDT FACP SSDT APIC HPET MCFG
> > acpi0: wakeup devices
> > acpitimer0 at acpi0: 3579545 Hz, 24 bits
> > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> > cpu0 at mainbus0: apid 0 (boot processor)
> > cpu0: Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHz, 577.66 MHz, 06-3c-03
> > cpu0: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,UMIP,IBRS,IBPB,ARAT,XSAVEOPT,MELTDOWN
> > cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 
> > 64b/line 16-way L2 cache
> > cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu0: smt 0, core 0, package 0
> > mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> > cpu0: apic clock running at 999MHz
> > cpu1 at mainbus0: apid 1 (application processor)
> > cpu1: Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHz, 626.20 MHz, 06-3c-03
> > cpu1: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,UMIP,IBRS,IBPB,ARAT,XSAVEOPT,MELTDOWN
> > cpu1: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 
> > 64b/line 16-way L2 cache
> > cpu1: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu1: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu1: smt 0, core 0, package 1
> > cpu2 at mainbus0: apid 2 (application processor)
> > cpu2: Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHz, 575.47 MHz, 06-3c-03
> > cpu2: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,UMIP,IBRS,IBPB,ARAT,XSAVEOPT,MELTDOWN
> > cpu2: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 
> > 64b/line 16-way L2 cache
> > cpu2: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu2: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu2: smt 0, core 0, package 2
> > cpu3 at mainbus0: apid 3 (application processor)
> > cpu3: Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHz, 523.71 MHz, 06-3c-03
> > cpu3: 
> > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,SSE3,PCLMUL,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,UMIP,IBRS,IBPB,ARAT,XSAVEOPT,MELTDOWN
> > cpu3: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 
> > 64b/line 16-way L2 cache
> > cpu3: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu3: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> > cpu3: smt 0, core 0, package 3
> > ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 11, 24 pins
> > acpihpet0 at acpi0: 100000000 Hz
> > acpimcfg0 at acpi0
> > acpimcfg0: addr 0xb0000000, bus 0-255
> > acpiprt0 at acpi0: bus 0 (PCI0)
> > "ACPI0006" at acpi0 not configured
> > acpipci0 at acpi0 PCI0
> > acpicmos0 at acpi0
> > com0 at acpi0 COM1 addr 0x3f8/0x8 irq 4: ti16750, 64 byte fifo
> > com0: probed fifo depth: 0 bytes
> > com1 at acpi0 COM2 addr 0x2f8/0x8 irq 3: ti16750, 64 byte fifo
> > com1: probed fifo depth: 0 bytes
> 
> This is most likely the problem as com started attaching over acpi in
> 7.1. The corresponding acpi entries looks sane from what I can tell.
> Maybe comprobe1() must be used in dev/acpi/com_acpi.c after all, just
> like dev/isa/com_isa.c already does.

Well,

> > bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf5810 (13 entries)
> > bios0: vendor SeaBIOS version "1.12.0-1" date 04/01/2014
> > bios0: QEMU Standard PC (Q35 + ICH9, 2009)

makes me wonder whether this can be reproduced with qemu?

Because:

> Device (COM1)
> {
>     Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */)  
> // _HID: Hardware ID
>     Name (_UID, One)  // _UID: Unique ID
>     Method (_STA, 0, NotSerialized)  // _STA: Status
>     {
>       Local0 = CAEN /* \_SB_.PCI0.ISA_.CAEN */
>       If ((Local0 == Zero))
>       {
>           Return (Zero)
>       }
>       Else
>       {
>           Return (0x0F)
>       }
>     }
> 
>     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>     {
>       IO (Decode16,
>           0x03F8,             // Range Minimum
>           0x03F8,             // Range Maximum
>           0x00,               // Alignment
>           0x08,               // Length
>           )
>       IRQNoFlags ()
>           {4}
>     })
> }
> 
> Device (COM2)
> {
>     Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */)  
> // _HID: Hardware ID
>     Name (_UID, 0x02)  // _UID: Unique ID
>     Method (_STA, 0, NotSerialized)  // _STA: Status
>     {
>       Local0 = CBEN /* \_SB_.PCI0.ISA_.CBEN */
>       If ((Local0 == Zero))
>       {
>           Return (Zero)
>       }
>       Else
>       {
>           Return (0x0F)
>       }
>     }
> 
>     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
>     {
>       IO (Decode16,
>           0x02F8,             // Range Minimum
>           0x02F8,             // Range Maximum
>           0x00,               // Alignment
>           0x08,               // Length
>           )
>       IRQNoFlags ()
>           {3}
>     })
> }
> }

this clearly has a way to disable the serial ports if they're not
there.

Reply via email to