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
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project