[Varnish] #106: Varnish does not compile on OpenBSD.
Varnish
varnish-bugs at projects.linpro.no
Tue May 22 18:15:38 CEST 2007
#106: Varnish does not compile on OpenBSD.
----------------------+-----------------------------------------------------
Reporter: brad | Owner: des
Type: defect | Status: closed
Priority: normal | Milestone:
Component: varnishd | Version: 1.0.4
Severity: normal | Resolution: wontfix
Keywords: |
----------------------+-----------------------------------------------------
Changes (by des):
* status: assigned => closed
* resolution: => wontfix
Comment:
I've spent most of the day looking into Varnish's behaviour on OpenBSD
4.1, and my conclusion so far is that the problems lie in OpenBSD's POSIX
threads library. I don't have time to pursue this further, but if anyone
is interested, I would suggest investigating the library's handling of
signals (the management process gets a stray {{{SIGCHLD}}} early on,
resulting in an error message from {{{mgt_sigchld}}}) and {{{poll()}}}.
The infinite loop you observe seems to me to come from {{{poll()}}}
returning 1 even though none of the polled descriptors are ready.
Even if you fix these issues, I'm not sure running Varnish on OpenBSD is a
good idea. I believe OpenBSD uses the very same M:N thread model that
Solaris, FreeBSD and now NetBSD have abandoned. It's a good idea in
theory, but it is based on the assumption that your userland thread
scheduler can schedule threads (within the same process) faster than your
kernel scheduler can, and this does not seem to be the case, judging from
my {{{ktrace(1)}}} logs of {{{varnishd}}} running on OpenBSD 4.1. It also
requires emulating all potentially blocking system calls in userland; this
is where I suspect the {{{poll()}}} problem stems from.
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/106>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list