-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Repeated calls to class setter triggers assertion #3423
Comments
Do you think this is related to the super.x caching issues we’ve been looking at recently? It seems likely.
…-- Paul
From: suwc [mailto:notifications@github.com]
Sent: Monday, July 24, 2017 3:37 PM
To: Microsoft/ChakraCore <ChakraCore@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Subject: [Microsoft/ChakraCore] Repeated call to class setter triggers assertion (#3423)
class B {
set x(v) { print("B.prototype.set x"); this._x = v; }
get x() { print("B.prototype.get x"); return this._x; }
}
class A extends B {
set x(v) { print("A.prototype.set x"); super.x = v + 100; }
get x() { print("A.prototype.get x"); return super.x; }
}
var a = new A();
a.x = 100;
print(a.x);
var a1 = new A();
a1.x = 100;
print(a1.x);
Expected:
A.prototype.set x
B.prototype.set x
A.prototype.get x
B.prototype.get x
200
A.prototype.set x
B.prototype.set x
A.prototype.get x
B.prototype.get x
200
Actual
A.prototype.set x
B.prototype.set x
A.prototype.get x
B.prototype.get x
200
A.prototype.set x
ASSERTION 15068: (lib\runtime\Language/InlineCache.inl, line 356) setterValue == nullptr || setterValue == function
Failure: (setterValue == nullptr || setterValue == function)
FATAL ERROR: ch.exe failed due to exception code c0000420
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FChakraCore%2Fissues%2F3423&data=02%7C01%7Cpleath%40microsoft.com%7Cc84bbebea9cb448644ac08d4d2e48402%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636365326293570734&sdata=2g%2FTEMg5Wt4FVE%2B%2B8rLgCAsntpl9X8x8G2cU0wWptMc%3D&reserved=0>, or mute the thread<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAPF8RETCBvb3ZbR2M1_Ccr33H7H4v7Ihks5sRRyRgaJpZM4Oh0_s&data=02%7C01%7Cpleath%40microsoft.com%7Cc84bbebea9cb448644ac08d4d2e48402%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636365326293570734&sdata=AKhsIZoAlIPiBHMlWrqPjgV4caL3dARnW%2FKtTBbuPkY%3D&reserved=0>.
|
suwc
changed the title
Repeated call to class setter triggers assertion
Repeated calls to class setter triggers assertion
Jul 24, 2017
@pleath this came up when I work on super.x caching. Will fix both in one PR |
suwc
pushed a commit
to suwc/ChakraCore
that referenced
this issue
Jul 25, 2017
…cess Accesses to super properties are cached on 'this' object (vs. the "super" object), causing conflict between e.g. super.x and this.x. Similar conflicts cause Issue#3423 for GetProperty cases. Fix by adding 'isSuper' flag to use appropriate object for caching. Fixes chakra-core#3064, chakra-core#3423
suwc
pushed a commit
to suwc/ChakraCore
that referenced
this issue
Aug 8, 2017
…cess Accesses to super properties are cached on 'this' object (vs. the "super" object), causing conflict between e.g. super.x and this.x. Similar conflicts cause Issue#3423 for GetProperty cases. Fix by changing to object/propertyObject for caching super property accesses.
suwc
pushed a commit
to suwc/ChakraCore
that referenced
this issue
Aug 9, 2017
…cess Accesses to super properties are cached on 'this' object (vs. the "super" object), causing conflict between e.g. super.x and this.x. Similar conflicts cause Issue#3423 for GetProperty cases. Fix by changing to object/propertyObject for caching super property accesses.
suwc
pushed a commit
to suwc/ChakraCore
that referenced
this issue
Aug 11, 2017
…cess Accesses to super properties are cached on 'this' object (vs. the "super" object), causing conflict between e.g. super.x and this.x. Similar conflicts cause Issue#3423 for GetProperty cases. Fix by changing to object/propertyObject for caching super property accesses.
chakrabot
pushed a commit
that referenced
this issue
Aug 11, 2017
…operty access Merge pull request #3336 from suwc:build/suwc/Issue3064 Accesses to super properties are cached on 'this' object (vs. the "super" object), causing conflict between e.g. super.x and this.x. Similar conflicts cause Issue#3423 for GetProperty cases. Fix by adding 'isSuper' flag to use appropriate object for caching. Fixes #3064, Fixes #3423
chakrabot
pushed a commit
that referenced
this issue
Aug 11, 2017
…n super property access Merge pull request #3336 from suwc:build/suwc/Issue3064 Accesses to super properties are cached on 'this' object (vs. the "super" object), causing conflict between e.g. super.x and this.x. Similar conflicts cause Issue#3423 for GetProperty cases. Fix by adding 'isSuper' flag to use appropriate object for caching. Fixes #3064, Fixes #3423
chakrabot
pushed a commit
that referenced
this issue
Aug 11, 2017
…e conflicts in super property access Merge pull request #3336 from suwc:build/suwc/Issue3064 Accesses to super properties are cached on 'this' object (vs. the "super" object), causing conflict between e.g. super.x and this.x. Similar conflicts cause Issue#3423 for GetProperty cases. Fix by adding 'isSuper' flag to use appropriate object for caching. Fixes #3064, Fixes #3423
agarwal-sandeep
added a commit
to agarwal-sandeep/ChakraCore
that referenced
this issue
Oct 10, 2017
…g patterns. Due to a bug in super property access we were reaching the code path where we had src2 on instrcution but didn't freed it before generating bailout. After the fix for issue chakra-core#3423/chakra-core#3064 went in 2b9da66 the bu no longer reproes but for previous branches I am putting a conservative fix to always free src2 if we have it and don't have src1. For RS4 we have a WI to add asserts to better track no. of surces on instruction and add checks.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Expected:
Actual
The text was updated successfully, but these errors were encountered: