www-apache-bugdb mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@arctic.org>
Subject Re: os-unixware/1553: Apache hangs on request (fwd)
Date Mon, 05 Jan 1998 18:10:00 GMT
The following reply was made to PR os-unixware/1553; it has been noted by GNATS.

From: Dean Gaudet <dgaudet@arctic.org>
To: apbugs@apache.org
Cc:  Subject: Re: os-unixware/1553: Apache hangs on request (fwd)
Date: Mon, 5 Jan 1998 10:11:49 -0800 (PST)

 ---------- Forwarded message ----------
 Date: Mon, 5 Jan 1998 11:58:30 -0400
 From: Sean Garagan <garagan@ug.cs.dal.ca>
 To: Dean Gaudet <dgaudet@arctic.org>
 Subject: Re: os-unixware/1553: Apache hangs on request
 
 Hi Dean,
 
 Sorry for the slow reply, but tis the season and all that :)
 
 The fix of adding -DUSE_FCNTL_SERIALIZED_ACCEPT seems to have worked, but I
 also had to switch to the supplied cc from gcc for other reasons, so I am
 not sure which was the exact fix.  If the problem occurs again, I will let
 you know
 
 Sean
 
 On Mon, Dec 15, 1997 at 03:00:08PM -0400, Dean Gaudet wrote:
 > On Mon, 15 Dec 1997, Sean Garagan wrote:
 > 
 > > getmsg(15, 0x0804770C, 0x08047700, 0x0804771C) (sleeping...)
 > 
 > I'm reminded of how much I despise sysvr4 STREAMS ... they obscure so much
 > useful stuff under abstractions.   This is *probably* an accept()
 > call.
 > 
 > > poll(0x08045850, 1, -1)         (sleeping...)
 > 
 > This is select() implemented as poll() under the covers.
 > 
 > > waitsys(P_ALL, 0, 0x08047850, WEXITED|WTRAPPED|WNOHANG) = 0
 > > sleep(1)
 > 
 > This is the parent.
 > 
 > > poll(0x08045850, 1, -1)         (sleeping...)
 > > poll(0x08045850, 1, -1)                         = 1
 > > sigaction(SIGUSR1, 0x080477F4, 0x08047830)      = 0
 > > sigprocmask(SIG_BLOCK, 0x08047754, 0x08047764)  = 0
 > > getmsg(15, 0x08047774, 0x00000000, 0x08047834)  = 0
 > > sigprocmask(SIG_SETMASK, 0x08047764, 0x00000000) = 0
 > > ioctl(15, I_GETTP, 0x00000000)                  = 50
 > > fxstat(2, 15, 0x08047780)                       = 0
 > > open("/etc/netconfig", O_RDONLY, 0666)          = 3
 > > ioctl(3, TCGETS, 0x080471D0)                    Err#25 ENOTTY
 > > ioctl(3, I_GETTP, 0x00000000)                   Err#25 ENOTTY
 > > fxstat(2, 3, 0x08047210)                        = 0
 > > read(3, " t c p\t t p i _ c o t s".., 8192)     = 806
 > > read(3, 0x0809FB30, 8192)                       = 0
 > > lseek(3, 0, 0)                                  = 0
 > > read(3, " t c p\t t p i _ c o t s".., 8192)     = 806
 > > read(3, 0x0809FB30, 8192)                       = 0
 > > close(3)                                        = 0
 > > xstat(2, "/dev/tcp", 0x08047780)                = 0
 > > open("/dev/tcp", O_RDWR, 027776033624)          = 3
 > > ioctl(3, I_FIND, "sockmod")                     = 0
 > > ioctl(3, I_PUSH, "sockmod")                     = 0
 > > ioctl(3, I_SETCLTIME, 0x08047718)               = 0
 > > ioctl(3, I_SWROPT, 0x00000002)                  = 0
 > > sigprocmask(SIG_BLOCK, 0x080476A0, 0x080476B0)  = 0
 > > ioctl(3, I_STR, 0x08047668)                     = 0
 > > sigprocmask(SIG_SETMASK, 0x080476B0, 0x00000000) = 0
 > > ioctl(3, I_GETSIG, 0x080476E0)                  Err#22 EINVAL
 > > sigprocmask(SIG_BLOCK, 0x080475C4, 0x080475D4)  = 0
 > > ioctl(3, I_STR, 0x08047580)                     = 0
 > > sigprocmask(SIG_SETMASK, 0x080475D4, 0x00000000) = 0
 > > sigprocmask(SIG_BLOCK, 0x08047754, 0x08047764)  = 0
 > > ioctl(15, I_FDINSERT, 0x08047808)               = 0
 > > fcntl(15, F_GETFL, 0x00000000)                  = 2
 > > getmsg(15, 0x0804770C, 0x08047700, 0x0804771C) (sleeping...)
 > 
 > Look at all that fun stuff!  How ugly.  What is it smoking with that
 > fcntl() call?  Interesting.
 > 
 > Ok, wild guess time, try adding -DUSE_FCNTL_SERIALIZED_ACCEPT to
 > EXTRA_CFLAGS in Configure and rebuilding the entire server.  I'm
 > guessing unixware doesn't like having the same socket inside an
 > accept() and a select() at the same time.
 > 
 > Dean
 > 
 

Mime
View raw message