>Synopsis: ppp panic: locking against myself
>Category: kernel
>Environment:
System : OpenBSD 6.9
Details : OpenBSD 6.9 (GENERIC) #2: Tue Aug 10 08:12:32 MDT 2021
[email protected]:/usr/src/sys/arch/i386/compile/GENERIC
Architecture: OpenBSD.i386
Machine : i386
>Description:
Running pppd over a serial modem. (What year is it?)
Ran pkg_add vim--no_x11, came back a half hour later and it had
panicked while installing the last dependency.
com0: 2 silo overflows, 0 ibuf overflows
com0: 2 silo overflows, 0 ibuf overflows
com0: 2 silo overflows, 0 ibuf overflows
com0: 1 silo overflow, 0 ibuf overflows
com0: 4 silo overflows, 0 ibuf overflows
panic: mtx 0xd14b3054: locking against myself
Stopped at db_enter+0x4: popl %ebp
panic: mtx 0xd14b3054: locking against myself
Stopped at db_enter+0x4: popl %ebp
TID PID UID PRFLAGS PFLAGS CPU COMMAND
* 67354 3343 0 0x14000 0x200 0 softnet
db_enter() at db_enter+0x4
panic(d0bc8c2b) at panic+0xd3
mtx_enter(d14b3054) at mtx_enter+0x4e
task_add(d14b3040,d0df4d7c) at task_add+0x1d
ppp_restart(d1511800) at ppp_restart+0x3a
pppstart(d17d2200) at pppstart+0x55
comintr(d14da000) at comintr+0x4a5
intr_handler(f17d69d8,d14b3740) at intr_handler+0x18
Xintr_legacy4_untramp() at Xintr_legacy4_untramp+0xfb
taskq_next_work(d14b3040,f17d6a40) at taskq_next_work+0x8d
taskq_thread(d14b3040) at taskq_thread+0x43
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports. Insufficient info makes it difficult to find and fix bugs.
ddb> PID TID PPID UID S FLAGS WAIT COMMAND
64263 445515 71934 83 2 0x100012 ntpd
31904 177725 71934 83 3 0x100092 netcon2 ntpd
7660 481516 12028 0 3 0x100083 piperd signify
27354 346941 12028 57 3 0x100083 netio ftp
12028 341614 49563 0 3 0x93 piperd perl
68506 467633 458 0 3 0xb3 select pppd
95058 333899 40435 1000 3 0x100083 kqread tail
2299 494146 39383 73 3 0x100090 kqread syslogd
39383 366506 1 0 3 0x100082 netio syslogd
458 76830 1 1000 3 0x10008b sigsusp ksh
59188 239633 1 0 3 0x100083 ttyin getty
30290 45052 1 0 3 0x100083 ttyin getty
49563 122264 1 1000 3 0x10008b sigsusp ksh
40435 432423 1 1000 3 0x10008b sigsusp ksh
11232 33999 1 0 3 0x100098 poll cron
73616 107297 1 99 3 0x100090 poll sndiod
45021 319802 1 110 3 0x100090 poll sndiod
10917 170926 1 0 3 0x80 select sshd
71934 409719 1 0 3 0x100080 poll ntpd
42019 305027 79208 83 3 0x100092 poll ntpd
79208 303571 1 83 3 0x100092 poll ntpd
27991 400770 41546 74 3 0x100092 bpf pflogd
41546 18301 1 0 3 0x80 netio pflogd
80780 162847 4439 115 3 0x100092 kqread slaacd
19836 126151 4439 115 3 0x100092 kqread slaacd
4439 436623 1 0 3 0x100080 kqread slaacd
18716 366663 0 0 3 0x14200 bored smr
5633 47830 0 0 2 0x14200 zerothread
38482 217565 0 0 3 0x14200 aiodoned aiodoned
70400 380061 0 0 2 0x14600 update
33987 346671 0 0 3 0x14200 cleaner cleaner
57082 260775 0 0 3 0x14200 reaper reaper
13633 306482 0 0 2 0x14200 pagedaemon
60750 3804 0 0 3 0x14200 bored crynlk
89333 14215 0 0 3 0x14200 bored crypto
5370 433569 0 0 3 0x14200 pcicev pcic0,0,1
94217 111414 0 0 3 0x14200 pcicev pcic0,0,0
9095 59398 0 0 3 0x14200 apmev apm0
* 3343 67354 0 0 7 0x14200 softnet
47611 505709 0 0 2 0x14200 systqmp
71690 260383 0 0 3 0x14200 bored systq
97341 107188 0 0 3 0x40014200 bored softclock
22807 466461 0 0 3 0x40014200 idle0
27673 381661 0 0 3 0x14200 kmalloc kmthread
1 458777 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
>How-To-Repeat:
Time travel back to 1998, connect a serial modem, run pppd.
>Fix:
dmesg:
OpenBSD 6.9 (GENERIC) #2: Tue Aug 10 08:12:32 MDT 2021
[email protected]:/usr/src/sys/arch/i386/compile/GENERIC
RTC BIOS diagnostic error 20<config_unit>
real mem = 83378176 (79MB)
avail mem = 65540096 (62MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: date 12/23/94, BIOS32 rev. 0 @ 0xeef80
apm0 at bios0: Power Management spec V1.2
pcibios0 at bios0: rev 2.1 @ 0xec000/0x81a
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xf36e0/128 (6 entries)
pcibios0: no compatible PCI ICU found: ICU vendor 0x1004 product 0x0102
pcibios0: Warning, unable to fix up PCI interrupt routing
pcibios0: PCI bus #3 is the last bus
bios0: ROM list: 0xc0000/0x8000 0xe8000/0x4000! 0xec000/0x3800! 0xef800/0x800
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium/MMX ("GenuineIntel" 586-class) 165 MHz, 05-04-03
cpu0: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,MMX,MELTDOWN
cpu0: F00F bug workaround installed
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "VLSI 82C535" rev 0x03
ppb0 at pci0 dev 1 function 0 "VLSI 82C534" rev 0x03
pci1 at ppb0 bus 1
"VLSI 82C532" rev 0x02 at pci0 dev 2 function 0 not configured
vga1 at pci0 dev 3 function 0 "Neomagic Magicgraph 128ZV" rev 0x02
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
cbb0 at pci0 dev 4 function 0 "TI PCI1131 CardBus" rev 0x01: couldn't map
interrupt
cbb1 at pci0 dev 4 function 1 "TI PCI1131 CardBus" rev 0x01: couldn't map
interrupt
"VLSI 82C147" rev 0x02 at pci0 dev 6 function 0 not configured
isa0 at mainbus0
isadma0 at isa0
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
wdc0 at isa0 port 0x1f0/8 irq 14
wd0 at wdc0 channel 0 drive 0: <FHM32GY25H>
wd0: 1-sector PIO, LBA, 30592MB, 62652416 sectors
wd0(wdc0:0:0): using BIOS timings
sb0 at isa0 port 0x220/24 irq 5 drq 1: dsp v3.01
midi0 at sb0: <SB MIDI UART>
audio0 at sb0
opl at sb0 not configured
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
pcic0 at isa0 port 0x3e0/2 iomem 0xd0000/65536
pcic0 controller 0: <Intel 82365SL rev 2> has sockets A and B
pcmcia0 at pcic0 controller 0 socket 0
pcmcia1 at pcic0 controller 0 socket 1
pcic0: irq 3, polling enabled
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
root on wd0a (ff8c00e80793e99b.a) swap on wd0b dump on wd0b
WARNING: / was not properly unmounted
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
usbdevs:
usbdevs: no USB controllers found
pcidump:
Domain /dev/pci0:
0:0:0: VLSI 82C535
0x0000: Vendor ID: 1004, Product ID: 0104
0x0004: Command: 0006, Status: 2280
0x0008: Class: 06 Bridge, Subclass: 00 Host,
Interface: 00, Revision: 03
0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
Cache Line Size: 00
0x0010: BAR empty (00000000)
0x0014: BAR empty (00000000)
0x0018: BAR empty (00000000)
0x001c: BAR empty (00000000)
0x0020: BAR empty (00000000)
0x0024: BAR empty (00000000)
0x0028: Cardbus CIS: 00000000
0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
0x0030: Expansion ROM Base Address: 00000000
0x0038: 00000000
0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
0x0000: 01041004 22800006 06000003 00000000
0x0010: 00000000 00000000 00000000 00000000
0x0020: 00000000 00000000 00000000 00000000
0x0030: 00000000 00000000 00000000 00000000
0x0040: 0000ff00 00000000 00000000 00000000
0x0050: 000010da 00ffffee 004a0ae5 000000c3
0x0060: 00000064 000a0555 0000aaf0 00000000
0x0070: 80c00000 00000000 00000000 00000000
0x0080: 00000000 00000000 00000000 00000000
0x0090: 00000000 00000000 00000000 00000000
0x00a0: 00000000 00000000 00000000 00000000
0x00b0: 00000000 00000000 00000000 00000000
0x00c0: 00000000 00000000 00000000 00000000
0x00d0: 00000000 00000000 00000000 00000000
0x00e0: 00000000 00000000 00000000 00000000
0x00f0: 00000000 00000000 00000000 00000000
0:1:0: VLSI 82C534
0x0000: Vendor ID: 1004, Product ID: 0102
0x0004: Command: 000f, Status: 0280
0x0008: Class: 06 Bridge, Subclass: 04 PCI,
Interface: 00, Revision: 03
0x000c: BIST: 00, Header Type: 01, Latency Timer: 00,
Cache Line Size: 00
0x0010: BAR empty (00000000)
0x0014: BAR empty (00000000)
0x0018: Primary Bus: 0, Secondary Bus: 1, Subordinate Bus: 1,
Secondary Latency Timer: 00
0x001c: I/O Base: 40, I/O Limit: 70, Secondary Status: 0280
0x0020: Memory Base: 2000, Memory Limit: 2ff0
0x0024: Prefetch Memory Base: 3000, Prefetch Memory Limit: 3ff0
0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
0x0038: Expansion ROM Base Address: 00000000
0x003c: Interrupt Pin: 00, Line: 00, Bridge Control: 0040
0x0000: 01021004 0280000f 06040003 00010000
0x0010: 00000000 00000000 00010100 02807040
0x0020: 2ff02000 3ff03000 00000000 00000000
0x0030: 00000000 00000000 00000000 00400000
0x0040: 00004024 0000050c 00000000 00000000
0x0050: 00000000 03300220 00000388 0023212f
0x0060: 12008010 4880ff00 00000000 15000000
0x0070: 00080808 000005a0 00000000 3a000000
0x0080: 0040001d 482dff2d 00000008 00000000
0x0090: 00000000 00000000 00000000 00000000
0x00a0: 00000000 00000000 00000000 00000000
0x00b0: 00000000 00000000 00000000 00000000
0x00c0: 00000000 00000000 00000000 00000000
0x00d0: 00000000 00000000 00000000 00000000
0x00e0: 00000000 00000000 00000000 00000000
0x00f0: 00000000 00000000 00000000 00000000
0:2:0: VLSI 82C532
0x0000: Vendor ID: 1004, Product ID: 0101
0x0004: Command: 0003, Status: 0280
0x0008: Class: ff (unknown), Subclass: 00 (unknown),
Interface: 00, Revision: 02
0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
Cache Line Size: 00
0x0010: BAR empty (00000000)
0x0014: BAR empty (00000000)
0x0018: BAR empty (00000000)
0x001c: BAR empty (00000000)
0x0020: BAR empty (00000000)
0x0024: BAR empty (00000000)
0x0028: Cardbus CIS: 00000000
0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
0x0030: Expansion ROM Base Address: 00000000
0x0038: 00000000
0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
0x0000: 01011004 02800003 ff000002 00000000
0x0010: 00000000 00000000 00000000 00000000
0x0020: 00000000 00000000 00000000 00000000
0x0030: 00000000 00000000 00000000 00000000
0x0040: 1f161700 cacacaca 40404040 0087d1d2
0x0050: 80400010 00000280 00740080 ff000380
0x0060: 13131313 00420105 00010815 00021a5d
0x0070: 00008100 00000000 00000000 00000000
0x0080: 00000000 00000000 00000000 00000000
0x0090: 00000000 00000000 00000000 00000000
0x00a0: 00000000 00000000 00000000 00000000
0x00b0: 00000000 00000000 00000000 00000000
0x00c0: 00000000 00000000 00000000 00000000
0x00d0: 00000000 00000000 00000000 00000000
0x00e0: 00000000 00000000 00000000 00000000
0x00f0: 00000000 00000000 00000000 00000000
0:3:0: Neomagic Magicgraph 128ZV
0x0000: Vendor ID: 10c8, Product ID: 0003
0x0004: Command: 0003, Status: 0280
0x0008: Class: 03 Display, Subclass: 00 VGA,
Interface: 00, Revision: 02
0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
Cache Line Size: 00
0x0010: BAR mem prefetchable 32bit addr: 0xc0000000/0x00400000
0x0014: BAR empty (00000000)
0x0018: BAR empty (00000000)
0x001c: BAR empty (00000000)
0x0020: BAR empty (00000000)
0x0024: BAR empty (00000000)
0x0028: Cardbus CIS: 00000000
0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
0x0030: Expansion ROM Base Address: 00000000
0x0038: 00000000
0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
0x0000: 000310c8 02800003 03000002 00000000
0x0010: c0000008 00000000 00000000 00000000
0x0020: 00000000 00000000 00000000 00000000
0x0030: 00000000 00000000 00000000 000001ff
0x0040: 00000000 00000000 00000000 00000000
0x0050: 00000000 00000000 00000000 00000000
0x0060: 00000000 00000000 00000000 00000000
0x0070: 00000000 00000000 00000000 00000000
0x0080: 00000000 00000000 00000000 00000000
0x0090: 00000000 00000000 00000000 00000000
0x00a0: 00000000 00000000 00000000 00000000
0x00b0: 00000000 00000000 00000000 00000000
0x00c0: 00000000 00000000 00000000 00000000
0x00d0: 00000000 00000000 00000000 00000000
0x00e0: 00000000 00000000 00000000 00000000
0x00f0: 00000000 00000000 00000000 00000000
0:4:0: TI PCI1131 CardBus
0x0000: Vendor ID: 104c, Product ID: ac15
0x0004: Command: 0007, Status: 0200
0x0008: Class: 06 Bridge, Subclass: 07 (unknown),
Interface: 00, Revision: 01
0x000c: BIST: 00, Header Type: 82, Latency Timer: 40,
Cache Line Size: 00
0x0010: Cardbus Control Registers Base Address: 05000000
0x0018: Primary Bus: 0 Cardbus Bus: 2 Subordinate Bus: 2
Cardbus Latency Timer: 20
0x001c: Memory Base 0: 00000000
0x0020: Memory Limit 0: 00000000
0x0024: Memory Base 1: 00000000
0x0028: Memory Limit 1: 00000000
0x002c: I/O Base 0: 00000000
0x0030: I/O Limit 0: 00000000
0x0034: I/O Base 1: 00000000
0x0038: I/O Limit 1: 00000000
0x003c: Interrupt Pin: 01 Line: ff Bridge Control: 0340
0x0040: Subsystem Vendor ID: 0000 Product ID: 0000
0x0044: 16-bit Legacy Mode Base Address: 000003e1
0x0000: ac15104c 02000007 06070001 00824000
0x0010: 05000000 02000000 20020200 00000000
0x0020: 00000000 00000000 00000000 00000000
0x0030: 00000000 00000000 00000000 034001ff
0x0040: 00000000 000003e1 00000000 00000000
0x0050: 00000000 00000000 00000000 00000000
0x0060: 00000000 00000000 00000000 00000000
0x0070: 00000000 00000000 00000000 00000000
0x0080: 00043021 00000000 00000000 00000000
0x0090: 00660200 00000000 00000000 00000000
0x00a0: 00000000 00000000 00000000 00000000
0x00b0: 00000000 00000000 00000000 00000000
0x00c0: 00000000 00000000 00000000 00000000
0x00d0: 00000000 00000000 00000000 00000000
0x00e0: 00000000 00000000 00000000 00000000
0x00f0: 00000000 00000000 00000000 00000000
0:4:1: TI PCI1131 CardBus
0x0000: Vendor ID: 104c, Product ID: ac15
0x0004: Command: 0007, Status: 0200
0x0008: Class: 06 Bridge, Subclass: 07 (unknown),
Interface: 00, Revision: 01
0x000c: BIST: 00, Header Type: 82, Latency Timer: 40,
Cache Line Size: 00
0x0010: Cardbus Control Registers Base Address: 05001000
0x0018: Primary Bus: 0 Cardbus Bus: 3 Subordinate Bus: 3
Cardbus Latency Timer: 20
0x001c: Memory Base 0: 00000000
0x0020: Memory Limit 0: 00000000
0x0024: Memory Base 1: 00000000
0x0028: Memory Limit 1: 00000000
0x002c: I/O Base 0: 00000000
0x0030: I/O Limit 0: 00000000
0x0034: I/O Base 1: 00000000
0x0038: I/O Limit 1: 00000000
0x003c: Interrupt Pin: 02 Line: ff Bridge Control: 0340
0x0040: Subsystem Vendor ID: 0000 Product ID: 0000
0x0044: 16-bit Legacy Mode Base Address: 000003e1
0x0000: ac15104c 02000007 06070001 00824000
0x0010: 05001000 02000000 20030300 00000000
0x0020: 00000000 00000000 00000000 00000000
0x0030: 00000000 00000000 00000000 034002ff
0x0040: 00000000 000003e1 00000000 00000000
0x0050: 00000000 00000000 00000000 00000000
0x0060: 00000000 00000000 00000000 00000000
0x0070: 00000000 00000000 00000000 00000000
0x0080: 00041021 00000000 00000000 00000000
0x0090: 00660200 00000000 00000000 00000000
0x00a0: 00000000 00000000 00000000 00000000
0x00b0: 00000000 00000000 00000000 00000000
0x00c0: 00000000 00000000 00000000 00000000
0x00d0: 00000000 00000000 00000000 00000000
0x00e0: 00000000 00000000 00000000 00000000
0x00f0: 00000000 00000000 00000000 00000000
0:6:0: VLSI 82C147
0x0000: Vendor ID: 1004, Product ID: 0105
0x0004: Command: 0005, Status: 0280
0x0008: Class: 0d Wireless, Subclass: 00 IrDA,
Interface: 00, Revision: 02
0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
Cache Line Size: 00
0x0010: BAR io addr: 0x00003000/0x0020
0x0014: BAR empty (00000000)
0x0018: BAR empty (00000000)
0x001c: BAR empty (00000000)
0x0020: BAR empty (00000000)
0x0024: BAR empty (00000000)
0x0028: Cardbus CIS: 00000000
0x002c: Subsystem Vendor ID: 0000 Product ID: 0000
0x0030: Expansion ROM Base Address: 00000000
0x0038: 00000000
0x003c: Interrupt Pin: 01 Line: 0a Min Gnt: 00 Max Lat: 00
0x0000: 01051004 02800005 0d000002 00000000
0x0010: 00003001 00000000 00000000 00000000
0x0020: 00000000 00000000 00000000 00000000
0x0030: 00000000 00000000 00000000 0000010a
0x0040: 000000b0 00000000 00000000 00000000
0x0050: 00000000 00000000 00000000 00000000
0x0060: 00000000 00000000 00000000 00000000
0x0070: 00000000 00000000 00000000 00000000
0x0080: 00000000 00000000 00000000 00000000
0x0090: 00000000 00000000 00000000 00000000
0x00a0: 00000000 00000000 00000000 00000000
0x00b0: 00000000 00000000 00000000 00000000
0x00c0: 00000000 00000000 00000000 00000000
0x00d0: 00000000 00000000 00000000 00000000
0x00e0: 00000000 00000000 00000000 00000000
0x00f0: 00000000 00000000 00000000 00000000
acpidump: