On 11/22/13 12:03, Stuart Henderson wrote:
> On 2013/11/22 08:47, RD Thrush wrote:
>> On 11/11/13 11:22, Stuart Henderson wrote:
>>> On 2013/11/11 09:53, RD Thrush wrote:
>>>>> Synopsis: Firewall panic with Nov 10 snapshot
>>>>> Category: kernel
>>>>> Environment:
>>>>    System      : OpenBSD 5.4
>>>>    Details     : OpenBSD 5.4-current (GENERIC) #142: Sun Nov 10 22:52:49 
>>>> MST 2013
>>>>                     
>>>> dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
>>>>    Architecture: OpenBSD.i386
>>>>    Machine     : i386
>>>>> Description:
>>>>    Soekris 5501 firewall panics an hour after booting new snapshot.  
>>>> Appended is
>>>>    some ddb info as well as normal sendbug details.
>>>>> How-To-Repeat:
>>>>    Don't know.
>>>>> Fix:
>>>>    Revert to Nov 7 kernel
>>>
>>> I've reverted the bpf commit for now, it looks like the change is 
>>> invalidating
>>> assumptions of the conditional around bpf_read()'s tsleep in bpf.c:439 ..
>>
>> It appears this problem still exists.  I've had panic's on 3 machines since
>> upgrading to the Nov 20 snap (2 amd64, 1 i386).  I've attached the report 
>> from
>> the x2 machine and am appending ddb's trace,ps,show registers and callout 
>> from
>> all three.  I have the full serial captures if more info is required.
> 
> I've just updated things on my router at home and hit this (with
> ladvd), including with the bpf.c commits reverted.
> 
> I'm using "ladvd -Lz" and hit the panic pretty much as soon as it starts.

The panic remains with today's snapshot.  This problem originated with v1.84 of 
sys/net/bpf.c.  Despite several reverts since, the problem remains.  It is easy 
to reproduce, ie.:

sudo pkg_add darkstat
sudo /etc/rc.d/darkstat start
echo quit | nc localhost 667

I've appended the panic, ddb info + dmesg from a qemu session.
$ pkg_info
darkstat-3.0.717p1  network statistics gatherer with graphs
quirks-1.104        exceptions to pkg_add rules
$ sudo /etc/rc.d/darkstat start
darkstat(ok)
$ echo quit | nc localhost 667
panic: timeout_add: to_ticks (-1) < 0
Stopped at      Debugger+0x5:   leave
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace
Debugger() at Debugger+0x5
panic() at panic+0xee
timeout_add() at timeout_add+0xff
tsleep() at tsleep+0x88
bpfread() at bpfread+0x1a4
spec_read() at spec_read+0x2a8
VOP_READ() at VOP_READ+0x32
vn_read() at vn_read+0xa1
dofilereadv() at dofilereadv+0x18a
sys_read() at sys_read+0x8f
syscall() at syscall+0x162
--- syscall (number 3) ---
end of kernel
end trace frame: 0x7f7ffffbf5a8, count: -11
0x93482acf1ba:
ddb> ps
   PID   PPID   PGRP    UID  S       FLAGS  WAIT          COMMAND
 26262  16126  28453   1000  2         0x3                nc
 26586   6377  26586    587  3        0x90  netio         darkstat
* 6377      1   6377    587  7        0x10  bpf           darkstat
 16126      1  16126   1000  3        0x8b  pause         ksh
 32327      1  32327      0  3        0x83  ttyin         getty
 12746      1  12746      0  3        0x83  ttyin         getty
  4079      1   4079      0  3        0x83  ttyin         getty
  5137      1   5137      0  3        0x83  ttyin         getty
 27113      1  27113      0  3        0x83  ttyin         getty
 28129      1  28129      0  3        0x80  select        cron
  1050      1   1050     99  3        0x90  poll          sndiod
 31085      1  31085      0  3        0xb0  select        sendmail
 31327      1  31327      0  3        0x80  select        sshd
  3210      0      0      0  3    0x100280  nfsidl        nfsio
 26471      0      0      0  3    0x100280  nfsidl        nfsio
 30689      0      0      0  3    0x100280  nfsidl        nfsio
  5699      0      0      0  3    0x100280  nfsidl        nfsio
 22462  28066   9855     83  3        0x90  poll          ntpd
 28066   9855   9855     83  3        0x90  poll          ntpd
  9855      1   9855      0  3        0x80  poll          ntpd
 24367   1337   1337     74  3        0x90  bpf           pflogd
  1337      1   1337      0  3        0x80  netio         pflogd
 21976  18728  18728     73  3        0x90  poll          syslogd
 18728      1  18728      0  3        0x80  netio         syslogd
 24426      1  24426     77  3        0x90  poll          dhclient
  3819      1   3819      0  3        0x80  poll          dhclient
    12      0      0      0  3    0x100200  aiodoned      aiodoned
    11      0      0      0  3    0x100200  syncer        update
    10      0      0      0  3    0x100200  cleaner       cleaner
     9      0      0      0  3    0x100200  reaper        reaper
     8      0      0      0  3    0x100200  pgdaemon      pagedaemon
     7      0      0      0  3    0x100200  bored         crypto
     6      0      0      0  3    0x100200  pftm          pfpurge
     5      0      0      0  3  0x40100200  acpi0         acpi0
     4      0      0      0  3    0x100200  bored         systq
     3      0      0      0  3    0x100200  bored         syswq
     2      0      0      0  3  0x40100200                idle0
     1      0      1      0  3        0x82  wait          init
     0     -1      0      0  3       0x200  scheduler     swapper
ddb> show registers
ds                             0x292
es                            0x3a50
fs                            0x3a70
gs                            0xfdf1    acpi_pdirpa+0xb891
rdi                              0x1
rsi                              0x5
rbp               0xffff800001d93a40
rbx               0xffffffff81783490    addrmask+0x1250
rdx                              0xc
rcx                            0x292
rax                              0x1
r8                0xffff800001d93960
r9                                 0
r10                             0x2d
r11               0xffffffff8108f680    comcnputc
r12                            0x100
r13               0xffff800001d93a50
r14                                0
r15               0xffff800001d93db0
rip               0xffffffff81342ab5    Debugger+0x5
cs                               0x8
rflags                         0x202
rsp               0xffff800001d93a40
ss                              0x10
Debugger+0x5:   leave
ddb> callout
ticks now: 3638
    ticks  wheel       arg  func
        1  0d/55  d 0x0  m_cltick
        6  0d/60  d 0xffffffff81cdb340  pffasttimo
       17  0d/71  d 0xffffffff81cdb300  pfslowtimo
       23  0d/77  d 0xfffffe80036544e0  endtsleep
       26  0d/80  d 0xfffffe8003654c18  endtsleep
       66  0d/120 d 0xffff800000166000  em_local_timer
       66  0d/120 d 0xffffffff81cdb440  if_slowtimo
       66  0d/120 d 0xffffffff81d2db00  pckbc_poll
       66  0d/120 d 0x0  nd6_timer
       66  0d/120 d 0xffffffff81cdb560  rt_timer_timer
       66  0d/120 d 0xffffffff81cdb000  schedcpu
       71  0d/125 d 0xfffffe8003723c08  endtsleep
      217  1d/271 d 0xfffffe800346fb00  realitexpire
      292  1d/271 d 0xfffffe8000abd028  endtsleep
     1568  1d/276 d 0xfffffe8000abd4f8  endtsleep
     3291  1d/283 d 0xfffffe800346f010  realitexpire
    27087  1d/376 d 0xffffffff81cdb5a0  arptimer
    56362  1d/490 d 0x0  arc4_reinit
   177682  2d/514 d 0xfffffe800331c480  realitexpire
   356362  2d/517 d 0x0  nd6_slowtimo
   719998  2d/523 d 0xfffffe800337e008  tcp_timer_keep
   719999  2d/523 d 0xfffffe800337e238  tcp_timer_keep
  8637276  2d/643 d 0xfffffe80036549b0  endtsleep
ddb> boot crash

dumping to dev 0,1 offset 66455
dump 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 
38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 
12 11 10 9 8 7 6 5 4 3 2 1 0 succeeded


booting hd0a:bsd: 6537740+1652172+1079992+0+619808 [80+552096+367479]=0xe50088
entry point at 0x10001e0 [7205c766, 34000004, 24448b12, 7958a304]
[ using 920424 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2013 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 5.4-current (GENERIC) #170: Tue Dec 17 09:21:47 MST 2013
    dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 50323456 (47MB)
avail mem = 41013248 (39MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf1650 (10 entries)
bios0: vendor Bochs version "Bochs" date 01/01/2011
bios0: Bochs Bochs
acpi0 at bios0: rev 0
acpi0: sleep states S3 S4 S5
acpi0: tables DSDT FACP SSDT APIC HPET
acpi0: wakeup devices
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
acpihpet0 at acpi0: 100000000 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpicpu0 at acpi0
mpbios0 at bios0: Intel MP Specification 1.4
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: QEMU Virtual CPU version 1.7.0, 3403.33 MHz
cpu0: 
FPU,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,CX16,POPCNT,NXE,LONG,LAHF,SVM,ABM,SSE4A
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: apic clock running at 1000MHz
mpbios0: bus 0 is type PCI   
mpbios0: bus 1 is type ISA   
ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 11, 24 pins
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02
pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00
pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 0 
wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <QEMU HARDDISK>
wd0: 16-sector PIO, LBA48, 10240MB, 20971520 sectors
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <QEMU, QEMU DVD-ROM, 1.7.> ATAPI 5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, DMA mode 2
piixpm0 at pci0 dev 1 function 3 "Intel 82371AB Power" rev 0x03: apic 0 int 9
iic0 at piixpm0
vga1 at pci0 dev 2 function 0 "Cirrus Logic CL-GD5446" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
em0 at pci0 dev 3 function 0 "Intel 82540EM" rev 0x03: apic 0 int 11, address 
52:54:00:4e:62:8a
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 1: density unknown
nvram: invalid checksum
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
root on wd0a (094007408badcf66.a) swap on wd0b dump on wd0b
clock: unknown CMOS layout
Fast boot: skipping disk checks.
setting tty flags
pf enabled
ddb.console: 0 -> 1
ddb.max_line: 24 -> 0
machdep.allowaperture: 0 -> 2
starting network
DHCPREQUEST on em0 to 255.255.255.255 port 67
DHCPACK from 10.1.2.18 (14:da:e9:b5:84:cf)
bound to 10.1.2.236 -- renewal in 302400 seconds.
starting early daemons: syslogd pflogd ntpd.
starting RPC daemons:.
savecore: no core dump
checking quotas: done.
clearing /tmp
starting pre-securelevel daemons:.
setting kernel security level: kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
starting network daemons: sshd sendmail sndiod.
starting local daemons: cron.
Tue Dec 17 19:01:23 EST 2013

Reply via email to