[K42-discussion] Running AIM7 - next bug

Andrew Baumann andrewb at cse.unsw.edu.au
Thu Sep 15 20:32:15 EST 2005


Hi again,

Thanks for everyone's quick responses to my previous problems -- I'm 
continuing to work on running AIM7, and have now hit the next bug :)

On closer inspection, if socketpair() isn't available the benchmark can run in 
a mode where it uses TCP and UDP sockets instead of Unix domain sockets. 
However, attempting this, I ran into what I believe to be the same bug as 
triggered by kitch-linux/tests/linux/socket2.c

Where this happens in AIM7 (for reference, the function is udp_test() in 
src/pipe_test.c), it:
 * creates a AF_INET, SOCK_DGRAM socket
 * connect()s it to a particular address (a port on localhost where there is a 
matching receiver socket)
 * write()s to it, which fails with "Destination address required"

The write call should succeed, because of the previous connect() (which is 
legal, even though this is a datagram socket). I haven't traced through K42 
to see why this doesn't work, but a quick grep didn't turn up anyone 
returning EDESTADDRREQ in kitchsrc.

Note that it still runs the UDP test even if socketpair() is available, so 
fixing UNIX-domain datagram sockets will still mean that we hit this bug.

Andrew



More information about the K42-discussion mailing list