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

Reply via email to