Hi,
I have strange crash in httpd.
I use a modified version of httpd to include modperl, because some
perl module
are not happy with the dynamic loaded one.
I do not use SSL on this http server, so I do not understand why I
got this kind of
crash. Every few minutes a httpd child crashs. The bt command gives
all the time
the same call path.
I take a look on Google and found
http://article.gmane.org/gmane.comp.apache.mod-ssl.user/3987
that look like my problem.
I check http_main.c and the patch is already applied on OpenBSD 3.8.
I have build the system with stable patch and WDT activated.
Any help is welcomed.
Jean-Gerard
# gdb /usr/sbin/httpd.modperl38 2510
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i386-unknown-openbsd3.8"...(no debugging
symbols found)
Attaching to program: /usr/sbin/httpd.modperl38, process 2510
Reading symbols from /usr/lib/libm.so.2.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libm.so.2.0
Reading symbols from /usr/lib/libssl.so.10.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libssl.so.10.0
Reading symbols from /usr/lib/libcrypto.so.12.0...done.
Loaded symbols for /usr/lib/libcrypto.so.12.0
Reading symbols from /usr/lib/libperl.so.10.0...done.
Loaded symbols for /usr/lib/libperl.so.10.0
Reading symbols from /usr/lib/libutil.so.11.0...done.
Loaded symbols for /usr/lib/libutil.so.11.0
Reading symbols from /usr/lib/libc.so.38.2...done.
Loaded symbols for /usr/lib/libc.so.38.2
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Cwd/
Cwd.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Cwd/Cwd.so
Reading symbols from /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/DBI/DBI.so...done.
Loaded symbols for /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/DBI/DBI.so
Reading symbols from /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/Unicode/String/String.so...done.
Loaded symbols for /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/Unicode/String/String.so
Reading symbols from /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/XML/LibXML/Common/Common.so...done.
Loaded symbols for /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/XML/LibXML/Common/Common.so
Reading symbols from /usr/local/lib/libxml2.so.9.0...done.
Loaded symbols for /usr/local/lib/libxml2.so.9.0
Reading symbols from /usr/lib/libz.so.4.1...done.
Loaded symbols for /usr/lib/libz.so.4.1
Reading symbols from /usr/local/lib/libiconv.so.4.0...done.
Loaded symbols for /usr/local/lib/libiconv.so.4.0
Reading symbols from /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/XML/GDOME/GDOME.so...done.
Loaded symbols for /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/XML/GDOME/GDOME.so
Reading symbols from /usr/local/lib/libgdome.so.8.1...done.
Loaded symbols for /usr/local/lib/libgdome.so.8.1
Reading symbols from /usr/local/lib/libglib.so.1.2...done.
Loaded symbols for /usr/local/lib/libglib.so.1.2
Reading symbols from /usr/local/lib/libintl.so.2.0...done.
Loaded symbols for /usr/local/lib/libintl.so.2.0
Reading symbols from /usr/local/lib/libglib-2.0.so.600.4...done.
Loaded symbols for /usr/local/lib/libglib-2.0.so.600.4
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/
Socket/Socket.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Socket/
Socket.so
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Sys/
Hostname/Hostname.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Sys/
Hostname/Hostname.so
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/MIME/
Base64/Base64.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/MIME/
Base64/Base64.so
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/POSIX/
POSIX.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/POSIX/
POSIX.so
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Data/
Dumper/Dumper.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Data/
Dumper/Dumper.so
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/IPC/
SysV/SysV.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/IPC/
SysV/SysV.so
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/
Digest/MD5/MD5.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Digest/
MD5/MD5.so
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/File/
Glob/Glob.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/File/
Glob/Glob.so
Reading symbols from /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/XML/Parser/Expat/Expat.so...done.
Loaded symbols for /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/XML/Parser/Expat/Expat.so
Reading symbols from /usr/local/lib/libexpat.so.4.0...done.
Loaded symbols for /usr/local/lib/libexpat.so.4.0
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/IO/
IO.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/IO/IO.so
Reading symbols from /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Fcntl/
Fcntl.so...done.
Loaded symbols for /usr/libdata/perl5/i386-openbsd/5.8.6/auto/Fcntl/
Fcntl.so
Reading symbols from /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/DBD/mysql/mysql.so...done.
Loaded symbols for /usr/local/libdata/perl5/site_perl/i386-openbsd/
auto/DBD/mysql/mysql.so
Reading symbols from /usr/local/lib/mysql/libmysqlclient.so.12.0...done.
Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.12.0
Reading symbols from /usr/lib/apache/modules/mod_rewrite.so...done.
Loaded symbols for /usr/lib/apache/modules/mod_rewrite.so
0x079f94c9 in accept ()
from /usr/lib/libc.so.38.2
(gdb) continue
Continuing.
Program received signal SIGPIPE, Broken pipe.
0x07a105c5 in write () from /usr/lib/libc.so.38.2
(gdb) bt
#0 0x07a105c5 in write () from /usr/lib/libc.so.38.2
#1 0x1c01bcad in ssl_io_hook_write ()
#2 0x1c06faea in ap_hook_call_func ()
#3 0x1c06f78f in ap_hook_call ()
#4 0x1c054937 in ap_write ()
#5 0x1c055338 in write_with_errors ()
#6 0x1c0553cd in bcwrite ()
#7 0x1c0556ff in ap_bwrite ()
#8 0x1c063cef in ap_send_fd_length ()
#9 0x1c063b9b in ap_send_fd ()
#10 0x1c05bea1 in default_handler ()
#11 0x1c056152 in ap_invoke_handler ()
#12 0x1c06668b in process_request_internal ()
#13 0x1c06683b in ap_process_request ()
#14 0xcfbddcf0 in ?? ()
#15 0x00000003 in ?? ()
#16 0x7fe5c034 in ?? ()
#17 0x7fe5c034 in ?? ()
#18 0x812c7044 in ?? ()
#19 0xcfbddd28 in ?? ()
#20 0x1c05f701 in child_main ()
An other crash on another child
(gdb) bt
#0 0x07a10831 in writev () from /usr/lib/libc.so.38.2
#1 0x1c01bd61 in ssl_io_hook_writev ()
#2 0x1c06faea in ap_hook_call_func ()
#3 0x1c06f78f in ap_hook_call ()
#4 0x1c055258 in writev_it_all ()
#5 0x1c0554a8 in large_write ()
#6 0x1c064158 in ap_send_mmap ()
#7 0x1c05bd71 in default_handler ()
#8 0x1c056152 in ap_invoke_handler ()
#9 0x1c06668b in process_request_internal ()
#10 0x1c06683b in ap_process_request ()
#11 0xcfbddcf0 in ?? ()
#12 0x00000003 in ?? ()
#13 0x7fe5c034 in ?? ()
#14 0x7fe5c034 in ?? ()
#15 0x812c7044 in ?? ()
#16 0xcfbddd28 in ?? ()
#17 0x1c05f701 in child_main ()
Previous frame inner to this frame (corrupt stack?)
# dmesg
OpenBSD 3.8 (MY) #0: Thu Jan 19 11:52:55 CET 2006
[EMAIL PROTECTED]:/home/obsd/release/sys/arch/i386/compile/MY
cpu0: Intel(R) Pentium(R) 4 CPU 2.40GHz ("GenuineIntel" 686-class)
2.40 GHz
cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,
CFLUSH,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,CNXT-ID
real mem = 1073324032 (1048168K)
avail mem = 972779520 (949980K)
using 4278 buffers containing 53768192 bytes (52508K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 08/18/04, BIOS32 rev. 0 @
0xfdb80
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
apm0: flags 30102 dobusy 0 doidle 1
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xf4f70/272 (15 entries)
pcibios0: PCI Interrupt Router at 000:01:7 ("ServerWorks CSB5
SouthBridge" rev 0x00)
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc0000/0x8000 0xc8000/0x1200 0xc9800/0x1000
0xca800/0x1000 0xcc000/0x1800
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "ServerWorks CMIC_SL Host" rev 0x32
pchb1 at pci0 dev 0 function 1 "ServerWorks CMIC_SL Host" rev 0x00
pci1 at pchb1 bus 1
twe0 at pci1 dev 3 function 0 "3ware Escalade IDE RAID" rev 0x01: irq 11
twe0: Escalade V1.3
scsibus0 at twe0: 16 targets
sd0 at scsibus0 targ 7 lun 0: <3WARE, Host drive #07, > SCSI2 0/
direct fixed
sd0: 239372MB, 30515 cyl, 255 head, 63 sec, 512 bytes/sec, 490234752
sec total
wdt0 at pci0 dev 3 function 0 "Industrial Computer Source WDT 50x
Watchdog Timer" rev 0x02
wdt0: WDT501 timeout 30 secs, temp 24 F
puc0 at pci0 dev 4 function 0 "Lava Quad Serial" rev 0x00: com, com,
com, com
pccom3 at puc0 port 0 irq 5: ns16550a, 16 byte fifo
pccom4 at puc0 port 1 irq 5: ns16550a, 16 byte fifo
pccom5 at puc0 port 2 irq 5: ns16550a, 16 byte fifo
pccom6 at puc0 port 3 irq 5: ns16550a, 16 byte fifo
puc1 at pci0 dev 4 function 1 "Lava Quad Serial" rev 0x00: com, com,
com, com
pccom7 at puc1 port 0 irq 5: ns16550a, 16 byte fifo
pccom8 at puc1 port 1 irq 5: ns16550a, 16 byte fifo
pccom9 at puc1 port 2 irq 5: ns16550a, 16 byte fifo
pccom10 at puc1 port 3 irq 5: ns16550a, 16 byte fifo
ami0 at pci0 dev 5 function 0 "AMI MegaRAID" rev 0x02: irq 10 AMI
511/64b/lhc
ami0: FW N661, BIOS v1.01, 16MB RAM
ami0: 4 channels, 0 FC loops, 3 logical drives
scsibus1 at ami0: 40 targets
sd1 at scsibus1 targ 0 lun 0: <AMI, Host drive #00, > SCSI2 0/direct
fixed
sd1: 238417MB, 30393 cyl, 255 head, 63 sec, 512 bytes/sec, 488278016
sec total
sd2 at scsibus1 targ 1 lun 0: <AMI, Host drive #01, > SCSI2 0/direct
fixed
sd2: 238417MB, 30393 cyl, 255 head, 63 sec, 512 bytes/sec, 488278016
sec total
sd3 at scsibus1 targ 2 lun 0: <AMI, Host drive #02, > SCSI2 0/direct
fixed
sd3: 476834MB, 60787 cyl, 255 head, 63 sec, 512 bytes/sec, 976556032
sec total
scsibus2 at ami0: 16 targets
scsibus3 at ami0: 16 targets
scsibus4 at ami0: 16 targets
scsibus5 at ami0: 16 targets
vga1 at pci0 dev 7 function 0 "ATI Rage XL" rev 0x27
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
fxp0 at pci0 dev 8 function 0 "Intel 82557" rev 0x10, i82551: irq 9,
address 00:e0:81:24:f0:96
inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
pcib0 at pci0 dev 15 function 0 "ServerWorks CSB5 SouthBridge" rev 0x93
pciide0 at pci0 dev 15 function 1 "ServerWorks CSB5 IDE" rev 0x93: DMA
atapiscsi0 at pciide0 channel 1 drive 0
scsibus6 at atapiscsi0: 2 targets
cd0 at scsibus6 targ 0 lun 0: <MITSUMI, CD-ROM SR244W, T01A> SCSI0 5/
cdrom removable
cd0(pciide0:1:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 2
pchb2 at pci0 dev 15 function 3 "ServerWorks CSB5 PCI" rev 0x00
pchb3 at pci0 dev 16 function 0 "ServerWorks CIOBX2" rev 0x03
pchb4 at pci0 dev 16 function 2 "ServerWorks CIOBX2" rev 0x03
pci2 at pchb4 bus 2
em0 at pci2 dev 7 function 0 "Intel PRO/1000MT (82545EM)" rev 0x01:
irq 11, address: 00:e0:81:24:f0:97
isa0 at pcib0
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
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
sysbeep0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: 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 fd45 netmask ff45 ttymask ffc7
pctr: user-level cycle counter enabled
dkcsum: sd0 matches BIOS drive 0x83
dkcsum: sd1 matches BIOS drive 0x80
dkcsum: sd2 matches BIOS drive 0x81
dkcsum: sd3 matches BIOS drive 0x81 IGNORED
root on sd1a
rootdev=0x410 rrootdev=0xd10 rawdev=0xd12
Cordialement,
Jean-Girard Pailloncy