Hi there,

I'll start off by saying that these hosts are all vmware instances that I loaded up to do some testing, so if there's some known stability problem running OpenBSD on vmware, let me know and I'll drop this. :)

In playing around with relayd on OpenBSD 4.3, I'm finding that it crashes if all hosts become unavailable:

# relayctl show hosts Id Type Name Avlblty Status 2 table webhosts:80 active (1 hosts up)
4       host            192.168.33.31                   100.00% up
                       total: 14/14 checks
3       host            192.168.33.32                           disabled
3       table           fallback:80                             disabled
# relayctl host disable 4
relayctl: pipe closed

At that point, relayd is dead, and won't restart.  /var/log/daemon shows:
fatal: flush_table: cannot flush table stats: Operation not supported by device

and pfctl -a 'relayd/*' -sA shows:
  relayd/www

I'm unable to restart relayd until I manually flush the anchor with "pfctl -a 'relayd/www' -Fa", after which relayd starts up fine.

I get the same crash whether I disable the last host using relayctl, as above, or if I just ssh over and stop apache on the last host (relayd crashes on the next check). My apologies if this is already a known issue, I tried to do my homework by searching the misc and bugs archives as MARC, but didn't have any luck finding this precise issue (I saw other mention of having to flush the anchors, which clued me in to that bit so I could get relayd restarted...)

The relayd.conf I'm running when getting this crash, which is pretty much based on the included example:

ext_addr="172.18.29.11"
webhost1="192.168.33.31"
webhost2="192.168.33.32"
webhost3="192.168.33.33"
errorserver="127.0.0.1"
interval 5
timeout 500
prefork 5
table <webhosts> { $webhost1 $webhost2 $webhost3 }
table <fallback> { $errorserver }
redirect www {
       listen on $ext_addr port http interface vic0
       # tag every packet that goes thru the rdr rule with RELAYD
       tag RELAYD
       forward to <webhosts> check http "/" code 200
       forward to <fallback> check icmp
}

I'll put the dmesg from the relayd host at the end of this email.

Regards,
Mark


OpenBSD 4.3 (GENERIC) #698: Wed Mar 12 11:07:05 MDT 2008
   [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Xeon(R) CPU E7320 @ 2.13GHz ("GenuineIntel" 686-class) 2.13 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,SSE3,DS-CPL,CX16
real mem  = 402157568 (383MB)
avail mem = 380551168 (362MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 01/30/08, BIOS32 rev. 0 @ 0xfd880, SMBIOS rev. 2.31 @ 0xe0010 (45 entries)
bios0: vendor Phoenix Technologies LTD version "6.00" date 01/30/2008
bios0: VMware, Inc. VMware Virtual Platform
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
acpi at bios0 function 0x0 not configured
pcibios0 at bios0: rev 2.1 @ 0xfd880/0x780
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdf30/176 (9 entries)
pcibios0: PCI Interrupt Router at 000:07:0 ("Intel 82371FB ISA" rev 0x00)
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0x8000 0xc8000/0x1e00! 0xca000/0x1000 0xcb000/0x1000 0xdc000/0x4000! 0xe0000/0x4000!
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82443BX AGP" rev 0x01
ppb0 at pci0 dev 1 function 0 "Intel 82443BX AGP" rev 0x01
pci1 at ppb0 bus 1
piixpcib0 at pci0 dev 7 function 0 "Intel 82371AB PIIX4 ISA" rev 0x08
pciide0 at pci0 dev 7 function 1 "Intel 82371AB IDE" rev 0x01: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
atapiscsi0 at pciide0 channel 0 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <NECVMWar, VMware IDE CDR00, 1.00> SCSI0 5/cdrom removable
cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 ignored (disabled)
piixpm0 at pci0 dev 7 function 3 "Intel 82371AB Power" rev 0x08: SMBus disabled
vga1 at pci0 dev 15 function 0 "VMware Virtual SVGA II" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
mpi0 at pci0 dev 16 function 0 "Symbios Logic 53c1030" rev 0x01: irq 9
scsibus1 at mpi0: 16 targets
sd0 at scsibus1 targ 0 lun 0: <VMware, Virtual disk, 1.0> SCSI2 0/direct fixed
sd0: 2048MB, 261 cyl, 255 head, 63 sec, 512 bytes/sec, 4194304 sec total
mpi0: target 0 Sync at 160MHz width 16bit offset 127 QAS 1 DT 1 IU 1
vic0 at pci0 dev 17 function 0 "AMD 79c970 PCnet-PCI" rev 0x10: irq 11, address 00:0c:29:4a:e9:63 vic1 at pci0 dev 18 function 0 "AMD 79c970 PCnet-PCI" rev 0x10: irq 10, address 00:0c:29:4a:e9:6d
isa0 at piixpcib0
isadma0 at isa0
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
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
biomask e365 netmask ef65 ttymask ffe7
mtrr: Pentium Pro MTRR support
softraid0 at root
root on sd0a swap on sd0b dump on sd0b

Reply via email to