[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


 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