Bill Welliver <[email protected]> wrote:

> Does anyone have any feedback on 7.8.700? So far things look good on
> the systems I've tried it on. If I don't hear about any show-stoppers,
> I'll declare success on Friday.

I didn't find any tag for 7.8.700 (why isn't there any?), so I based my
Windows build on commit 1ace5c8e. I noted these things in the test
suite:

Issue 1:

  Doing tests in modules/files/testsuite (109 tests)
  Socket test
  Socket test in IPv6 mode
  Socket test using SelectBackend
  Socket test using SelectBackend in IPv6 mode
  Sendfile test: 5This file does not support nonblocking operation.
  -:1: Fd(10)->set_nonblocking()
  -:1: Stdio.File("conftest.dst", "cwt", 666 /* fd=10 */)->set_nonblocking()
  l:/mast-home/Pike/stable/lib/modules/Stdio.pmod/module.pmod:1442: 
Stdio.File("conftest.dst", "cwt", 666 /* fd=10 
*/)->set_nonblocking(0,0,0,UNDEFINED,UNDEFINED)
  l:/mast-home/Pike/stable/lib/modules/Stdio.pmod/module.pmod:3041: 
Stdio.Sendfile()->writer_done()
  l:/mast-home/Pike/stable/lib/modules/Stdio.pmod/module.pmod:2930: 
Stdio.Sendfile()->reader_done()
  l:/mast-home/Pike/stable/lib/modules/Stdio.pmod/module.pmod:2946: 
Stdio.Sendfile()->close_cb(0)
  -:1: Pike.Backend(0)->`()(3600.0)

Afaics this is an ordinary file on disk that nb_sendfile tries to set
nonblocking during cleanup. The quick fix is perhaps to add a flag to
set_nonblocking to skip that error, for use in cleanup code like this.
But otoh I've got a feeling it ought not meddle with the nonblocking
flag at all, and that the right way is to use set_callbacks instead. But
someone with better knowledge of the sendfile stuff should take a look
at it.

Issue 2:

Every once in a while I random crashes with EXCEPTION_ACCESS_VIOLATION
from pike subprocesses in the test suite (which causes them to return
exit code -1073741819). I've not been able to find out the cause.

Issue 3:

This occasional error:

  Doing tests in modules/files/testsuite (109 tests, pid 2760)
  Socket test
  Copying 225280 bytes of data on 20 sockets
  File->pipe() failed 0, errno: 10035, "Error 10035"
  _exit 1

10035 is "a non-blocking socket operation could not be completed
immediately". I suspect some kind of race.

Especially issue 2 isn't very confidence inspiring, but I suspect it
isn't a regression so I wouldn't say any of this should hold up a
release. Should I make my Windows build available somewhere?
  • 7.8... Bill Welliver
    • ... Martin Stjernholm
      • ... H. William Welliver III
        • ... Henrik Grubbstr�m (Lysator) @ Pike (-) developers forum
    • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
      • ... H. William Welliver III

Reply via email to