[OpenSmalltalk/opensmalltalk-vm] macOS sockets broken (#428)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] macOS sockets broken (#428)

David T Lewis
 

On macOS High Sierra 10.13.6 in 32-bit and 64-bit:

If NetNameResolver useOldNetwork == false then only 1 SocketTest test passes, 2 fail and 11 raise errors. The plugin reports connect errors, one for each error:

sqConnectToAddressSize: Address family not supported by protocol family
sqConnectToAddressSize: Address family not supported by protocol family
sqConnectToAddressSize: Address family not supported by protocol family
sqConnectToAddressSize: Address family not supported by protocol family
sqConnectToAddressSize: Address family not supported by protocol family
sqConnectToAddressSize: Address family not supported by protocol family
sqConnectToAddressSize: Address family not supported by protocol family
sqConnectToAddressSize: Address family not supported by protocol family
sqConnectToAddressSize: Address family not supported by protocol family
sqConnectToAddressSize: Address family not supported by protocol family
sqConnectToAddressSize: Address family not supported by protocol family

If NetNameResolver useOldNetwork == true then only one test passes and there are 13 failures. Many (all?) fail with waitForConnectionFor:ifTimedOut:ifRefused: timing out.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428?email_source=notifications\u0026email_token=AIJPEW2RBJN4YKIYJ7D33YTQMUNRNA5CNFSM4I44ENOKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HPIGQWQ", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428?email_source=notifications\u0026email_token=AIJPEW2RBJN4YKIYJ7D33YTQMUNRNA5CNFSM4I44ENOKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HPIGQWQ", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] macOS sockets broken (#428)

David T Lewis
 

When using new network, the tests use an IPv6-based localhost address for binding and connecting.

The local socket is opened in setUp:

setUp

	listenerSocket := Socket newTCP listenOn: self listenerPort backlogSize: 4 interface: self listenerAddress.

The listenerAddress is derived as follows:

^ NetNameResolver addressForName: 'localhost'

In oldNetwork, that's an IPv4, in !oldNetwork that's an IPv6. this is good

However, the Socket is created as newTCP, that is, explicitely IPv4:

newTCP
	"Create a socket and initialise it for TCP"
	^self newTCP: SocketAddressInformation addressFamilyINET4

This is bad. This is where the Error message comes from.

This should be changed to use the address familty that fits best to the current old/new-network.

On top of that, #listenOn:backlogSize: interface: solely deals with IPv4 adresses.

The correct way is to use the indirection of SocketAddressInformation in #listenWithBacklog:.
This deals correctly with the address family.

Things to do:

  • fix the test setup to use the SAI info and/or discriminate old/new network
  • maybe Bail in the socket plugin earlier when a new-network socket is used in old-network-ipv4-only code.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#issuecomment-694231185", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#issuecomment-694231185", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] macOS sockets broken (#428)

David T Lewis
In reply to this post by David T Lewis
 

Closed #428.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#event-3895904910", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#event-3895904910", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] macOS sockets broken (#428)

David T Lewis
In reply to this post by David T Lewis
 

wait, this is fixed?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#issuecomment-712618772", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#issuecomment-712618772", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] macOS sockets broken (#428)

David T Lewis
In reply to this post by David T Lewis
 

Oops. I was over optimistic. I assumed that Levente'se poll change applied to Mac. It doesn't. Mac needs kqueue. I'm reopening.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#issuecomment-713023214", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#issuecomment-713023214", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] macOS sockets broken (#428)

David T Lewis
In reply to this post by David T Lewis
 

Reopened #428.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#event-3899971355", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#event-3899971355", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] macOS sockets broken (#428)

David T Lewis
In reply to this post by David T Lewis
 

marvelous :D


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#issuecomment-713075118", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#issuecomment-713075118", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>