Skip to content
New issue

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

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

Already on GitHub? # to your account

Bug in Actor creation or ensuring Value semantics #101

Closed
smarr opened this issue Jan 29, 2017 · 0 comments
Closed

Bug in Actor creation or ensuring Value semantics #101

smarr opened this issue Jan 29, 2017 · 0 comments
Labels
bug Fixes an issue, incorrect implementation language-design Not everything is in the spec, sometimes, we need to decide what's best.

Comments

@smarr
Copy link
Owner

smarr commented Jan 29, 2017

The Philosopher Validation benchmark seems to create an arbitration actor that has access to a mutable object, the random number generator, from its lexical scope.

This should be impossible.
The actor should never be successfully created in the first place.

https://github.com/smarr/SOMns/blob/master/core-lib/Benchmarks/Validation.som#L355

There seems to be a loop hole in the check whether something is a value.

@smarr smarr added bug Fixes an issue, incorrect implementation language-design Not everything is in the spec, sometimes, we need to decide what's best. labels Jan 29, 2017
smarr added a commit that referenced this issue Jan 30, 2017
Add proper exception and remove todo.

Note, this change stops using the DSL for the IsValue node, because it was generating wrong code, and passing a `null` to isValue.execute*.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
smarr added a commit that referenced this issue Jan 30, 2017
Add proper exception and remove todo.

Note, this change stops using the DSL for the IsValue node, because it was generating wrong code, and passing a `null` to isValue.execute*.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Fixes an issue, incorrect implementation language-design Not everything is in the spec, sometimes, we need to decide what's best.
Projects
None yet
Development

No branches or pull requests

1 participant