> Nick wrote:
>> would you see if the port that's opened is IPv6?
> I'm not sure how to check which protocol
> a port is opened with
I'm sorry about that Doug ... I flaked on you there.
The problem is that the Apache/mod_webkit side cannot even
get the socket connected. I forgot that, and that I had to
add debug output* to mod_webkit.c (mod_webkit2) to uncover
my initial hunch. Hey, that was January.
> Nick also recklessly wrote:
>> I've odds that you'll find ... localhost -> 127.0.0.1
> I changed httpd.conf back to read localhost, restarted Apache, and
> restarted AppServer. Everything still works as before so it must have
> been something else.
Well, I lost that one. Shouldn't have jumped the gun.
When you returned to the "localhost 8086" configuration
(with Apache set to "LogLevel debug" in main or vhost config)
I expected you to see the "Couldn't connect to AppServer"
failures in your Apache error log.
So I guess you (Mac OS X 10.3.2, Apache/1.3.29, mod_webkit
[not mod_webkit2]) don't have this bug. And Todd Grimason's
keen eye caught your bug.
* For the interested:
The problem boils to a behavior in getipnodebyname(3).
If IPv6 is defined for your host, the IPv6 addr for localhost
[::1] is the first in the list ultimately returned through
getaddrinfo(3) and back to Apache's apr_sockaddr_info_get().
So at startup Apache and mod_webkit2 set up the address
structures for a perfectly fine IPv6 connection. But when
the request comes through for the web page, mod_webkit2's
wksock_open() gets refused (error=97) on socket creation
because it tries to use that IPv6 info to open an
One passable solution might be to change wksock_open() to
read the address family from the returned-and-stored address
structure instead of the hardcoded AF_INET. My workaround
used the ability to request priority for IPv4 addresses in
the response from (ultimately) getipnodebyname(). Specifying
an actual address in the Apache conf can work too, provided
it isn't actually an IPv6 address.
From: webware-discuss-admin@... [mailto:webware-discuss-admin@...] On Behalf Of Douglas Burchard
Sent: Wednesday, March 17, 2004 07:37 PM
To: Webware Discuss
Subject: Re: [Webware-discuss] Getting Webware running on Mac OS X
On Mar 16, 2004, at 4:50 PM, Nick Ragouzis wrote:
> I've odds that you'll find that John Dickinson's suggestion was the
> ticket (viz: localhost -> 127.0.0.1 ... or whatever specific address
> you want).
> If you do confirm that we'd have confirmation of the
> 'bug' and 'fix' on Linux, Windows, and Mac OS. And
> not only on Apache 2 but also 1; and not only mod_webkit2
> but also mod_webkit.
> When (ok, if) you try dropping back to localhost, would you see if the
> port that's opened is IPv6? If so then perhaps we should rollup that
> mod_webkit fix to mod_webkit's call to apr_sockaddr_info_get().
I changed httpd.conf back to read localhost, restarted Apache, and
restarted AppServer. Everything still works as before so it must have
been something else.
In any case, I'm not sure how to check which protocol a port is opened