uniterV0Suite.TearDownTest: The handle is invalid
Bug #1566303 reported by
Curtis Hovey
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Invalid
|
Undecided
|
Unassigned | ||
1.25 |
Fix Released
|
Critical
|
Dave Cheney |
Bug Description
As seen in
http://
uniterV0Suite.
c:/users/
c.Assert(err, jc.ErrorIsNil)
... value syscall.Errno = 0x6 ("The handle is invalid.")
This issue was consistently seen in windows unit tests. This is the first failure. What ever went wrong in the test topples many other tests.
Changed in juju-core: | |
status: | Triaged → Incomplete |
description: | updated |
tags: | added: blocker |
Changed in juju-core: | |
status: | Incomplete → Invalid |
To post a comment you must log in.
The underlying cause is the feature tests run in parallel, and all try to mutate one registry key.
The logic is roughly
program A creates registry key (as it doesn't exist), and records the fact that it must _delete_ the registry key.
program B trys to create a registry key, finds that it already exists, so it records the old value, then updates it, and makes a not to restore the old value.
program A deletes the registry key, as when it started the key did not exist, so it's behaviour is to remove the key.
Program b trys to restore the state of the existing key, and finds the key deleted.
Test fails.
This pattern is unsafe, we have to rewrite it to not use a singleton registry key.