Am 21.02.2013 um 01:15 schrieb gl...@twistedmatrix.com: > Also, a Python traceback from the invocation of sendmsg() would be helpful. I need some advice, how to do that. > The 'ancillary' that your debug code is printing is the Python argument > value for 'ancillary', which means that Python code is getting invoked with > no ancillary list. There are only two invocations of sendmsg in the whole > codebase, and the one that sends the FD is hard-coded to pass a list with one > element in it along (in sendfd). sendmsg is also called to report status > from the worker to the master, and that's expected to come along with no > sendmsg arguments. I suspect a portability issue in PyArg_ParseTupleAndKeywords().
This patch in twext.python.sendfd.recvfd: --- data, flags, ancillary = recvmsg(socketfd) [(cmsg_level, cmsg_type, packedFD)] = ancillary # cmsg_level and cmsg_type really need to be SOL_SOCKET / SCM_RIGHTS, but # since those are the *only* standard values, there's not much point in # checking. if len(packedFD) != calcsize("i"): err_msg = str("recvfd: packedFD [%d] not %d bytes long" % (len(packedFD),calcsize("i"))) print err_msg raise ValueError(err_msg) [unpackedFD] = unpack("i", packedFD) return (unpackedFD, data) --- shows that there are 8 bytes returned for the fd instead of 4: --- File "/usr/local/lib/python2.7/site-packages/twisted/internet/kqreactor.py", line 279, in _doWriteOrRead why = selectable.doRead() File "/usr/local/lib/python2.7/site-packages/Calendar_and_Contacts_Server-4.2-py2.7-freebsd-9.1-RELEASE-amd64.egg/twext/internet/sendfdport.py", line 281, in doRead fd, description = recvfd(self.fd) File "/usr/local/lib/python2.7/site-packages/Calendar_and_Contacts_Server-4.2-py2.7-freebsd-9.1-RELEASE-amd64.egg/twext/python/sendfd.py", line 72, in recvfd raise ValueError(err_msg) exceptions.ValueError: recvfd: packedFD [8] not 4 bytes long --- Might platform related too. Axel --- PGP-Key:29E99DD6 ☀ +49 151 2300 9283 ☀ computing @ chaos claudius _______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/calendarserver-dev