Here's the context, including permissions, so yes RuntimePermission A passes in this case, this is the passing test, now all I have to do is figure out the domain that doesn't have RuntimePermission A in the failing test, that should narrow it down.

context[0] = "ProtectionDomain (file:/opt/src/river/trunk/qa/lib/jiniharness.jar <no signer certificates>)
sun.misc.Launcher$AppClassLoader@affc70
<no principals>
java.security.Permissions@1570945 (
(java.security.AllPermission <all permissions> <all actions>)
(java.lang.RuntimePermission exitVM)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/jiniharness.jar read)
)

"
main[1] print context[1]
context[1] = "ProtectionDomain (file:/opt/src/river/trunk/lib/jsk-platform.jar <no signer certificates>)
sun.misc.Launcher$AppClassLoader@affc70
<no principals>
java.security.Permissions@1381960 (
(net.jini.security.GrantPermission java.security.AllPermission "<all permissions>", "<all actions>"; java.lang.RuntimePermission "getClassLoader", ""; java.lang.RuntimePermission "accessClassInPackage.*", ""; java.lang.RuntimePermission "createClassLoader", ""; java.lang.RuntimePermission "stopThread", ""; java.lang.RuntimePermission "setContextClassLoader", ""; java.lang.RuntimePermission "exitVM", ""; java.io.FilePermission "/opt/src/river/trunk/qa/lib/*", "read"; java.io.FilePermission "/opt/src/river/trunk/qa/lib/*", "read"; java.io.FilePermission "/opt/src/river/trunk/lib/jsk-platform.jar", "read"; java.net.SocketPermission "localhost:1024-", "listen,resolve"; java.security.SecurityPermission "getPolicy", ""; java.security.SecurityPermission "setPolicy", ""; java.security.SecurityPermission "getProperty.*", ""; java.util.PropertyPermission "line.separator", "read"; java.util.PropertyPermission "java.vm.version", "read"; java.util.PropertyPermission "java.vm.specification.version", "read"; java.util.PropertyPermission "java.vm.specification.vendor", "read"; java.util.PropertyPermission "java.vendor.url", "read"; java.util.PropertyPermission "java.vm.name", "read"; java.util.PropertyPermission "*", "read,write"; java.util.PropertyPermission "os.name", "read"; java.util.PropertyPermission "java.vm.vendor", "read"; java.util.PropertyPermission "path.separator", "read"; java.util.PropertyPermission "java.specification.name", "read"; java.util.PropertyPermission "os.version", "read"; java.util.PropertyPermission "os.arch", "read"; java.util.PropertyPermission "java.class.version", "read"; java.util.PropertyPermission "java.version", "read"; java.util.PropertyPermission "file.separator", "read"; java.util.PropertyPermission "java.vendor", "read"; java.util.PropertyPermission "java.vm.specification.name", "read"; java.util.PropertyPermission "java.specification.version", "read"; java.util.PropertyPermission "java.specification.vendor", "read";)
(java.security.AllPermission <all permissions> <all actions>)
(java.lang.RuntimePermission getClassLoader)
(java.lang.RuntimePermission accessClassInPackage.*)
(java.lang.RuntimePermission createClassLoader)
(java.lang.RuntimePermission stopThread)
(java.lang.RuntimePermission setContextClassLoader)
(java.lang.RuntimePermission exitVM)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/* read)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/* read)
(java.io.FilePermission /opt/src/river/trunk/lib/jsk-platform.jar read)
(java.net.SocketPermission localhost:1024- listen,resolve)
(java.security.SecurityPermission getPolicy)
(java.security.SecurityPermission setPolicy)
(java.security.SecurityPermission getProperty.*)
(java.util.PropertyPermission line.separator read)
(java.util.PropertyPermission java.vm.version read)
(java.util.PropertyPermission java.vm.specification.version read)
(java.util.PropertyPermission java.vm.specification.vendor read)
(java.util.PropertyPermission java.vendor.url read)
(java.util.PropertyPermission java.vm.name read)
(java.util.PropertyPermission * read,write)
(java.util.PropertyPermission os.name read)
(java.util.PropertyPermission java.vm.vendor read)
(java.util.PropertyPermission path.separator read)
(java.util.PropertyPermission java.specification.name read)
(java.util.PropertyPermission os.version read)
(java.util.PropertyPermission os.arch read)
(java.util.PropertyPermission java.class.version read)
(java.util.PropertyPermission java.version read)
(java.util.PropertyPermission file.separator read)
(java.util.PropertyPermission java.vendor read)
(java.util.PropertyPermission java.vm.specification.name read)
(java.util.PropertyPermission java.specification.version read)
(java.util.PropertyPermission java.specification.vendor read)
)

"
main[1] print context[2]
context[2] = "ProtectionDomain (file:lib/qa1-start-cb1.jar <no signer certificates>)
java.net.URLClassLoader@7f58ef
<no principals>
java.security.Permissions@4845aa (
(java.lang.RuntimePermission getClassLoader)
(java.lang.RuntimePermission accessClassInPackage.*)
(java.lang.RuntimePermission createClassLoader)
(java.lang.RuntimePermission A)
(java.lang.RuntimePermission B)
(java.lang.RuntimePermission stopThread)
(java.lang.RuntimePermission setContextClassLoader)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/- read)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/* read)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/* read)
(java.io.FilePermission lib/qa1-start-cb1.jar read)
(java.net.SocketPermission localhost:1024- listen,resolve)
(java.security.SecurityPermission getPolicy)
(java.security.SecurityPermission setPolicy)
(java.security.SecurityPermission getProperty.*)
(java.util.PropertyPermission line.separator read)
(java.util.PropertyPermission java.vm.version read)
(java.util.PropertyPermission java.vm.specification.version read)
(java.util.PropertyPermission java.vm.specification.vendor read)
(java.util.PropertyPermission java.vendor.url read)
(java.util.PropertyPermission java.vm.name read)
(java.util.PropertyPermission * read,write)
(java.util.PropertyPermission os.name read)
(java.util.PropertyPermission java.vm.vendor read)
(java.util.PropertyPermission path.separator read)
(java.util.PropertyPermission java.specification.name read)
(java.util.PropertyPermission os.version read)
(java.util.PropertyPermission os.arch read)
(java.util.PropertyPermission java.class.version read)
(java.util.PropertyPermission java.version read)
(java.util.PropertyPermission file.separator read)
(java.util.PropertyPermission java.vendor read)
(java.util.PropertyPermission java.vm.specification.name read)
(java.util.PropertyPermission java.specification.version read)
(java.util.PropertyPermission java.specification.vendor read)
)

"
main[1] print context[3]
context[3] = "ProtectionDomain (file:lib/qa1-start-cb3.jar <no signer certificates>)
java.net.URLClassLoader@64023c
<no principals>
java.security.Permissions@4bfe6b (
(net.jini.security.GrantPermission java.security.AllPermission "<all permissions>", "<all actions>"; java.lang.RuntimePermission "getClassLoader", ""; java.lang.RuntimePermission "accessClassInPackage.*", ""; java.lang.RuntimePermission "createClassLoader", ""; java.lang.RuntimePermission "stopThread", ""; java.lang.RuntimePermission "setContextClassLoader", ""; java.io.FilePermission "/opt/src/river/trunk/qa/lib/*", "read"; java.io.FilePermission "/opt/src/river/trunk/qa/lib/*", "read"; java.io.FilePermission "lib/qa1-start-cb3.jar", "read"; java.net.SocketPermission "localhost:1024-", "listen,resolve"; java.security.SecurityPermission "getPolicy", ""; java.security.SecurityPermission "setPolicy", ""; java.security.SecurityPermission "getProperty.*", ""; java.util.PropertyPermission "line.separator", "read"; java.util.PropertyPermission "java.vm.version", "read"; java.util.PropertyPermission "java.vm.specification.version", "read"; java.util.PropertyPermission "java.vm.specification.vendor", "read"; java.util.PropertyPermission "java.vendor.url", "read"; java.util.PropertyPermission "java.vm.name", "read"; java.util.PropertyPermission "*", "read,write"; java.util.PropertyPermission "os.name", "read"; java.util.PropertyPermission "java.vm.vendor", "read"; java.util.PropertyPermission "path.separator", "read"; java.util.PropertyPermission "java.specification.name", "read"; java.util.PropertyPermission "os.version", "read"; java.util.PropertyPermission "os.arch", "read"; java.util.PropertyPermission "java.class.version", "read"; java.util.PropertyPermission "java.version", "read"; java.util.PropertyPermission "file.separator", "read"; java.util.PropertyPermission "java.vendor", "read"; java.util.PropertyPermission "java.vm.specification.name", "read"; java.util.PropertyPermission "java.specification.version", "read"; java.util.PropertyPermission "java.specification.vendor", "read";)
(java.security.AllPermission <all permissions> <all actions>)
(java.lang.RuntimePermission getClassLoader)
(java.lang.RuntimePermission accessClassInPackage.*)
(java.lang.RuntimePermission createClassLoader)
(java.lang.RuntimePermission stopThread)
(java.lang.RuntimePermission setContextClassLoader)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/* read)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/* read)
(java.io.FilePermission lib/qa1-start-cb3.jar read)
(java.net.SocketPermission localhost:1024- listen,resolve)
(java.security.SecurityPermission getPolicy)
(java.security.SecurityPermission setPolicy)
(java.security.SecurityPermission getProperty.*)
(java.util.PropertyPermission line.separator read)
(java.util.PropertyPermission java.vm.version read)
(java.util.PropertyPermission java.vm.specification.version read)
(java.util.PropertyPermission java.vm.specification.vendor read)
(java.util.PropertyPermission java.vendor.url read)
(java.util.PropertyPermission java.vm.name read)
(java.util.PropertyPermission * read,write)
(java.util.PropertyPermission os.name read)
(java.util.PropertyPermission java.vm.vendor read)
(java.util.PropertyPermission path.separator read)
(java.util.PropertyPermission java.specification.name read)
(java.util.PropertyPermission os.version read)
(java.util.PropertyPermission os.arch read)
(java.util.PropertyPermission java.class.version read)
(java.util.PropertyPermission java.version read)
(java.util.PropertyPermission file.separator read)
(java.util.PropertyPermission java.vendor read)
(java.util.PropertyPermission java.vm.specification.name read)
(java.util.PropertyPermission java.specification.version read)
(java.util.PropertyPermission java.specification.vendor read)
)

"
main[1] print context[4]
context[4] = "ProtectionDomain (file:lib/qa1-start-cb2.jar <no signer certificates>)
java.net.URLClassLoader@1d9e282
<no principals>
java.security.Permissions@366573 (
(java.lang.RuntimePermission getClassLoader)
(java.lang.RuntimePermission accessClassInPackage.*)
(java.lang.RuntimePermission createClassLoader)
(java.lang.RuntimePermission A)
(java.lang.RuntimePermission C)
(java.lang.RuntimePermission stopThread)
(java.lang.RuntimePermission setContextClassLoader)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/- read)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/* read)
(java.io.FilePermission /opt/src/river/trunk/qa/lib/* read)
(java.io.FilePermission lib/qa1-start-cb2.jar read)
(java.net.SocketPermission localhost:1024- listen,resolve)
(java.security.SecurityPermission getPolicy)
(java.security.SecurityPermission setPolicy)
(java.security.SecurityPermission getProperty.*)
(java.util.PropertyPermission line.separator read)
(java.util.PropertyPermission java.vm.version read)
(java.util.PropertyPermission java.vm.specification.version read)
(java.util.PropertyPermission java.vm.specification.vendor read)
(java.util.PropertyPermission java.vendor.url read)
(java.util.PropertyPermission java.vm.name read)
(java.util.PropertyPermission * read,write)
(java.util.PropertyPermission os.name read)
(java.util.PropertyPermission java.vm.vendor read)
(java.util.PropertyPermission path.separator read)
(java.util.PropertyPermission java.specification.name read)
(java.util.PropertyPermission os.version read)
(java.util.PropertyPermission os.arch read)
(java.util.PropertyPermission java.class.version read)
(java.util.PropertyPermission java.version read)
(java.util.PropertyPermission file.separator read)
(java.util.PropertyPermission java.vendor read)
(java.util.PropertyPermission java.vm.specification.name read)
(java.util.PropertyPermission java.specification.version read)
(java.util.PropertyPermission java.specification.vendor read)
)

"




Peter Firmstone wrote:
This is one of the contexts from the passing test during the check for RuntimePermission B, unfortunately the codesource locations are missing the path property com.sun.jini.qa.home.

Somehow this context passed RuntimePermission A, but you can't see that in the ProtectionDomain toString(), although I'll have to do that with security debug enabled to see if there are any rejected permissions.

main[1] print permission
permission = "(java.lang.RuntimePermission B)"
main[1] step up
>
Step completed: "thread=main", com.sun.jini.start.AggregatePolicyProvider.implies(), line=201 bci=16

main[1] step up
>
Step completed: "thread=main", java.security.ProtectionDomain.implies(), line=224 bci=24

main[1] step up
>
Step completed: "thread=main", java.security.AccessControlContext.checkPermission(), line=352 bci=325

main[1] dump this
this = {
   context: instance of java.security.ProtectionDomain[5] (id=1030)
   isPrivileged: false
privilegedContext: instance of java.security.AccessControlContext(id=1032)
   combiner: null
   debugInit: true
   debug: null
}
main[1] print this.context[0]
this.context[0] = "ProtectionDomain (file:/opt/src/river/trunk/qa/lib/jiniharness.jar <no signer certificates>) sun.misc.Launcher$AppClassLoader@93dee9
<no principals>
java.security.Permissions@115d06c (
(java.io.FilePermission /opt/src/river/trunk/qa/lib/jiniharness.jar read)
(java.lang.RuntimePermission exitVM)
)

"
main[1] print this.context[1]
this.context[1] = "ProtectionDomain (file:/opt/src/river/trunk/lib/jsk-platform.jar <no signer certificates>)
sun.misc.Launcher$AppClassLoader@93dee9
<no principals>
java.security.Permissions@13e15f7 (
(java.io.FilePermission /opt/src/river/trunk/lib/jsk-platform.jar read)
(java.lang.RuntimePermission exitVM)
)

"
main[1] print this.context[2]
this.context[2] = "ProtectionDomain (file:lib/qa1-start-cb1.jar <no signer certificates>)
java.net.URLClassLoader@1a99347
<no principals>
java.security.Permissions@569c60 (
(java.io.FilePermission lib/qa1-start-cb1.jar read)
)

"
main[1] print this.context[3]
this.context[3] = "ProtectionDomain (file:lib/qa1-start-cb3.jar <no signer certificates>)
java.net.URLClassLoader@e45b5e
<no principals>
java.security.Permissions@17f11fb (
(java.io.FilePermission lib/qa1-start-cb3.jar read)
)

"
main[1] print this.context[4]
this.context[4] = "ProtectionDomain (file:lib/qa1-start-cb2.jar <no signer certificates>)
java.net.URLClassLoader@94af2f
<no principals>
java.security.Permissions@1f44ec7 (
(java.io.FilePermission lib/qa1-start-cb2.jar read)
)

"
main[1]

Peter Firmstone wrote:
It seems it isn't too hard to lockup the test on the main trunk, using jdb, then exiting the debugger, leaving the test in a hung state.

I've modified AggregratePolicyProvider in skunk (see recent commit), after the mods I'm unable to get it to lock up after exiting the debugger.

From river trunk:

bash-3.00$ jstack 19499
2011-12-27 18:29:02
Full thread dump Java HotSpot(TM) Server VM (20.0-b11 mixed mode):

"Attach Listener" daemon prio=3 tid=0x001d8c00 nid=0x14 waiting on condition [0x00000000]
  java.lang.Thread.State: RUNNABLE

"test-err" daemon prio=3 tid=0x001d2400 nid=0x13 runnable [0xb667f000]
  java.lang.Thread.State: RUNNABLE
       at java.io.FileInputStream.readBytes(Native Method)
       at java.io.FileInputStream.read(FileInputStream.java:198)
at java.lang.UNIXProcess$DeferredCloseInputStream.read(UNIXProcess.java:218)
       at com.sun.jini.qa.harness.Pipe.run(Pipe.java:119)
       at java.lang.Thread.run(Thread.java:662)

"test-out" daemon prio=3 tid=0x001d1c00 nid=0x12 runnable [0xb677f000]
  java.lang.Thread.State: RUNNABLE
       at java.io.FileInputStream.readBytes(Native Method)
       at java.io.FileInputStream.read(FileInputStream.java:220)
at java.lang.UNIXProcess$DeferredCloseInputStream.read(UNIXProcess.java:227)
       at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
       at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
       - locked <0xe674ec70> (a java.io.BufferedInputStream)
       at java.io.FilterInputStream.read(FilterInputStream.java:90)
       at com.sun.jini.qa.harness.Pipe.run(Pipe.java:119)
       at java.lang.Thread.run(Thread.java:662)

"process reaper" daemon prio=3 tid=0x00247c00 nid=0x11 runnable [0xb687f000]
  java.lang.Thread.State: RUNNABLE
       at java.lang.UNIXProcess.waitForProcessExit(Native Method)
       at java.lang.UNIXProcess.access$900(UNIXProcess.java:17)
       at java.lang.UNIXProcess$2$1.run(UNIXProcess.java:86)

"Keepalive" daemon prio=3 tid=0x002e6c00 nid=0x10 runnable [0xb697f000]
  java.lang.Thread.State: RUNNABLE
       at java.net.PlainSocketImpl.socketAccept(Native Method)
       at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
       - locked <0xe662d6b8> (a java.net.SocksSocketImpl)
       at java.net.ServerSocket.implAccept(ServerSocket.java:462)
       at java.net.ServerSocket.accept(ServerSocket.java:430)
at com.sun.jini.qa.harness.MasterHarness$KeepAlivePort.run(MasterHarness.java:254)
       at java.lang.Thread.run(Thread.java:662)

"no heart without soul" daemon prio=3 tid=0x00180400 nid=0xf waiting on condition [0xb6a7f000]
  java.lang.Thread.State: TIMED_WAITING (sleeping)
       at java.lang.Thread.sleep(Native Method)
at com.sun.jini.qa.harness.HeartOfTheMachine.ticktack(HeartOfTheMachine.java:63) at com.sun.jini.qa.harness.HeartOfTheMachine.access$000(HeartOfTheMachine.java:29) at com.sun.jini.qa.harness.HeartOfTheMachine$1.run(HeartOfTheMachine.java:45)
       at java.lang.Thread.run(Thread.java:662)

"Low Memory Detector" daemon prio=3 tid=0x00122c00 nid=0xd runnable [0x00000000]
  java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=3 tid=0x00120000 nid=0xc waiting on condition [0x00000000]
  java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=3 tid=0x0011d800 nid=0xb waiting on condition [0x00000000]
  java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=3 tid=0x0011c000 nid=0xa runnable [0x00000000]
  java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=3 tid=0x0010bc00 nid=0x9 in Object.wait() [0xb707f000]
  java.lang.Thread.State: WAITING (on object monitor)
       at java.lang.Object.wait(Native Method)
       - waiting on <0xe6401150> (a java.lang.ref.ReferenceQueue$Lock)
       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
       - locked <0xe6401150> (a java.lang.ref.ReferenceQueue$Lock)
       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=3 tid=0x00107000 nid=0x8 in Object.wait() [0xb717f000]
  java.lang.Thread.State: WAITING (on object monitor)
       at java.lang.Object.wait(Native Method)
       - waiting on <0xe6401050> (a java.lang.ref.Reference$Lock)
       at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
       - locked <0xe6401050> (a java.lang.ref.Reference$Lock)

"main" prio=3 tid=0x00031400 nid=0x2 in Object.wait() [0xfe37f000]
  java.lang.Thread.State: WAITING (on object monitor)
       at java.lang.Object.wait(Native Method)
       - waiting on <0xe674ca40> (a java.lang.UNIXProcess)
       at java.lang.Object.wait(Object.java:485)
       at java.lang.UNIXProcess.waitFor(UNIXProcess.java:115)
       - locked <0xe674ca40> (a java.lang.UNIXProcess)
at com.sun.jini.qa.harness.MasterHarness.runTestOtherVM(MasterHarness.java:873) at com.sun.jini.qa.harness.MasterHarness.access$200(MasterHarness.java:119) at com.sun.jini.qa.harness.MasterHarness$TestRunner.run(MasterHarness.java:603) at com.sun.jini.qa.harness.MasterHarness.runTests(MasterHarness.java:430)
       at com.sun.jini.qa.harness.QARunner.main(QARunner.java:67)

"VM Thread" prio=3 tid=0x00103000 nid=0x7 runnable

"GC task thread#0 (ParallelGC)" prio=3 tid=0x00039000 nid=0x3 runnable

"GC task thread#1 (ParallelGC)" prio=3 tid=0x0003a400 nid=0x4 runnable

"GC task thread#2 (ParallelGC)" prio=3 tid=0x0003b800 nid=0x5 runnable

"GC task thread#3 (ParallelGC)" prio=3 tid=0x0003cc00 nid=0x6 runnable

"VM Periodic Task Thread" prio=3 tid=0x0012cc00 nid=0xe waiting on condition

JNI global references: 1252


Dan Creswell wrote:
...

On 27 December 2011 01:40, Peter Firmstone <j...@zeus.net.au> wrote:
The following is specific to:

com/sun/jini/test/impl/start/aggregatepolicyprovider/GetContextTest.td

I've just come across the concurrency issue (experienced randomly when
attempting to debug any of the failing tests) in the existing River trunk code, after exiting the debugger, the test is in a deadlocked state, here's
the thread dump:


Two threads arriving at the same point doesn't imply deadlock, in fact
it can mean quite the opposite. Deadlock requires two threads taking
resources in opposite orders so T1 takes a and tries to take b, T2
takes b and tries to take a. Thus I wouldn't expect both threads to be
blocking in implies.

So both threads arrived at AggregatePolicyProvider.implies but note
that method is not synchronized and the stack does not include mention
of getCurrentSubPolicy which does take a lock.

Thing is, the debugger itself could be the culprit, especially given
what you do below in terms of attempting a print.

If at all possible, it's going to be better to leave the debugger out
and wait for the test to deadlock, after which using jstack will give
a full dump and include a note of locks taken as well (something it
looks like the debugger above, doesn't do).

In this case I've tried to print the domain (ProtectionDomain), as you can
see two threads have arrived at the same breakpoint.

jdb -attach 8000
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
Initializing jdb ...
    VM Started: No frames on the current call stack

main[1] stop in com.sun.jini.start.AggregatePolicyProvider.implies
Deferring breakpoint com.sun.jini.start.AggregatePolicyProvider.implies.
It will be set after the class is loaded.
main[1] run
Set deferred breakpoint com.sun.jini.start.AggregatePolicyProvider.implies
Breakpoint hit: "thread=main",
com.sun.jini.start.AggregatePolicyProvider.implies(), line=201 bci=0

main[1] print domain

Breakpoint hit: "thread=main",
com.sun.jini.start.AggregatePolicyProvider.implies(), line=201 bci=0

main[1] where all
Signal Dispatcher:
Finalizer:
 [1] java.lang.Object.wait (native method)
 [2] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:118)
 [3] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:134)
 [4] java.lang.ref.Finalizer$FinalizerThread.run (Finalizer.java:159)
Reference Handler:
 [1] java.lang.Object.wait (native method)
 [2] java.lang.Object.wait (Object.java:485)
 [3] java.lang.ref.Reference$ReferenceHandler.run (Reference.java:116)
main:
 [1] com.sun.jini.start.AggregatePolicyProvider.implies
(AggregatePolicyProvider.java:201)
[2] java.security.ProtectionDomain.implies (ProtectionDomain.java:224)
 [3] java.security.AccessControlContext.checkPermission
(AccessControlContext.java:352)
 [4] java.security.AccessController.checkPermission
(AccessController.java:546)
[5] java.lang.SecurityManager.checkPermission (SecurityManager.java:532) [6] java.security.ProtectionDomain.seeAllp (ProtectionDomain.java:295) [7] java.security.ProtectionDomain.toString (ProtectionDomain.java:255)
 [8] com.sun.jini.start.AggregatePolicyProvider.implies
(AggregatePolicyProvider.java:201)
[9] java.security.ProtectionDomain.implies (ProtectionDomain.java:224)
 [10] java.security.AccessControlContext.checkPermission
(AccessControlContext.java:352)
 [11] java.security.AccessController.checkPermission
(AccessController.java:546)
[12] java.lang.SecurityManager.checkPermission (SecurityManager.java:532)
 [13] java.lang.SecurityManager.checkCreateClassLoader
(SecurityManager.java:594)
[14] java.lang.ClassLoader.checkCreateClassLoader (ClassLoader.java:177)
 [15] java.lang.ClassLoader.<init> (ClassLoader.java:225)
[16] java.security.SecureClassLoader.<init> (SecureClassLoader.java:93)
 [17] java.net.URLClassLoader.<init> (URLClassLoader.java:115)
 [18]
com.sun.jini.test.impl.start.aggregatepolicyprovider.GetContextTest.run
(GetContextTest.java:85)
 [19] com.sun.jini.qa.harness.MasterTest.doTest (MasterTest.java:252)
 [20] com.sun.jini.qa.harness.MasterTest.main (MasterTest.java:142)
no heart without soul:
 [1] com.sun.jini.start.AggregatePolicyProvider.implies
(AggregatePolicyProvider.java:201)
[2] java.security.ProtectionDomain.implies (ProtectionDomain.java:224)
 [3] java.security.AccessControlContext.checkPermission
(AccessControlContext.java:352)
 [4] java.security.AccessController.checkPermission
(AccessController.java:546)
[5] java.lang.SecurityManager.checkPermission (SecurityManager.java:532)
 [6] java.lang.SecurityManager.checkRead (SecurityManager.java:871)
 [7] java.io.File.exists (File.java:731)
 [8] com.sun.jini.qa.harness.HeartOfTheMachine.hasReasonToLive
(HeartOfTheMachine.java:56)
 [9] com.sun.jini.qa.harness.HeartOfTheMachine.ticktack
(HeartOfTheMachine.java:62)
 [10] com.sun.jini.qa.harness.HeartOfTheMachine.access$000
(HeartOfTheMachine.java:29)
 [11] com.sun.jini.qa.harness.HeartOfTheMachine$1.run
(HeartOfTheMachine.java:45)
 [12] java.lang.Thread.run (Thread.java:662)
Thread-2:
 [1] java.net.PlainSocketImpl.socketAccept (native method)
 [2] java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)
 [3] java.net.ServerSocket.implAccept (ServerSocket.java:462)
 [4] java.net.ServerSocket.accept (ServerSocket.java:430)
 [5] com.sun.jini.tool.ClassServer.run (ClassServer.java:396)
Thread-3:
 [1] java.net.PlainSocketImpl.socketAccept (native method)
 [2] java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)
 [3] java.net.ServerSocket.implAccept (ServerSocket.java:462)
 [4] java.net.ServerSocket.accept (ServerSocket.java:430)
 [5] com.sun.jini.tool.ClassServer.run (ClassServer.java:396)
Thread-4:
 [1] java.net.PlainSocketImpl.socketAccept (native method)
 [2] java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)
 [3] java.net.ServerSocket.implAccept (ServerSocket.java:462)
 [4] java.net.ServerSocket.accept (ServerSocket.java:430)
 [5] com.sun.jini.tool.ClassServer.run (ClassServer.java:396)
RequestHandler:
 [1] java.io.FileInputStream.readBytes (native method)
 [2] java.io.FileInputStream.read (FileInputStream.java:220)
 [3] java.io.BufferedInputStream.fill (BufferedInputStream.java:218)
 [4] java.io.BufferedInputStream.read1 (BufferedInputStream.java:258)
 [5] java.io.BufferedInputStream.read (BufferedInputStream.java:317)
 [6] java.io.ObjectInputStream$PeekInputStream.read
(ObjectInputStream.java:2,265)
 [7] java.io.ObjectInputStream$PeekInputStream.readFully
(ObjectInputStream.java:2,278)
 [8] java.io.ObjectInputStream$BlockDataInputStream.readShort
(ObjectInputStream.java:2,749)
[9] java.io.ObjectInputStream.readStreamHeader (ObjectInputStream.java:779)
 [10] java.io.ObjectInputStream.<init> (ObjectInputStream.java:279)
 [11] com.sun.jini.qa.harness.MasterTest$RequestHandler.run
(MasterTest.java:323)
 [12] java.lang.Thread.run (Thread.java:662)
main[1] monitor
main[1] step

    Breakpoint hit: "thread=no heart without soul",
com.sun.jini.start.AggregatePolicyProvider.implies(), line=201 bci=0

no heart without soul[1] where all
Signal Dispatcher:
Finalizer:
 [1] java.lang.Object.wait (native method)
 [2] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:118)
 [3] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:134)
 [4] java.lang.ref.Finalizer$FinalizerThread.run (Finalizer.java:159)
Reference Handler:
 [1] java.lang.Object.wait (native method)
 [2] java.lang.Object.wait (Object.java:485)
 [3] java.lang.ref.Reference$ReferenceHandler.run (Reference.java:116)
main:
 [1] com.sun.jini.start.AggregatePolicyProvider.implies
(AggregatePolicyProvider.java:201)
[2] java.security.ProtectionDomain.implies (ProtectionDomain.java:224)
 [3] java.security.AccessControlContext.checkPermission
(AccessControlContext.java:352)
 [4] java.security.AccessController.checkPermission
(AccessController.java:546)
[5] java.lang.SecurityManager.checkPermission (SecurityManager.java:532) [6] java.security.ProtectionDomain.seeAllp (ProtectionDomain.java:295) [7] java.security.ProtectionDomain.toString (ProtectionDomain.java:255)
 [8] com.sun.jini.start.AggregatePolicyProvider.implies
(AggregatePolicyProvider.java:201)
[9] java.security.ProtectionDomain.implies (ProtectionDomain.java:224)
 [10] java.security.AccessControlContext.checkPermission
(AccessControlContext.java:352)
 [11] java.security.AccessController.checkPermission
(AccessController.java:546)
[12] java.lang.SecurityManager.checkPermission (SecurityManager.java:532)
 [13] java.lang.SecurityManager.checkCreateClassLoader
(SecurityManager.java:594)
[14] java.lang.ClassLoader.checkCreateClassLoader (ClassLoader.java:177)
 [15] java.lang.ClassLoader.<init> (ClassLoader.java:225)
[16] java.security.SecureClassLoader.<init> (SecureClassLoader.java:93)
 [17] java.net.URLClassLoader.<init> (URLClassLoader.java:115)
 [18]
com.sun.jini.test.impl.start.aggregatepolicyprovider.GetContextTest.run
(GetContextTest.java:85)
 [19] com.sun.jini.qa.harness.MasterTest.doTest (MasterTest.java:252)
 [20] com.sun.jini.qa.harness.MasterTest.main (MasterTest.java:142)
no heart without soul:
 [1] com.sun.jini.start.AggregatePolicyProvider.implies
(AggregatePolicyProvider.java:201)
[2] java.security.ProtectionDomain.implies (ProtectionDomain.java:224)
 [3] java.security.AccessControlContext.checkPermission
(AccessControlContext.java:352)
 [4] java.security.AccessController.checkPermission
(AccessController.java:546)
[5] java.lang.SecurityManager.checkPermission (SecurityManager.java:532)
 [6] java.lang.SecurityManager.checkRead (SecurityManager.java:871)
 [7] java.io.File.exists (File.java:731)
 [8] com.sun.jini.qa.harness.HeartOfTheMachine.hasReasonToLive
(HeartOfTheMachine.java:56)
 [9] com.sun.jini.qa.harness.HeartOfTheMachine.ticktack
(HeartOfTheMachine.java:62)
 [10] com.sun.jini.qa.harness.HeartOfTheMachine.access$000
(HeartOfTheMachine.java:29)
 [11] com.sun.jini.qa.harness.HeartOfTheMachine$1.run
(HeartOfTheMachine.java:45)
 [12] java.lang.Thread.run (Thread.java:662)
Thread-2:
 [1] java.net.PlainSocketImpl.socketAccept (native method)
 [2] java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)
 [3] java.net.ServerSocket.implAccept (ServerSocket.java:462)
 [4] java.net.ServerSocket.accept (ServerSocket.java:430)
 [5] com.sun.jini.tool.ClassServer.run (ClassServer.java:396)
Thread-3:
 [1] java.net.PlainSocketImpl.socketAccept (native method)
 [2] java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)
 [3] java.net.ServerSocket.implAccept (ServerSocket.java:462)
 [4] java.net.ServerSocket.accept (ServerSocket.java:430)
 [5] com.sun.jini.tool.ClassServer.run (ClassServer.java:396)
Thread-4:
 [1] java.net.PlainSocketImpl.socketAccept (native method)
 [2] java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)
 [3] java.net.ServerSocket.implAccept (ServerSocket.java:462)
 [4] java.net.ServerSocket.accept (ServerSocket.java:430)
 [5] com.sun.jini.tool.ClassServer.run (ClassServer.java:396)
RequestHandler:
 [1] java.io.FileInputStream.readBytes (native method)
 [2] java.io.FileInputStream.read (FileInputStream.java:220)
 [3] java.io.BufferedInputStream.fill (BufferedInputStream.java:218)
 [4] java.io.BufferedInputStream.read1 (BufferedInputStream.java:258)
 [5] java.io.BufferedInputStream.read (BufferedInputStream.java:317)
 [6] java.io.ObjectInputStream$PeekInputStream.read
(ObjectInputStream.java:2,265)
 [7] java.io.ObjectInputStream$PeekInputStream.readFully
(ObjectInputStream.java:2,278)
 [8] java.io.ObjectInputStream$BlockDataInputStream.readShort
(ObjectInputStream.java:2,749)
[9] java.io.ObjectInputStream.readStreamHeader (ObjectInputStream.java:779)
 [10] java.io.ObjectInputStream.<init> (ObjectInputStream.java:279)
 [11] com.sun.jini.qa.harness.MasterTest$RequestHandler.run
(MasterTest.java:323)
 [12] java.lang.Thread.run (Thread.java:662)
no heart without soul[1] step

    Breakpoint hit: "thread=main",
com.sun.jini.start.AggregatePolicyProvider.implies(), line=201 bci=0

main[1] where all
Signal Dispatcher:
Finalizer:
 [1] java.lang.Object.wait (native method)
 [2] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:118)
 [3] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:134)
 [4] java.lang.ref.Finalizer$FinalizerThread.run (Finalizer.java:159)
Reference Handler:
 [1] java.lang.Object.wait (native method)
 [2] java.lang.Object.wait (Object.java:485)
 [3] java.lang.ref.Reference$ReferenceHandler.run (Reference.java:116)
main:
 [1] com.sun.jini.start.AggregatePolicyProvider.implies
(AggregatePolicyProvider.java:201)
[2] java.security.ProtectionDomain.implies (ProtectionDomain.java:224)
 [3] java.security.AccessControlContext.checkPermission
(AccessControlContext.java:352)
 [4] java.security.AccessController.checkPermission
(AccessController.java:546)
[5] java.lang.SecurityManager.checkPermission (SecurityManager.java:532) [6] java.security.ProtectionDomain.seeAllp (ProtectionDomain.java:295) [7] java.security.ProtectionDomain.toString (ProtectionDomain.java:255)
 [8] com.sun.jini.start.AggregatePolicyProvider.implies
(AggregatePolicyProvider.java:201)
[9] java.security.ProtectionDomain.implies (ProtectionDomain.java:224)
 [10] java.security.AccessControlContext.checkPermission
(AccessControlContext.java:352)
 [11] java.security.AccessController.checkPermission
(AccessController.java:546)
[12] java.lang.SecurityManager.checkPermission (SecurityManager.java:532)
 [13] java.lang.SecurityManager.checkCreateClassLoader
(SecurityManager.java:594)
[14] java.lang.ClassLoader.checkCreateClassLoader (ClassLoader.java:177)
 [15] java.lang.ClassLoader.<init> (ClassLoader.java:225)
[16] java.security.SecureClassLoader.<init> (SecureClassLoader.java:93)
 [17] java.net.URLClassLoader.<init> (URLClassLoader.java:115)
 [18]
com.sun.jini.test.impl.start.aggregatepolicyprovider.GetContextTest.run
(GetContextTest.java:85)
 [19] com.sun.jini.qa.harness.MasterTest.doTest (MasterTest.java:252)
 [20] com.sun.jini.qa.harness.MasterTest.main (MasterTest.java:142)
no heart without soul:
 [1] java.lang.SecurityManager.checkRead (SecurityManager.java:873)
 [2] java.io.File.exists (File.java:731)
 [3] com.sun.jini.qa.harness.HeartOfTheMachine.hasReasonToLive
(HeartOfTheMachine.java:56)
 [4] com.sun.jini.qa.harness.HeartOfTheMachine.ticktack
(HeartOfTheMachine.java:62)
 [5] com.sun.jini.qa.harness.HeartOfTheMachine.access$000
(HeartOfTheMachine.java:29)
 [6] com.sun.jini.qa.harness.HeartOfTheMachine$1.run
(HeartOfTheMachine.java:45)
 [7] java.lang.Thread.run (Thread.java:662)
Thread-2:
 [1] java.net.PlainSocketImpl.socketAccept (native method)
 [2] java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)
 [3] java.net.ServerSocket.implAccept (ServerSocket.java:462)
 [4] java.net.ServerSocket.accept (ServerSocket.java:430)
 [5] com.sun.jini.tool.ClassServer.run (ClassServer.java:396)
Thread-3:
 [1] java.net.PlainSocketImpl.socketAccept (native method)
 [2] java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)
 [3] java.net.ServerSocket.implAccept (ServerSocket.java:462)
 [4] java.net.ServerSocket.accept (ServerSocket.java:430)
 [5] com.sun.jini.tool.ClassServer.run (ClassServer.java:396)
Thread-4:
 [1] java.net.PlainSocketImpl.socketAccept (native method)
 [2] java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)
 [3] java.net.ServerSocket.implAccept (ServerSocket.java:462)
 [4] java.net.ServerSocket.accept (ServerSocket.java:430)
 [5] com.sun.jini.tool.ClassServer.run (ClassServer.java:396)
RequestHandler:
 [1] java.io.FileInputStream.readBytes (native method)
 [2] java.io.FileInputStream.read (FileInputStream.java:220)
 [3] java.io.BufferedInputStream.fill (BufferedInputStream.java:218)
 [4] java.io.BufferedInputStream.read1 (BufferedInputStream.java:258)
 [5] java.io.BufferedInputStream.read (BufferedInputStream.java:317)
 [6] java.io.ObjectInputStream$PeekInputStream.read
(ObjectInputStream.java:2,265)
 [7] java.io.ObjectInputStream$PeekInputStream.readFully
(ObjectInputStream.java:2,278)
 [8] java.io.ObjectInputStream$BlockDataInputStream.readShort
(ObjectInputStream.java:2,749)
[9] java.io.ObjectInputStream.readStreamHeader (ObjectInputStream.java:779)
 [10] java.io.ObjectInputStream.<init> (ObjectInputStream.java:279)
 [11] com.sun.jini.qa.harness.MasterTest$RequestHandler.run
(MasterTest.java:323)
 [12] java.lang.Thread.run (Thread.java:662)
main[1] dump this
this = {
  mainPolicyClassProperty:
"com.sun.jini.start.AggregatePolicyProvider.mainPolicyClass"
defaultMainPolicyClass: "net.jini.security.policy.DynamicPolicyProvider"
  trustGetCCL: instance of java.util.WeakHashMap(id=962)
  myDomain: instance of java.security.ProtectionDomain(id=963)
subPolicies: instance of com.sun.jini.collection.WeakIdentityMap(id=964)
  subPolicyCache: instance of
com.sun.jini.collection.WeakIdentityMap(id=965)
  mainPolicy: instance of
net.jini.security.policy.DynamicPolicyProvider(id=966)
  $assertionsDisabled: true
  java.security.Policy.UNSUPPORTED_EMPTY_COLLECTION: instance of
java.security.Policy$UnsupportedEmptyCollection(id=967)
  java.security.Policy.policy: instance of
com.sun.jini.start.AggregatePolicyProvider(id=959)
  java.security.Policy.debug: null
java.security.Policy.pdMapping: instance of java.util.WeakHashMap(id=968)
}
main[1] exit







Reply via email to