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

Worker.stop() intermittently sets the worker state "exception"

NEW
Unassigned

Status

Tamarin
Workers
5 years ago
5 years ago

People

(Reporter: Dan Schaffer, Unassigned)

Tracking

(Blocks: 1 bug)

Details

(Reporter)

Description

5 years ago
running as3/Workers/Worker.abc after calling worker.stop() intermittently sets the state to "exception".  If occurs about 1/10 times.

failing message:
main worker: toString() = [object Worker] PASSED!
main worker: isPrimordial = true PASSED!
main worker: state is RUNNING = running PASSED!
worker class is flash.system::Worker = flash.system::Worker PASSED!
worker class is not dynamic = false PASSED!
worker class is final = true PASSED!
worker class is not static = false PASSED!
worker class NEW is defined = true PASSED!
worker class STARTING is defined = true PASSED!
worker class RUNNING is defined = true PASSED!
worker class FINISHING is defined = true PASSED!
worker class STOPPED is defined = true PASSED!
worker class FAILED is defined = true PASSED!
worker class ABORTED is defined = true PASSED!
worker class EXCEPTION is defined = true PASSED!
main worker is not equal child worker = false PASSED!
main worker is not equal to null worker = false PASSED!
child worker: state is 'starting' or 'running' (2 or 3) is running = true PASSED!
child worker: after stop() state is 'stopped' = exception FAILED! expected: stopped

to reproduce:
run the test repeatedly, it will return stopped, state=exception about 1/10

// stop.as
package {

import flash.system.Worker
import flash.system.WorkerDomain
import flash.system.Promise
import avmplus.System

if (Worker.current.isPrimordial) {
    var w:Worker=WorkerDomain.current.createWorkerFromPrimordial();
    w.start();
    System.sleep(100);
    print("started, state="+w.state);
    w.stop();
    System.sleep(100);
    print("stopped, state="+w.state);
} 
  
}
(Reporter)

Updated

5 years ago
Blocks: 695061
You need to log in before you can comment on or make changes to this bug.