[CalendarServer-dev] Exception in recvfd --was: Re: continuing work on FreeBSD ports
Axel Rau
Axel.Rau at Chaos1.DE
Tue Feb 19 13:28:50 PST 2013
Hi,
the break came from finding and reading "Unix Network Programming" by Stevens/Fenner/Rudoff. (-;
Am 14.02.2013 um 11:37 schrieb Fredrik Unger:
> From the top of my head I find it strange that just 3 bytes was received.
> If I remember correctly my tests sent more (with sendmsg).
I think, the reason is, that *no* ancillary data is being sent:
---
recvmsg entered.
recvmsg: fd 0x1b[4] flags 0x0 result 0x1
return from recvmsg
recvmsg entered.
recvmsg: fd 0x19[4] flags 0x0 result 0x1
return from recvmsg
sendmsg entered.
sendmsg got: fd: 0x18, iov: 0xffffab90, ancillary: 0x0,
sendmsg: fd 0x18[4] flags 0x0 message_header 0xffffa98f
return from sendmsg with
sendmsg entered.
sendmsg got: fd: 0x1a, iov: 0xffffab90, ancillary: 0x0,
sendmsg: fd 0x1a[4] flags 0x0 message_header 0xffffa98f
return from sendmsg with
---
Without ancillary data, no fd can be shipped.
The only place where ancillary data could be provided seems to be
twext.internet.sendfdport._SubprocessSocket.doWrite.
I would be happy for any hint where to dig...
Axel
PS: sendmsg.c seems to be very fragile as debug code changes
behaviour of the system (i.e. it locks up after trying a http
connect and does not reach point of original exception)
---
PGP-Key:29E99DD6 ☀ +49 151 2300 9283 ☀ computing @ chaos claudius
More information about the calendarserver-dev
mailing list