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?