We're creating a bunch of threads which create several local providers which are added to the security framework. However, those providers we're adding/removing are potentially lost when the following is called in the AccessorThread at the end of the loop:
provs = Security.getProviders();
This will start adding/removing some of the system providers, in addition to the local providers. I don't understand this, and think this was not the intent.
Also, with the rewrite of the delayed provider selection and without an implementation of sigimpl, I don't think we'll ever be getting to the removeProvider code, it's always going to be failing the getInstance call.
In addition, this test is failing on windows-i586 with the server compiler only. See 6915983. Could be -sameVM issue.
windows_i586-product-c2-jdk_security1
TEST: java/security/Security/SynchronizedAccess.java
JDK under test: (C:\temp\jprt\T1\T\182757~1.SS1\TESTPR~1\WINDOW~1.0-P)
java version "1.7.0-2010-02-10-182757.ss145989.tl-pit-jtreg"
Java(TM) SE Runtime Environment (build 1.7.0-2010-02-10-182757.ss145989.tl-pit-j
treg-administrator_2010_02_10_11_28-b00)
Java HotSpot(TM) Server VM (build 17.0-b08, mixed mode)
ACTION: build -- Passed. Build successful
REASON: Named class compiled on demand
TIME: 0.468 seconds
messages:
command: build SynchronizedAccess
reason: Named class compiled on demand
elapsed time (seconds): 0.468
ACTION: compile -- Passed. Compilation successful
REASON: .class file out of date or does not exist
TIME: 0.437 seconds
messages:
command: compile C:\temp\jprt\T1\T\182757.ss145989\source\test\java\security\Sec
urity\SynchronizedAccess.java
reason: .class file out of date or does not exist
elapsed time (seconds): 0.437
ACTION: main -- Error. Error while cleaning up threads after test
REASON: Assumed action based on file name: run main SynchronizedAccess
TIME: 124.844 seconds
messages:
command: main SynchronizedAccess
reason: Assumed action based on file name: run main SynchronizedAccess
elapsed time (seconds): 124.844
STDOUT:
STDERR:
TEST RESULT: Error. Error while cleaning up threads after test