[Pharo-project] networking problem (repost)

Michael Roberts mike at mjr104.co.uk
Thu Mar 11 15:44:14 EST 2010


Hi John, thanks for volunteering!  I have dug into the magma issue a
bit more. it is difficult to say.  i can describe my test case, and
YMMV.

(if you need more detail just ping me off list, i suspect your own
investigation path would bear interesting fruit)
-take latest rc 2 Pharo image

-force use new network class var
-force default on initialization to use new network

-install OSProcess
-install Magma
-fix os process launching issue in magma code
-stop magma changing OS x display resolution (annoying)
-run magma test suite
-<launches 4 images>

so the first thing to check is that the os process launch does not
have the side-effect  of killing the network. i suspect not, there are
so many hooks to reinit.

i tried to force server creation to the local host address, if so the
test failure reduces to this:

| if socket |
if := NetNameResolver localHostAddress.
socket := Socket newTCP.
socket
	listenOn: xxxxx
	backlogSize: 50
	interface: if.
socket isValid

where if is an ipv6 structure.  socket isValid returns false, so it is
dead.  However, if I look on the shell

mike-mac:~ mike$ lsof -i4 | grep Squeak
Squeak     9944 mike    9u  IPv4 0x6a9f66c      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   10u  IPv4 0x6ab0a68      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   11u  IPv4 0x6a75a68      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   12u  IPv4 0x8e8a270      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   13u  IPv4 0x6a9ee64      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   14u  IPv4 0x6aa4a68      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   15u  IPv4 0x6a94a68      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   16u  IPv4 0x8e86e64      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   17u  IPv4 0x6a7966c      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   18u  IPv4 0x6539e64      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   19u  IPv4 0x919066c      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   21u  IPv4 0x9192a68      0t0  TCP *:* (CLOSED)
Squeak     9944 mike   22u  IPv4 0x918866c      0t0  TCP *:* (CLOSED)
mike-mac:~ mike$ lsof -i6 | grep Squeak
mike-mac:~ mike$

so i have lots of dead ipv4 sockets, and no ipv6 ones... even though
netname resolver returned an ip6 structure. i guess i don't know
really how i expect it to work. maybe just using the wrong api...

I also tried clamping the interface to a known ip address on my machine i.e

if := NetNameResolver addressForName: '192.168.1.15'.

but it does not work either.

hope that debugging helps in any way.

cheers,
Mike




More information about the Pharo-dev mailing list