If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

spurious gc weak-ref selftest assert

VERIFIED WORKSFORME

Status

Tamarin
Garbage Collection (mmGC)
VERIFIED WORKSFORME
9 years ago
8 years ago

People

(Reporter: Edwin Smith, Assigned: Lars T Hansen)

Tracking

unspecified
flash10.1
Bug Flags:
flashplayer-qrb +
flashplayer-triage +

Details

(Reporter)

Description

9 years ago
ecma3/ObjectObjects/class_001.abc : Assertion failed: "((ref->get() == 0))" ("e:/buildbot/tamarin-redux/windows/tamarin-redux/MMgc/GCTests.cpp"

has been witnessed at least on:
 - mac ppc
 - windows x86

according to Tom Reilly: "I think it means the weak ref didn’t die because we found a reference on the stack or in a register."

Since the gc self-tests run every time a debug enabled VM is started, there isn't a good way to exclude this as a standalone test.

ways to resolve this bug:
 - remove the weakref self test entirely
 - re-implement the self-test as a standalone test maybe with the new unit test framework
 - figure out if Tom's theory is correct and fix the test case to ensure there are no hard-refs sitting around

Updated

9 years ago
Flags: flashplayer-triage+
Flags: flashplayer-qrb?

Updated

9 years ago
Assignee: nobody → lhansen
Status: NEW → ASSIGNED
Flags: flashplayer-qrb? → flashplayer-qrb+
Target Milestone: --- → flash10.x
(Assignee)

Comment 1

9 years ago
And now also seen on Sparc: 
https://bugzilla.mozilla.org/show_bug.cgi?id=476983

Comment 2

8 years ago
Has this reoccurred in the last several months?  Still open?
(Assignee)

Updated

8 years ago
Depends on: 487032

Comment 3

8 years ago
This has not been seen in the build system for a long time, there was a period when every test when ran against the debug VM would cause this assert.

Probably can be closed, but will leave that up to Lars/Tom to verify.
(Assignee)

Comment 4

8 years ago
Apparently the test is no longer being run - GCTests.cpp is still with us and contains a test like this, but the test is only called from a test runner (RunGCTests) that's never called.

I will make a note in the source code that running the test may cause this bug to become relevant again, and then close this bug.
(Assignee)

Updated

8 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → WORKSFORME

Updated

8 years ago
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.