Bill Welliver bill@welliver.org 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?