Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix compilation of fullblock closures #4492

Conversation

@tesonep
Copy link
Collaborator

tesonep commented Sep 4, 2019

Taking all the changes I have done to fix some of the problems.

@MarcusDenker
@StevenCostiou
@guillep

tesonep added 8 commits Apr 25, 2019
Adding number of reserved literals, as they are different between methods and blocks.
Fixing compiled code and block to have default implementations of operations in CompiledMethod.
@MarcusDenker MarcusDenker reopened this Sep 4, 2019
@Ducasse

This comment has been minimized.

Copy link
Member

Ducasse commented Sep 4, 2019

Ouch not build passes.

@Ducasse Ducasse closed this Sep 4, 2019
@Ducasse Ducasse reopened this Sep 4, 2019
@Ducasse

This comment has been minimized.

Copy link
Member

Ducasse commented Sep 4, 2019

None of the builds built.

and we have + ./pharo Pharo.image test --junit-xml-output --stage-name=Tests-osx-32 '.*'
2019-09-04 14:10:08.641 Pharo[21139:507] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/w0/nn_htp7n6ddcydvkv21hjzhc0000gn/T/org.pharo.Pharo.savedState
2019-09-04 14:10:08.892 Pharo[21139:507] 14:10:08.892 ERROR: [0xa146e1a8] AQMEIO.cpp:377: _FindIOUnit: error -66680
2019-09-04 14:10:08.892 Pharo[21139:507] 14:10:08.892 ERROR: [0xa146e1a8] >aq> AudioQueueObject.cpp:1590: Prime: failed (-66680); will stop (5512/0 frames)
2019-09-04 14:10:08.893 Pharo[21139:507] 14:10:08.893 ERROR: [0xa146e1a8] AQMEIO.cpp:377: _FindIOUnit: error -66680
2019-09-04 14:10:08.893 Pharo[21139:507] 14:10:08.893 ERROR: [0xa146e1a8] >aq> AudioQueueObject.cpp:1590: Prime: failed (-66680); will stop (33075/0 frames)

@MarcusDenker

This comment has been minimized.

Copy link
Member

MarcusDenker commented Sep 5, 2019

There is a conflict, so the build builds the old version without the fix that was merged yesterday

@Ducasse

This comment has been minimized.

Copy link
Member

Ducasse commented Sep 6, 2019

ouch 99 broken tests, so what do we do?

@MarcusDenker

This comment has been minimized.

Copy link
Member

MarcusDenker commented Sep 7, 2019

a lot of them are the decompiler. The decompiler does not yet support fullblock closures.

@Ducasse

This comment has been minimized.

Copy link
Member

Ducasse commented Sep 7, 2019

So how do we proceed?
Do we have a doc, comment, description of the new blockclosure?

@MarcusDenker

This comment has been minimized.

Copy link
Member

MarcusDenker commented Sep 10, 2019

I will first make a list of all failing tests. (I will run the tests a couple of times, some seem to not be related)

I already saw that some tests in MethodMapTest are failing, I will look at those next

@MarcusDenker

This comment has been minimized.

Copy link
Member

MarcusDenker commented Sep 10, 2019

The crash on linux might be due to a not up-to-date implementation of #rfEnsure:, I did a PR to fix it: #4542

(when it is integrated I will close/reopen this PR so we build with the fix included)

@MarcusDenker

This comment has been minimized.

Copy link
Member

MarcusDenker commented Sep 10, 2019

There are more problems with this method... I will continue to debug.

@Ducasse

This comment has been minimized.

Copy link
Member

Ducasse commented Sep 10, 2019

It would be nice to see if we can pair program because I would like to learn the decompiler.

@MarcusDenker

This comment has been minimized.

Copy link
Member

MarcusDenker commented Sep 11, 2019

Yes, let's plan do so some pair programming from next week on on this

@Ducasse

This comment has been minimized.

Copy link
Member

Ducasse commented Sep 11, 2019

I cannot wednesday afternoon (CST thomas)and thursday full afternoon

@MarcusDenker MarcusDenker reopened this Sep 11, 2019
@MarcusDenker

This comment has been minimized.

Copy link
Member

MarcusDenker commented Sep 12, 2019

The Reflectivity related crash is now fixed. This is a cleaned up list of the failing test:

FFI:

testCqsort – Unix32.UnifiedFFI.Tests.Tests.FFICallbackTest
testCqsortWithByteArray – Unix32.UnifiedFFI.Tests.Tests.FFICallbackTest

Debugger:

testInterruptedContext – Unix32.Debugger.Tests.DebugSessionContexts2Test
testContextsAfterStepInto – Unix32.Debugger.Tests.DebugSessionContexts2Test
testStepThrough – Unix32.Debugger.Tests.StepThroughTest

Decompiler:
- FBDDecompilerTest
- OCBytecodeDecompilerExamplesTest

Fuel:
- FLBlockClosureSerializationTest

Opal (Mapping):

testExampleTempNamedTempVectorNestedBlock – Unix32.OpalCompiler.Tests.Misc.MethodMapTest
testSourceMappingBlock – Unix32.OpalCompiler.Tests.Misc.MethodMapTest
testDNU – Unix32.OpalCompiler.Tests.Misc.MustBeBooleanTest

Misc:

testAllExamples – Unix32.Hiedra.Tests.Model.HiExamplesTest
testTerminatingBlockedCriticalSectionShouldNotUnblockAnotherWaitingSection –
Unix32.Kernel.Tests.Extended.Processes.MutexTest
testClosureRestart – Unix32.Kernel.Tests.Methods.ContextTest
testMixedMethod – Unix32.Kernel.Tests.Processes.LocalRecursionStopperTest
testPointersTo – Unix32.Kernel.Tests.Objects.ProtoObjectTest
testPointersToCycle – Unix32.Kernel.Tests.Objects.ProtoObjectTest
testMixedMethod – Unix32.Kernel.Tests.Processes.RecursionStopperTest
testInCriticalWait – Unix32.Kernel.Tests.Processes.SemaphoreTest
testMethodsEnumeration – Unix32.Calypso.SystemPlugins.Traits.Queries.Tests.ClyTraitUserScopeTest
testMethodsEnumerationWhenBothMetaLevels – Unix32.Calypso.SystemPlugins.Traits.Queries.Tests.ClyTraitUserScopeTest

@stale

This comment has been minimized.

Copy link

stale bot commented Oct 2, 2019

It is hard to review old PRs so this PR has been marked as stale since there has been no activity the last 20 days. It will be closed in 10 days if no further activity occurs. A simple comment will reactivate the PR, but please also consider updating the PR to the latest SNAPSHOT build to make it easier for reviewers.

@stale stale bot added the stale label Oct 2, 2019
@MarcusDenker MarcusDenker removed the stale label Oct 9, 2019
@MarcusDenker

This comment has been minimized.

Copy link
Member

MarcusDenker commented Oct 9, 2019

I suggest to do these things:

  1. commit all but the setup change. I will make a new PR for that.

  2. do the switch to the Sista bytemode backend first without new blocks.

  3. then we make a new PR for testing the change to new blocks

@Ducasse

This comment has been minimized.

Copy link
Member

Ducasse commented Oct 9, 2019

Gogogo

@MarcusDenker

This comment has been minimized.

Copy link
Member

MarcusDenker commented Nov 7, 2019

I have made a PR with all the image level changes: #5076

I will close this and open a new one for actually testing making it default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.