[squeak-dev] We are in FEATURE FREEZE -- Re: [PSA] Squeak 6.0 | The Dates

Jaromir Matas mail at jaromir.net
Fri May 27 11:43:55 UTC 2022


Hi,

Would anybody know why there’s still the old fallback code from 2007 in #suspend? Is there a situation where it is useful? It doesn’t seem to work: when commenting out the primitive and letting the fallback code run, sooner or later the image freezes.

Thanks,

Jaromir

From: Jaromir Matas<mailto:mail at jaromir.net>
Sent: Thursday, May 19, 2022 19:24
To: Marcel Taeumel<mailto:marcel.taeumel at hpi.de>
Subject: RE: Re: [squeak-dev] We are in FEATURE FREEZE -- Re: [PSA] Squeak 6.0 | The Dates

Hi Nicolas, Eliot, Marcel,

Nicolas, I've implemented your idea to make prim 88 a fallback in case the new primitive is not available and moved the previous fallback code to the new #suspendAndUnblock method you proposed. The new image works pretty good with the old VM but I've noticed two issues:

1) When the fallback to #suspendAndUnblock (i.e. to prim 88) happens, the process being suspended puts a new context on the top of the stack and that means that #isTerminated no longer recognizes some effectively terminated processes because it expects the computation to be at the last instruction of the **bottom** context (to be considered terminated). I'm enclosing a possible fix for #isTerminated which detects situations where the computation is 'effectively' finished, meaning the only instructions left are just block returns... All relevant tests work ok then. (Indeed this wouldn't be necessary if no fallbacks were implemented)

2) I'm not sure whether the original Andreas's #suspend fallback code from 2007 is still relevant; I tried to remove the primitive suspend call and leave just the fallback code and the image just freezes when running tests (the same happens with older images and older VMs). So the question is: Is there a reason to keep Andreas's original fallback code or could it be removed? Or, in which situations it might be still useful?

You were right about the #signalWaitingProcess fix I proposed earlier - it would most likely suffer with the same problems as discussed in http://forum.world.st/Process-gt-gt-terminate-woes-td69405.html, so I applied Eliot's idea to simply use prim 88 via the new #suspendAndUnblock method to keep the functionality intact.

Eliot, I've also included your #signalException fix reduced to the ifFalse: clause, i.e. simplified thanks to the new suspend semantics, and used your updated comment in #suspend.

These changes are completely independent of the new #terminate so if you agree with them they could be merged I guess.

Best,


--

Jaromír Matas

mail at jaromir.net

From: Marcel Taeumel<mailto:marcel.taeumel at hpi.de>
Sent: Wednesday, May 18, 2022 17:56
To: Jaromir Matas<mailto:mail at jaromir.net>
Subject: Fw: Re: [squeak-dev] We are in FEATURE FREEZE -- Re: [PSA] Squeak 6.0 | The Dates

Take your time. :-) I won't be able to look at it before May 30.

Best,
Marcel

------ Weitergeleitete Nachricht --------
Von: Jaromir Matas <mail at jaromir.net>
Datum: 18.05.2022 17:53:12
Betreff: Re: [squeak-dev] We are in FEATURE FREEZE -- Re: [PSA] Squeak 6.0 | The Dates
An: The general-purpose Squeak developers list <squeak-dev at lists.squeakfoundation.org>
Hi Marcel,

Thank you, it’s good to know what the common practice is :) I’ll simplify the #suspend fixes then and send a changeset for your review.
Thanks again,
Jaromir


--

Jaromír Matas

mail at jaromir.net

From: Marcel Taeumel<mailto:marcel.taeumel at hpi.de>
Sent: Wednesday, May 18, 2022 17:22
To: squeak-dev<mailto:squeak-dev at lists.squeakfoundation.org>
Subject: Re: [squeak-dev] We are in FEATURE FREEZE -- Re: [PSA] Squeak 6.0 | The Dates

Hi Jaromir --

Also see SmalltalkImage >> #vmVMMakerVersion, which you can use to at least report to the user that they should update their VM. For example in the postload script.

For an example, see:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-July/210784.html

Smalltalk vmVMMakerVersion < 2778 ifTrue:
    [Warning signal: ''This virtual machine is too old to support correct versions of the FloatArray>>at:[put:] primitives 238 and 239. FloatArray subclasses will not behave correctly and FloatArray[64]Test tests will fail. Please upgrade your VM. You may continue and upgrade later or abort and upgrade now.'']

Checking for 3154 should be sufficient to have primitives 568 and 578:
http://lists.squeakfoundation.org/pipermail/vm-dev/2022-February/037617.html
http://lists.squeakfoundation.org/pipermail/vm-dev/2022-February/037615.html

Best,
Marcel

Am 18.05.2022 17:04:45 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:
Hi Jaromir --

Since we are talking about what to put into Squeak 6.0, which has already the new VM, "old VM + new image" is not a concern here. People that are still using an old VM with a recent Trunk VM can easily update to the new VM.

"new VM + old image" is important because backwards compatibility matters.
"old VM + new image" is not a concern because
   a) release images have new VM bundled
   b) even old images can have new VM bundled (e.g., Squeak 5.3)

So one could even backport this to Squeak 5.3. But that's not important right now. :-)

Best,
Marcel

Am 18.05.2022 16:19:15 schrieb Jaromir Matas <mail at jaromir.net>:
Hi Marcel, Nicolas, Eliot, all,

> Yes, there is still time to merge Jaromir's process suspend/terminate fixes.

As we discussed  in the other thread: a decision needs to be made as for the 'extent' of the backward compatibility of the revised #suspend semantics (whether just 'new VM + old image' compatibility or also keep 'old VM + new image' compatibility which is more complex and I'm not in a position to tell it could be worth for some apps or users) - once the decision is made I'll be happy to put together a summary changeset for your convenience.
Best,

--

Jaromír Matas

mail at jaromir.net

From: Marcel Taeumel<mailto:marcel.taeumel at hpi.de>
Sent: Wednesday, May 18, 2022 15:34
To: squeak-dev<mailto:squeak-dev at lists.squeakfoundation.org>
Subject: [squeak-dev] We are in FEATURE FREEZE -- Re: [PSA] Squeak 6.0 | The Dates

Hi all --

We are in the "Feature Freeze". Here is our first 6.0beta bundle:
http://files.squeak.org/6.0beta/

The package 60Deprecated got unloaded via the update stream.
Reload it manually if you really need it. Avoid for testing.

Please focus on bug reporting and fixing:
https://bugs.squeak.org/ (GitHub issues)

Reduce the amount of fixes that might be regarded as new features.
Please avoid adding new features, especially if they need to be
discussed.

Yes, you may add commentary and documentation as you see fit.
Yes, there is still time to merge Jaromir's process suspend/terminate
fixes.

No, there won't be any natural-language translations in Squeak 6.0.
But maybe a simple tutorial/hint on how to add one yourself in the
"Extras > Language" menu.

--> Beta/RC testing until June 5, 23:59 AOE

Best,
Marcel

P.S.: "Squeak Objectland" is still not off the table. I will take another look
at it after returning from California on May 27th.


Am 06.05.2022 11:52:56 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:
Hi all --

Let's move the dates:

 - Feature Freeze on May 18, 23:59 AOE
-> 11 days to go
 - Beta/RC testing until June 5, 23:59 AOE
-> 30 days to go

I will not be available from May 20 to May 27.

Let's hope we can fix the source.squeak.org issues
in time and also resolve that unnecessarily effortful
discussion on primitive 126 in the OSVM [1] by then.

Best,
Marcel

[1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/627

Am 02.05.2022 11:26:01 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:
Hi all --

The connectivity to source.squeak.org is not good at the moment.

We did a recent upgrade to use Squeak 5.3 and OSVM RC3 (20220419), which might require a little bit more effort to make things smooth again.

If the issues persist throughout this week, we will move the deadlines.

Best,
Marcel

Am 25.04.2022 09:58:29 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:
Hi all! --

Let's do this.

 - Feature Freeze on May 6, 23:59 AOE
-> 11 days to go
 - Beta testing until May 15, 23:59 AOE
-> 20 days to go
 - Picking a release candidate until May 18, 23:59 AOE
-> 23 days to go

The current state of tests can be found here:
 - https://github.com/squeak-smalltalk/squeak-app/actions
 - https://github.com/marceltaeumel/squeak-ffi/actions

Download the latest squeak-app bundles from here:
 - http://files.squeak.org/6.0alpha/
 - http://files.squeak.org/6.0beta/ (after May 6)
 - http://files.squeak.org/6.0rc1/ (after May 15)
 - http://files.squeak.org/6.0rc2/
 - ...

Please report bugs here on squeak-dev or on GitHub:
 - https://github.com/squeak-smalltalk/squeak-object-memory/issues

After the Feature Freeze, this will happen in the Trunk Update Stream:
 - Unload 60Deprecated via postload-script
 - Adapt "SqueakVersion" to keep build number stable
 - Add "Load deprecated methods" to preference wizard
 - Update update map to not include 60Deprecated anymore

After the release, this will happen in the Trunk Update Stream:
 - Add new 61Deprecated package
 - Trunk open for the features again
 ! Discuss the critical ones via Inbox as usual

Meanwhile, the release versions of all packages will be copied over to source.squeak.org/squeak60.

Best,
Marcel

P.S.: Here is the previous info on the release planning: http://lists.squeakfoundation.org/pipermail/squeak-dev/2022-March/219520.html




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220527/ec7b8104/attachment-0001.html>


More information about the Squeak-dev mailing list