sendmsg/recvmsg on Mac OS X
The buildbots are complaining about some of tests for the new socket.sendmsg/recvmsg added by issue #6560 for *nix platforms that provide CMSG_LEN. http://www.python.org/dev/buildbot/all/builders/AMD64%20Snow%20Leopard%202%2... Before I start trying to figure this out without a Mac to test on, are any of the devs that actually use Mac OS X seeing the failure in their local builds? Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia
The buildbots are complaining about some of tests for the new socket.sendmsg/recvmsg added by issue #6560 for *nix platforms that provide CMSG_LEN.
Looks like kernel bugs: http://developer.apple.com/library/mac/#qa/qa1541/_index.html """ Yes. Mac OS X 10.5 fixes a number of kernel bugs related to descriptor passing [...] Avoid passing two or more descriptors back-to-back. """ We should probably add @requires_mac_ver(10, 5) for testFDPassSeparate and testFDPassSeparateMinSpace. As for InterruptedSendTimeoutTest and testInterruptedSendmsgTimeout, it also looks like a kernel bug: the syscall should fail with EINTR once the socket buffer is full. I guess one should skip those on OS-X.
On Wed, 24 Aug 2011 15:31:50 +0200
Charles-François Natali
The buildbots are complaining about some of tests for the new socket.sendmsg/recvmsg added by issue #6560 for *nix platforms that provide CMSG_LEN.
Looks like kernel bugs: http://developer.apple.com/library/mac/#qa/qa1541/_index.html
""" Yes. Mac OS X 10.5 fixes a number of kernel bugs related to descriptor passing [...] Avoid passing two or more descriptors back-to-back. """
But Snow Leopard, where these failures occur, is OS X 10.6. Antoine.
In article <20110824184927.2697b0af@pitrou.net>,
Antoine Pitrou
On Wed, 24 Aug 2011 15:31:50 +0200 Charles-François Natali
wrote: The buildbots are complaining about some of tests for the new socket.sendmsg/recvmsg added by issue #6560 for *nix platforms that provide CMSG_LEN.
Looks like kernel bugs: http://developer.apple.com/library/mac/#qa/qa1541/_index.html
""" Yes. Mac OS X 10.5 fixes a number of kernel bugs related to descriptor passing [...] Avoid passing two or more descriptors back-to-back. """
But Snow Leopard, where these failures occur, is OS X 10.6.
But chances are the build is using the default 10.4 ABI. Adding MACOSX_DEPLOYMENT_TARGET=10.6 as an env variable to ./configure may fix it. There is an open issue to change configure to use better defaults for this. (I'm right in the middle of reconfiguring my development systems so I can't test it myself immediately but I'll report back shortly.) -- Ned Deily, nad@acm.org
On Wed, 24 Aug 2011 11:37:20 -0700
Ned Deily
In article <20110824184927.2697b0af@pitrou.net>, Antoine Pitrou
wrote: On Wed, 24 Aug 2011 15:31:50 +0200 Charles-François Natali
wrote: The buildbots are complaining about some of tests for the new socket.sendmsg/recvmsg added by issue #6560 for *nix platforms that provide CMSG_LEN.
Looks like kernel bugs: http://developer.apple.com/library/mac/#qa/qa1541/_index.html
""" Yes. Mac OS X 10.5 fixes a number of kernel bugs related to descriptor passing [...] Avoid passing two or more descriptors back-to-back. """
But Snow Leopard, where these failures occur, is OS X 10.6.
But chances are the build is using the default 10.4 ABI. Adding MACOSX_DEPLOYMENT_TARGET=10.6 as an env variable to ./configure may fix it.
Does the ABI affect kernel bugs? Regards Antoine.
In article <20110824205047.6be49525@pitrou.net>,
Antoine Pitrou
On Wed, 24 Aug 2011 11:37:20 -0700 Ned Deily
wrote: In article <20110824184927.2697b0af@pitrou.net>, Antoine Pitrou
wrote: On Wed, 24 Aug 2011 15:31:50 +0200 Charles-François Natali
wrote: The buildbots are complaining about some of tests for the new socket.sendmsg/recvmsg added by issue #6560 for *nix platforms that provide CMSG_LEN.
Looks like kernel bugs: http://developer.apple.com/library/mac/#qa/qa1541/_index.html
""" Yes. Mac OS X 10.5 fixes a number of kernel bugs related to descriptor passing [...] Avoid passing two or more descriptors back-to-back. """
But Snow Leopard, where these failures occur, is OS X 10.6.
But chances are the build is using the default 10.4 ABI. Adding MACOSX_DEPLOYMENT_TARGET=10.6 as an env variable to ./configure may fix it.
Does the ABI affect kernel bugs?
If it's more of a "libc" sort of bug (i.e. somewhere below the app layer), it could. But, unfortunately, that doesn't seem to be the case here. -- Ned Deily, nad@acm.org
But Snow Leopard, where these failures occur, is OS X 10.6.
*sighs* It still looks like a kernel/libc bug to me: AFAICT, both the code and the tests are correct. And apparently, there are still issues pertaining to FD passing on 10.5 (and maybe later, I couldn't find a public access to their bug tracker): http://lists.apple.com/archives/Darwin-dev/2008/Feb/msg00033.html Anyway, if someone with a recent OS X release could run test_socket, it would probably help. Follow ups to http://bugs.python.org/issue6560
In article
But Snow Leopard, where these failures occur, is OS X 10.6.
*sighs* It still looks like a kernel/libc bug to me: AFAICT, both the code and the tests are correct. And apparently, there are still issues pertaining to FD passing on 10.5 (and maybe later, I couldn't find a public access to their bug tracker): http://lists.apple.com/archives/Darwin-dev/2008/Feb/msg00033.html
Anyway, if someone with a recent OS X release could run test_socket, it would probably help. Follow ups to http://bugs.python.org/issue6560
I was able to do a quick test on 10.7 Lion and the 8 test failures still occur regardless of deployment target. Sorry, I don't have time to further investigate. -- Ned Deily, nad@acm.org
participants (5)
-
Antoine Pitrou
-
Charles-François Natali
-
Charles-François Natali
-
Ned Deily
-
Nick Coghlan