[Zdc]SocketStream>>#openConnectionToHostNamed:port: no longer signals am exception on macOS

SV
Sven Van Caekenberghe
Sun, Jul 18, 2021 1:51 PM

Hi,

It seems that the following consistently crashes a recent/latest Pharo 9 image/vm on macOS:

(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close.

Command line, you can try it as follows:

$ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

You can replace ZdcSocketStream by SocketStream, same result.

Before, trying to connect to a non-existing host:port resulted in a ConnectionTimedOut: Cannot connect to 127.0.0.1:12335.

Now, the code just returns and the bad stream is then used as if it is OK, which results in a hard crash.

Furthermore, there is no backtrace nor log.

Sven

Hi, It seems that the following consistently crashes a recent/latest Pharo 9 image/vm on macOS: (ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. Command line, you can try it as follows: $ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo" You can replace ZdcSocketStream by SocketStream, same result. Before, trying to connect to a non-existing host:port resulted in a ConnectionTimedOut: Cannot connect to 127.0.0.1:12335. Now, the code just returns and the bad stream is then used as if it is OK, which results in a hard crash. Furthermore, there is no backtrace nor log. Sven
T
tesonep@gmail.com
Mon, Jul 19, 2021 8:56 AM

Hi,
with the new VM I could not reproduce it. I think it was related with
the issue of the NetNameResolver.
Which VM version are you using?

Thanks

On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe sven@stfx.eu wrote:

Hi,

It seems that the following consistently crashes a recent/latest Pharo 9
image/vm on macOS:

(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335)
nextPut: 0; close.

Command line, you can try it as follows:

$ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed:
'localhost' port: 12335) nextPut: 0; close. #foo"

You can replace ZdcSocketStream by SocketStream, same result.

Before, trying to connect to a non-existing host:port resulted in a
ConnectionTimedOut: Cannot connect to 127.0.0.1:12335.

Now, the code just returns and the bad stream is then used as if it is OK,
which results in a hard crash.

Furthermore, there is no backtrace nor log.

Sven

--
Pablo Tesone.
tesonep@gmail.com

Hi, with the new VM I could not reproduce it. I think it was related with the issue of the NetNameResolver. Which VM version are you using? Thanks On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe <sven@stfx.eu> wrote: > Hi, > > It seems that the following consistently crashes a recent/latest Pharo 9 > image/vm on macOS: > > (ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) > nextPut: 0; close. > > Command line, you can try it as follows: > > $ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: > 'localhost' port: 12335) nextPut: 0; close. #foo" > > You can replace ZdcSocketStream by SocketStream, same result. > > Before, trying to connect to a non-existing host:port resulted in a > ConnectionTimedOut: Cannot connect to 127.0.0.1:12335. > > Now, the code just returns and the bad stream is then used as if it is OK, > which results in a hard crash. > > Furthermore, there is no backtrace nor log. > > Sven > -- Pablo Tesone. tesonep@gmail.com
SV
Sven Van Caekenberghe
Mon, Jul 19, 2021 9:08 AM

Hi Pablo,

prometheus:2021-07-16 sven$ ./pharo --version
Pharo 9.0.0 built on Jul  6 2021 10:36:56 Compiler: 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.29)
Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200
prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion
[version] 'Pharo9.0.0' 'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64 Bit)'
prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

I have said this before, but the VM version is incomprehensible for normal people, why can't it just be something like 10.1 like the rest of the world ?

Also, for mere mortals it is impossible to find out if something changed about the VM, let alone what, and how that all relates to specific versions.

I know that you guys have a lot of work, and we are very grateful for it, but this is how it looks from the outside.

Thx,

Sven

On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote:

Hi,
with the new VM I could not reproduce it. I think it was related with the issue of the NetNameResolver.
Which VM version are you using?

Thanks

On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe sven@stfx.eu wrote:
Hi,

It seems that the following consistently crashes a recent/latest Pharo 9 image/vm on macOS:

(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close.

Command line, you can try it as follows:

$ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

You can replace ZdcSocketStream by SocketStream, same result.

Before, trying to connect to a non-existing host:port resulted in a ConnectionTimedOut: Cannot connect to 127.0.0.1:12335.

Now, the code just returns and the bad stream is then used as if it is OK, which results in a hard crash.

Furthermore, there is no backtrace nor log.

Sven

--
Pablo Tesone.
tesonep@gmail.com

Hi Pablo, prometheus:2021-07-16 sven$ ./pharo --version Pharo 9.0.0 built on Jul 6 2021 10:36:56 Compiler: 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.29) Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200 prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion [version] 'Pharo9.0.0' 'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64 Bit)' prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo" I have said this before, but the VM version is incomprehensible for normal people, why can't it just be something like 10.1 like the rest of the world ? Also, for mere mortals it is impossible to find out if something changed about the VM, let alone what, and how that all relates to specific versions. I know that you guys have a lot of work, and we are very grateful for it, but this is how it looks from the outside. Thx, Sven > On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote: > > Hi, > with the new VM I could not reproduce it. I think it was related with the issue of the NetNameResolver. > Which VM version are you using? > > Thanks > > On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe <sven@stfx.eu> wrote: > Hi, > > It seems that the following consistently crashes a recent/latest Pharo 9 image/vm on macOS: > > (ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. > > Command line, you can try it as follows: > > $ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo" > > You can replace ZdcSocketStream by SocketStream, same result. > > Before, trying to connect to a non-existing host:port resulted in a ConnectionTimedOut: Cannot connect to 127.0.0.1:12335. > > Now, the code just returns and the bad stream is then used as if it is OK, which results in a hard crash. > > Furthermore, there is no backtrace nor log. > > Sven > > > -- > Pablo Tesone. > tesonep@gmail.com
T
tesonep@gmail.com
Mon, Jul 19, 2021 9:46 AM

Thanks, yes it is true, the version name is a mess.
We need to improve the version display.
I will take note of that and I will fix it.

Cheers,
Pablo

On Mon, Jul 19, 2021 at 11:08 AM Sven Van Caekenberghe sven@stfx.eu wrote:

Hi Pablo,

prometheus:2021-07-16 sven$ ./pharo --version
Pharo 9.0.0 built on Jul  6 2021 10:36:56 Compiler: 4.2.1 Compatible Apple
LLVM 11.0.3 (clang-1103.0.32.29)
Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200
prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion
[version] 'Pharo9.0.0'
'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64
Bit)'
prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream
openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

I have said this before, but the VM version is incomprehensible for normal
people, why can't it just be something like 10.1 like the rest of the world
?

Also, for mere mortals it is impossible to find out if something changed
about the VM, let alone what, and how that all relates to specific versions.

I know that you guys have a lot of work, and we are very grateful for it,
but this is how it looks from the outside.

Thx,

Sven

On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote:

Hi,
with the new VM I could not reproduce it. I think it was related with

the issue of the NetNameResolver.

Which VM version are you using?

Thanks

On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe sven@stfx.eu

wrote:

Hi,

It seems that the following consistently crashes a recent/latest Pharo 9

image/vm on macOS:

(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335)

nextPut: 0; close.

Command line, you can try it as follows:

$ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed:

'localhost' port: 12335) nextPut: 0; close. #foo"

You can replace ZdcSocketStream by SocketStream, same result.

Before, trying to connect to a non-existing host:port resulted in a

ConnectionTimedOut: Cannot connect to 127.0.0.1:12335.

Now, the code just returns and the bad stream is then used as if it is

OK, which results in a hard crash.

Furthermore, there is no backtrace nor log.

Sven

--
Pablo Tesone.
tesonep@gmail.com

--
Pablo Tesone.
tesonep@gmail.com

Thanks, yes it is true, the version name is a mess. We need to improve the version display. I will take note of that and I will fix it. Cheers, Pablo On Mon, Jul 19, 2021 at 11:08 AM Sven Van Caekenberghe <sven@stfx.eu> wrote: > Hi Pablo, > > prometheus:2021-07-16 sven$ ./pharo --version > Pharo 9.0.0 built on Jul 6 2021 10:36:56 Compiler: 4.2.1 Compatible Apple > LLVM 11.0.3 (clang-1103.0.32.29) > Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200 > prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion > [version] 'Pharo9.0.0' > 'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64 > Bit)' > prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream > openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo" > > I have said this before, but the VM version is incomprehensible for normal > people, why can't it just be something like 10.1 like the rest of the world > ? > > Also, for mere mortals it is impossible to find out if something changed > about the VM, let alone what, and how that all relates to specific versions. > > I know that you guys have a lot of work, and we are very grateful for it, > but this is how it looks from the outside. > > Thx, > > Sven > > > On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote: > > > > Hi, > > with the new VM I could not reproduce it. I think it was related with > the issue of the NetNameResolver. > > Which VM version are you using? > > > > Thanks > > > > On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe <sven@stfx.eu> > wrote: > > Hi, > > > > It seems that the following consistently crashes a recent/latest Pharo 9 > image/vm on macOS: > > > > (ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) > nextPut: 0; close. > > > > Command line, you can try it as follows: > > > > $ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: > 'localhost' port: 12335) nextPut: 0; close. #foo" > > > > You can replace ZdcSocketStream by SocketStream, same result. > > > > Before, trying to connect to a non-existing host:port resulted in a > ConnectionTimedOut: Cannot connect to 127.0.0.1:12335. > > > > Now, the code just returns and the bad stream is then used as if it is > OK, which results in a hard crash. > > > > Furthermore, there is no backtrace nor log. > > > > Sven > > > > > > -- > > Pablo Tesone. > > tesonep@gmail.com > -- Pablo Tesone. tesonep@gmail.com
TB
Torsten Bergmann
Mon, Jul 19, 2021 11:12 AM

Hi Pablo,

yes - Sven is right on that it could be improved. Thanks for taking

care of this important topic.

Cheers,

Torsten

Gesendet: Montag, 19. Juli 2021 um 11:46 Uhr
Von: "tesonep@gmail.com" <tesonep@gmail.com>
An: "Pharo Development List" <pharo-dev@lists.pharo.org>
Betreff: [Pharo-dev] Re: [Zdc]SocketStream>>#openConnectionToHostNamed:port: no longer signals am exception on macOS

Thanks, yes it is true, the version name is a mess. We need to improve the version display. I will take note of that and I will fix it.

Cheers,

Pablo

On Mon, Jul 19, 2021 at 11:08 AM Sven Van Caekenberghe <sven@stfx.eu> wrote:

Hi Pablo,

prometheus:2021-07-16 sven$ ./pharo --version
Pharo 9.0.0 built on Jul 6 2021 10:36:56 Compiler: 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.29)
Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200
prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion
[version] 'Pharo9.0.0' 'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64 Bit)'
prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

I have said this before, but the VM version is incomprehensible for normal people, why can't it just be something like 10.1 like the rest of the world ?

Also, for mere mortals it is impossible to find out if something changed about the VM, let alone what, and how that all relates to specific versions.

I know that you guys have a lot of work, and we are very grateful for it, but this is how it looks from the outside.

Thx,

Sven

> On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote:
>
> Hi,
> with the new VM I could not reproduce it. I think it was related with the issue of the NetNameResolver.
> Which VM version are you using?
>
> Thanks
>
> On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe <sven@stfx.eu> wrote:
> Hi,
>
> It seems that the following consistently crashes a recent/latest Pharo 9 image/vm on macOS:
>
> (ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close.
>
> Command line, you can try it as follows:
>
> $ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"
>
> You can replace ZdcSocketStream by SocketStream, same result.
>
> Before, trying to connect to a non-existing host:port resulted in a ConnectionTimedOut: Cannot connect to 127.0.0.1:12335.
>
> Now, the code just returns and the bad stream is then used as if it is OK, which results in a hard crash.
>
> Furthermore, there is no backtrace nor log.
>
> Sven
>
>
> --
> Pablo Tesone.
> tesonep@gmail.com

-- Pablo Tesone.
tesonep@gmail.com

T
tesonep@gmail.com
Wed, Jul 21, 2021 11:06 AM

I have done a new release with the fix for the socket connection.
It was an issue in the kqueue code in OSX.
It was wrongly detecting exceptions and out-of-band data.
Please if you can update the VM and test it should be working.

Cheers
Pablo

On Mon, Jul 19, 2021 at 1:13 PM Torsten Bergmann astares@gmx.de wrote:

Hi Pablo,

yes - Sven is right on that it could be improved. Thanks for taking
care of this important topic.

Cheers,
Torsten

Gesendet: Montag, 19. Juli 2021 um 11:46 Uhr
Von: "tesonep@gmail.com" tesonep@gmail.com
An: "Pharo Development List" pharo-dev@lists.pharo.org
Betreff: [Pharo-dev] Re:
[Zdc]SocketStream>>#openConnectionToHostNamed:port: no longer signals am
exception on macOS
Thanks, yes it is true, the version name is a mess.
We need to improve the version display.
I will take note of that and I will fix it.

Cheers,
Pablo

On Mon, Jul 19, 2021 at 11:08 AM Sven Van Caekenberghe sven@stfx.eu
wrote:

Hi Pablo,

prometheus:2021-07-16 sven$ ./pharo --version
Pharo 9.0.0 built on Jul  6 2021 10:36:56 Compiler: 4.2.1 Compatible
Apple LLVM 11.0.3 (clang-1103.0.32.29)
Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200
prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion
[version] 'Pharo9.0.0'
'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64
Bit)'
prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream
openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

I have said this before, but the VM version is incomprehensible for
normal people, why can't it just be something like 10.1 like the rest of
the world ?

Also, for mere mortals it is impossible to find out if something changed
about the VM, let alone what, and how that all relates to specific versions.

I know that you guys have a lot of work, and we are very grateful for it,
but this is how it looks from the outside.

Thx,

Sven

On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote:

Hi,
with the new VM I could not reproduce it. I think it was related

with the issue of the NetNameResolver.

Which VM version are you using?

Thanks

On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe sven@stfx.eu

wrote:

Hi,

It seems that the following consistently crashes a recent/latest Pharo

9 image/vm on macOS:

(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335)

nextPut: 0; close.

Command line, you can try it as follows:

$ ./pharo Pharo.image eval "(ZdcSocketStream

openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

You can replace ZdcSocketStream by SocketStream, same result.

Before, trying to connect to a non-existing host:port resulted in a

ConnectionTimedOut: Cannot connect to 127.0.0.1:12335.

Now, the code just returns and the bad stream is then used as if it is

OK, which results in a hard crash.

Furthermore, there is no backtrace nor log.

Sven

--
Pablo Tesone.
tesonep@gmail.com

--
Pablo Tesone.
tesonep@gmail.com

--
Pablo Tesone.
tesonep@gmail.com

I have done a new release with the fix for the socket connection. It was an issue in the kqueue code in OSX. It was wrongly detecting exceptions and out-of-band data. Please if you can update the VM and test it should be working. Cheers Pablo On Mon, Jul 19, 2021 at 1:13 PM Torsten Bergmann <astares@gmx.de> wrote: > Hi Pablo, > > yes - Sven is right on that it could be improved. Thanks for taking > care of this important topic. > > Cheers, > Torsten > > > *Gesendet:* Montag, 19. Juli 2021 um 11:46 Uhr > *Von:* "tesonep@gmail.com" <tesonep@gmail.com> > *An:* "Pharo Development List" <pharo-dev@lists.pharo.org> > *Betreff:* [Pharo-dev] Re: > [Zdc]SocketStream>>#openConnectionToHostNamed:port: no longer signals am > exception on macOS > Thanks, yes it is true, the version name is a mess. > We need to improve the version display. > I will take note of that and I will fix it. > > Cheers, > Pablo > > On Mon, Jul 19, 2021 at 11:08 AM Sven Van Caekenberghe <sven@stfx.eu> > wrote: > >> Hi Pablo, >> >> prometheus:2021-07-16 sven$ ./pharo --version >> Pharo 9.0.0 built on Jul 6 2021 10:36:56 Compiler: 4.2.1 Compatible >> Apple LLVM 11.0.3 (clang-1103.0.32.29) >> Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200 >> prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion >> [version] 'Pharo9.0.0' >> 'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64 >> Bit)' >> prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream >> openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo" >> >> I have said this before, but the VM version is incomprehensible for >> normal people, why can't it just be something like 10.1 like the rest of >> the world ? >> >> Also, for mere mortals it is impossible to find out if something changed >> about the VM, let alone what, and how that all relates to specific versions. >> >> I know that you guys have a lot of work, and we are very grateful for it, >> but this is how it looks from the outside. >> >> Thx, >> >> Sven >> >> > On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote: >> > >> > Hi, >> > with the new VM I could not reproduce it. I think it was related >> with the issue of the NetNameResolver. >> > Which VM version are you using? >> > >> > Thanks >> > >> > On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe <sven@stfx.eu> >> wrote: >> > Hi, >> > >> > It seems that the following consistently crashes a recent/latest Pharo >> 9 image/vm on macOS: >> > >> > (ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) >> nextPut: 0; close. >> > >> > Command line, you can try it as follows: >> > >> > $ ./pharo Pharo.image eval "(ZdcSocketStream >> openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo" >> > >> > You can replace ZdcSocketStream by SocketStream, same result. >> > >> > Before, trying to connect to a non-existing host:port resulted in a >> ConnectionTimedOut: Cannot connect to 127.0.0.1:12335. >> > >> > Now, the code just returns and the bad stream is then used as if it is >> OK, which results in a hard crash. >> > >> > Furthermore, there is no backtrace nor log. >> > >> > Sven >> > >> > >> > -- >> > Pablo Tesone. >> > tesonep@gmail.com > > > > -- > Pablo Tesone. > tesonep@gmail.com > -- Pablo Tesone. tesonep@gmail.com
SV
Sven Van Caekenberghe
Wed, Jul 21, 2021 11:37 AM

Hi Pablo,

Thank you, I will test this soon.

Is there any chance that there were also network changes in the Linux VM ? Perhaps also related to "detecting exceptions and out-of-band data".

We keep on struggling with https://github.com/pharo-project/pharo/issues/9565 where it seems that the same code runs fine on Pharo 7 and 8, while it seems to fail on Pharo 9.

Sven

On 21 Jul 2021, at 13:06, tesonep@gmail.com wrote:

I have done a new release with the fix for the socket connection.
It was an issue in the kqueue code in OSX.
It was wrongly detecting exceptions and out-of-band data.
Please if you can update the VM and test it should be working.

Cheers
Pablo

On Mon, Jul 19, 2021 at 1:13 PM Torsten Bergmann astares@gmx.de wrote:
Hi Pablo,

yes - Sven is right on that it could be improved. Thanks for taking
care of this important topic.

Cheers,
Torsten

Gesendet: Montag, 19. Juli 2021 um 11:46 Uhr
Von: "tesonep@gmail.com" tesonep@gmail.com
An: "Pharo Development List" pharo-dev@lists.pharo.org
Betreff: [Pharo-dev] Re: [Zdc]SocketStream>>#openConnectionToHostNamed:port: no longer signals am exception on macOS
Thanks, yes it is true, the version name is a mess.
We need to improve the version display.
I will take note of that and I will fix it.

Cheers,
Pablo

On Mon, Jul 19, 2021 at 11:08 AM Sven Van Caekenberghe sven@stfx.eu wrote:
Hi Pablo,

prometheus:2021-07-16 sven$ ./pharo --version
Pharo 9.0.0 built on Jul  6 2021 10:36:56 Compiler: 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.29)
Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200
prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion
[version] 'Pharo9.0.0' 'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64 Bit)'
prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

I have said this before, but the VM version is incomprehensible for normal people, why can't it just be something like 10.1 like the rest of the world ?

Also, for mere mortals it is impossible to find out if something changed about the VM, let alone what, and how that all relates to specific versions.

I know that you guys have a lot of work, and we are very grateful for it, but this is how it looks from the outside.

Thx,

Sven

On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote:

Hi,
with the new VM I could not reproduce it. I think it was related with the issue of the NetNameResolver.
Which VM version are you using?

Thanks

On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe sven@stfx.eu wrote:
Hi,

It seems that the following consistently crashes a recent/latest Pharo 9 image/vm on macOS:

(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close.

Command line, you can try it as follows:

$ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

You can replace ZdcSocketStream by SocketStream, same result.

Before, trying to connect to a non-existing host:port resulted in a ConnectionTimedOut: Cannot connect to 127.0.0.1:12335.

Now, the code just returns and the bad stream is then used as if it is OK, which results in a hard crash.

Furthermore, there is no backtrace nor log.

Sven

--
Pablo Tesone.
tesonep@gmail.com

--
Pablo Tesone.
tesonep@gmail.com

--
Pablo Tesone.
tesonep@gmail.com

Hi Pablo, Thank you, I will test this soon. Is there any chance that there were also network changes in the Linux VM ? Perhaps also related to "detecting exceptions and out-of-band data". We keep on struggling with https://github.com/pharo-project/pharo/issues/9565 where it seems that the same code runs fine on Pharo 7 and 8, while it seems to fail on Pharo 9. Sven > On 21 Jul 2021, at 13:06, tesonep@gmail.com wrote: > > I have done a new release with the fix for the socket connection. > It was an issue in the kqueue code in OSX. > It was wrongly detecting exceptions and out-of-band data. > Please if you can update the VM and test it should be working. > > Cheers > Pablo > > On Mon, Jul 19, 2021 at 1:13 PM Torsten Bergmann <astares@gmx.de> wrote: > Hi Pablo, > > yes - Sven is right on that it could be improved. Thanks for taking > care of this important topic. > > Cheers, > Torsten > > > Gesendet: Montag, 19. Juli 2021 um 11:46 Uhr > Von: "tesonep@gmail.com" <tesonep@gmail.com> > An: "Pharo Development List" <pharo-dev@lists.pharo.org> > Betreff: [Pharo-dev] Re: [Zdc]SocketStream>>#openConnectionToHostNamed:port: no longer signals am exception on macOS > Thanks, yes it is true, the version name is a mess. > We need to improve the version display. > I will take note of that and I will fix it. > > Cheers, > Pablo > > On Mon, Jul 19, 2021 at 11:08 AM Sven Van Caekenberghe <sven@stfx.eu> wrote: > Hi Pablo, > > prometheus:2021-07-16 sven$ ./pharo --version > Pharo 9.0.0 built on Jul 6 2021 10:36:56 Compiler: 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.29) > Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200 > prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion > [version] 'Pharo9.0.0' 'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64 Bit)' > prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo" > > I have said this before, but the VM version is incomprehensible for normal people, why can't it just be something like 10.1 like the rest of the world ? > > Also, for mere mortals it is impossible to find out if something changed about the VM, let alone what, and how that all relates to specific versions. > > I know that you guys have a lot of work, and we are very grateful for it, but this is how it looks from the outside. > > Thx, > > Sven > > > On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote: > > > > Hi, > > with the new VM I could not reproduce it. I think it was related with the issue of the NetNameResolver. > > Which VM version are you using? > > > > Thanks > > > > On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe <sven@stfx.eu> wrote: > > Hi, > > > > It seems that the following consistently crashes a recent/latest Pharo 9 image/vm on macOS: > > > > (ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. > > > > Command line, you can try it as follows: > > > > $ ./pharo Pharo.image eval "(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo" > > > > You can replace ZdcSocketStream by SocketStream, same result. > > > > Before, trying to connect to a non-existing host:port resulted in a ConnectionTimedOut: Cannot connect to 127.0.0.1:12335. > > > > Now, the code just returns and the bad stream is then used as if it is OK, which results in a hard crash. > > > > Furthermore, there is no backtrace nor log. > > > > Sven > > > > > > -- > > Pablo Tesone. > > tesonep@gmail.com > > > -- > Pablo Tesone. > tesonep@gmail.com > > > -- > Pablo Tesone. > tesonep@gmail.com
T
tesonep@gmail.com
Wed, Jul 21, 2021 11:54 AM

I changed the event handling in osx and windows, Linux uses the same old
code, but I don't discard there is a bug there or elsewhere 😁

I have been following this issue, I have it in my list. I have just started
with the easier ones.

On Wed, Jul 21, 2021, 13:37 Sven Van Caekenberghe sven@stfx.eu wrote:

Hi Pablo,

Thank you, I will test this soon.

Is there any chance that there were also network changes in the Linux VM ?
Perhaps also related to "detecting exceptions and out-of-band data".

We keep on struggling with
https://github.com/pharo-project/pharo/issues/9565 where it seems that
the same code runs fine on Pharo 7 and 8, while it seems to fail on Pharo 9.

Sven

On 21 Jul 2021, at 13:06, tesonep@gmail.com wrote:

I have done a new release with the fix for the socket connection.
It was an issue in the kqueue code in OSX.
It was wrongly detecting exceptions and out-of-band data.
Please if you can update the VM and test it should be working.

Cheers
Pablo

On Mon, Jul 19, 2021 at 1:13 PM Torsten Bergmann astares@gmx.de wrote:
Hi Pablo,

yes - Sven is right on that it could be improved. Thanks for taking
care of this important topic.

Cheers,
Torsten

Gesendet: Montag, 19. Juli 2021 um 11:46 Uhr
Von: "tesonep@gmail.com" tesonep@gmail.com
An: "Pharo Development List" pharo-dev@lists.pharo.org
Betreff: [Pharo-dev] Re:

[Zdc]SocketStream>>#openConnectionToHostNamed:port: no longer signals am
exception on macOS

Thanks, yes it is true, the version name is a mess.
We need to improve the version display.
I will take note of that and I will fix it.

Cheers,
Pablo

On Mon, Jul 19, 2021 at 11:08 AM Sven Van Caekenberghe sven@stfx.eu

wrote:

Hi Pablo,

prometheus:2021-07-16 sven$ ./pharo --version
Pharo 9.0.0 built on Jul  6 2021 10:36:56 Compiler: 4.2.1 Compatible

Apple LLVM 11.0.3 (clang-1103.0.32.29)

Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200
prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion
[version] 'Pharo9.0.0'

'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64
Bit)'

prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream

openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

I have said this before, but the VM version is incomprehensible for

normal people, why can't it just be something like 10.1 like the rest of
the world ?

Also, for mere mortals it is impossible to find out if something changed

about the VM, let alone what, and how that all relates to specific versions.

I know that you guys have a lot of work, and we are very grateful for

it, but this is how it looks from the outside.

Thx,

Sven

On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote:

Hi,
with the new VM I could not reproduce it. I think it was related

with the issue of the NetNameResolver.

Which VM version are you using?

Thanks

On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe sven@stfx.eu

wrote:

Hi,

It seems that the following consistently crashes a recent/latest Pharo

9 image/vm on macOS:

(ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335)

nextPut: 0; close.

Command line, you can try it as follows:

$ ./pharo Pharo.image eval "(ZdcSocketStream

openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo"

You can replace ZdcSocketStream by SocketStream, same result.

Before, trying to connect to a non-existing host:port resulted in a

ConnectionTimedOut: Cannot connect to 127.0.0.1:12335.

Now, the code just returns and the bad stream is then used as if it is

OK, which results in a hard crash.

Furthermore, there is no backtrace nor log.

Sven

--
Pablo Tesone.
tesonep@gmail.com

--
Pablo Tesone.
tesonep@gmail.com

--
Pablo Tesone.
tesonep@gmail.com

I changed the event handling in osx and windows, Linux uses the same old code, but I don't discard there is a bug there or elsewhere 😁 I have been following this issue, I have it in my list. I have just started with the easier ones. On Wed, Jul 21, 2021, 13:37 Sven Van Caekenberghe <sven@stfx.eu> wrote: > Hi Pablo, > > Thank you, I will test this soon. > > Is there any chance that there were also network changes in the Linux VM ? > Perhaps also related to "detecting exceptions and out-of-band data". > > We keep on struggling with > https://github.com/pharo-project/pharo/issues/9565 where it seems that > the same code runs fine on Pharo 7 and 8, while it seems to fail on Pharo 9. > > Sven > > > On 21 Jul 2021, at 13:06, tesonep@gmail.com wrote: > > > > I have done a new release with the fix for the socket connection. > > It was an issue in the kqueue code in OSX. > > It was wrongly detecting exceptions and out-of-band data. > > Please if you can update the VM and test it should be working. > > > > Cheers > > Pablo > > > > On Mon, Jul 19, 2021 at 1:13 PM Torsten Bergmann <astares@gmx.de> wrote: > > Hi Pablo, > > > > yes - Sven is right on that it could be improved. Thanks for taking > > care of this important topic. > > > > Cheers, > > Torsten > > > > > > Gesendet: Montag, 19. Juli 2021 um 11:46 Uhr > > Von: "tesonep@gmail.com" <tesonep@gmail.com> > > An: "Pharo Development List" <pharo-dev@lists.pharo.org> > > Betreff: [Pharo-dev] Re: > [Zdc]SocketStream>>#openConnectionToHostNamed:port: no longer signals am > exception on macOS > > Thanks, yes it is true, the version name is a mess. > > We need to improve the version display. > > I will take note of that and I will fix it. > > > > Cheers, > > Pablo > > > > On Mon, Jul 19, 2021 at 11:08 AM Sven Van Caekenberghe <sven@stfx.eu> > wrote: > > Hi Pablo, > > > > prometheus:2021-07-16 sven$ ./pharo --version > > Pharo 9.0.0 built on Jul 6 2021 10:36:56 Compiler: 4.2.1 Compatible > Apple LLVM 11.0.3 (clang-1103.0.32.29) > > Built from: ea8a3bfc - Commit: ea8a3bfc - Date: 2021-07-06 10:23:13 +0200 > > prometheus:2021-07-16 sven$ ./pharo Pharo.image printVersion > > [version] 'Pharo9.0.0' > 'Pharo-9.0.0+build.1532.sha.e58ef49051bf06cad56a2dda174b8e091a45d5df (64 > Bit)' > > prometheus:2021-07-16 sven$ ./pharo Pharo.image eval "(ZdcSocketStream > openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo" > > > > I have said this before, but the VM version is incomprehensible for > normal people, why can't it just be something like 10.1 like the rest of > the world ? > > > > Also, for mere mortals it is impossible to find out if something changed > about the VM, let alone what, and how that all relates to specific versions. > > > > I know that you guys have a lot of work, and we are very grateful for > it, but this is how it looks from the outside. > > > > Thx, > > > > Sven > > > > > On 19 Jul 2021, at 10:56, tesonep@gmail.com wrote: > > > > > > Hi, > > > with the new VM I could not reproduce it. I think it was related > with the issue of the NetNameResolver. > > > Which VM version are you using? > > > > > > Thanks > > > > > > On Sun, Jul 18, 2021 at 3:51 PM Sven Van Caekenberghe <sven@stfx.eu> > wrote: > > > Hi, > > > > > > It seems that the following consistently crashes a recent/latest Pharo > 9 image/vm on macOS: > > > > > > (ZdcSocketStream openConnectionToHostNamed: 'localhost' port: 12335) > nextPut: 0; close. > > > > > > Command line, you can try it as follows: > > > > > > $ ./pharo Pharo.image eval "(ZdcSocketStream > openConnectionToHostNamed: 'localhost' port: 12335) nextPut: 0; close. #foo" > > > > > > You can replace ZdcSocketStream by SocketStream, same result. > > > > > > Before, trying to connect to a non-existing host:port resulted in a > ConnectionTimedOut: Cannot connect to 127.0.0.1:12335. > > > > > > Now, the code just returns and the bad stream is then used as if it is > OK, which results in a hard crash. > > > > > > Furthermore, there is no backtrace nor log. > > > > > > Sven > > > > > > > > > -- > > > Pablo Tesone. > > > tesonep@gmail.com > > > > > > -- > > Pablo Tesone. > > tesonep@gmail.com > > > > > > -- > > Pablo Tesone. > > tesonep@gmail.com >
SV
Sven Van Caekenberghe
Wed, Jul 21, 2021 7:46 PM

On 21 Jul 2021, at 13:37, Sven Van Caekenberghe sven@stfx.eu wrote:

Thank you, I will test this soon.

I can confirm that it now works again as before: opening a TCP connection to a non-existing host:port gives a NetworkError (ConnectionTimedOut cannot connect to host:port).

Thanks again!

Sven

> On 21 Jul 2021, at 13:37, Sven Van Caekenberghe <sven@stfx.eu> wrote: > > Thank you, I will test this soon. I can confirm that it now works again as before: opening a TCP connection to a non-existing host:port gives a NetworkError (ConnectionTimedOut cannot connect to host:port). Thanks again! Sven