worker terminate() always fires assertion: "((from == Isolate::RUNNING || from == Isolate::STARTING || from == Isolate::FINISHING || from == Isolate::NEW))" ("../core/Isolate.cpp":380)

NEW
Unassigned

Status

Tamarin
Workers
6 years ago
6 years ago

People

(Reporter: Dan Schaffer, Unassigned)

Tracking

(Blocks: 1 bug)

Details

Attachments

(1 attachment)

476 bytes, text/plain
Details
(Reporter)

Description

6 years ago
Calling worker.terminiate() in the debug shell always fires the assertion:
"((from == Isolate::RUNNING || from == Isolate::STARTING || from == Isolate::FINISHING || from == Isolate::NEW))" ("../core/Isolate.cpp":380)

Investigating the Isolate.cpp/Aggregate::stateTransition call the function is called twice after terminate():
FINISHING -> TERMINATED  (4->5)
TERMINATED -> TERMINATED (5->5)

the 2nd case is causing the assertion to fail.  Should we allow TERMINATED -> TERMINATED or is the bug in the stateTransition (5,5) call?
(Reporter)

Updated

6 years ago
Blocks: 695061
(Reporter)

Comment 1

6 years ago
Created attachment 643390 [details]
testcase

Comment 2

6 years ago
changeset: 7518:f0a40cb50302
user:      Dan Schaffer <Dan.Schaffer@adobe.com>
summary:   bug 774294: ByteArray uncompress is causing leak failure in debug shells, mark test skip (r=dschaffe)

http://hg.mozilla.org/tamarin-redux/rev/f0a40cb50302
You need to log in before you can comment on or make changes to this bug.