###################
### Same thread ###
###################
From top
---------
 getStackTrace (Ljava/lang/Thread;II)[[Ljava/lang/String; -1 -2
 print (Ljava/lang/Thread;II)V 0 34
 printOrWait (IILControlData;)V 6 39
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 doTest ()V 38 23
 main ([Ljava/lang/String;)V 3 21
---------
 print (Ljava/lang/Thread;II)V 0 34
 printOrWait (IILControlData;)V 6 39
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 doTest ()V 42 24
 main ([Ljava/lang/String;)V 3 21
---------
 getStackTrace (Ljava/lang/Thread;II)[[Ljava/lang/String; -1 -2
 print (Ljava/lang/Thread;II)V 0 34
 printOrWait (IILControlData;)V 6 39
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
---------
 printOrWait (IILControlData;)V 6 39
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
From bottom
---------
 main ([Ljava/lang/String;)V 3 21
---------
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 doTest ()V 65 30
 main ([Ljava/lang/String;)V 3 21
---------
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

################################
### Other thread (suspended) ###
################################
From top
---------
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 26
---------
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 26
---------
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
---------
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
From bottom
---------
 run ()V 4 26
---------
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 26
---------
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24

###########################
### Other thread (live) ###
###########################
From top
---------
 printOrWait (IILControlData;)V 44 52
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 59
---------
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 59
---------
 printOrWait (IILControlData;)V 44 52
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
---------
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
From bottom
---------
 run ()V 4 59
---------
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 59
---------
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24

################################
### Other threads (suspended) ###
################################
---------
AllTraces Thread 0

---------
AllTraces Thread 1

---------
AllTraces Thread 2

---------
AllTraces Thread 3

---------
AllTraces Thread 4

---------
AllTraces Thread 5

---------
AllTraces Thread 6

---------
AllTraces Thread 7

---------
AllTraces Thread 8

---------
AllTraces Thread 9

---------
FinalizerDaemon
<not printed>
---------
FinalizerWatchdogDaemon
<not printed>
---------
HeapTaskDaemon
<not printed>
---------
ReferenceQueueDaemon
<not printed>
---------
Signal Catcher

---------
main

---------
AllTraces Thread 0
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
AllTraces Thread 1
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
AllTraces Thread 2
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
AllTraces Thread 3
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
AllTraces Thread 4
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
AllTraces Thread 5
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
AllTraces Thread 6
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
AllTraces Thread 7
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
AllTraces Thread 8
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
AllTraces Thread 9
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
FinalizerDaemon
<not printed>
---------
FinalizerWatchdogDaemon
<not printed>
---------
HeapTaskDaemon
<not printed>
---------
ReferenceQueueDaemon
<not printed>
---------
Signal Catcher

---------
main
 getAllStackTraces (I)[[Ljava/lang/Object; -1 -2
 printAll (I)V 0 73
 doTest ()V 128 57
 main ([Ljava/lang/String;)V 27 33

---------
AllTraces Thread 0
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 45

---------
AllTraces Thread 1
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 45

---------
AllTraces Thread 2
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 45

---------
AllTraces Thread 3
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 45

---------
AllTraces Thread 4
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 45

---------
AllTraces Thread 5
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 45

---------
AllTraces Thread 6
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 45

---------
AllTraces Thread 7
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 45

---------
AllTraces Thread 8
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 45

---------
AllTraces Thread 9
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 45

---------
FinalizerDaemon
<not printed>
---------
FinalizerWatchdogDaemon
<not printed>
---------
HeapTaskDaemon
<not printed>
---------
ReferenceQueueDaemon
<not printed>
---------
Signal Catcher

---------
main
 getAllStackTraces (I)[[Ljava/lang/Object; -1 -2
 printAll (I)V 0 73
 doTest ()V 133 59
 main ([Ljava/lang/String;)V 27 33


########################################
### Other select threads (suspended) ###
########################################
---------
ThreadListTraces Thread 0

---------
ThreadListTraces Thread 2

---------
ThreadListTraces Thread 4

---------
ThreadListTraces Thread 6

---------
ThreadListTraces Thread 8

---------
main

---------
ThreadListTraces Thread 0
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
ThreadListTraces Thread 2
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
ThreadListTraces Thread 4
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
ThreadListTraces Thread 6
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
ThreadListTraces Thread 8
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19

---------
main
 getThreadListStackTraces ([Ljava/lang/Thread;I)[[Ljava/lang/Object; -1 -2
 printList ([Ljava/lang/Thread;I)V 0 66
 doTest ()V 116 52
 main ([Ljava/lang/String;)V 35 37

---------
ThreadListTraces Thread 0
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 35

---------
ThreadListTraces Thread 2
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 35

---------
ThreadListTraces Thread 4
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 35

---------
ThreadListTraces Thread 6
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 35

---------
ThreadListTraces Thread 8
 wait ()V -1 -2
 printOrWait (IILControlData;)V 24 45
 baz (IIILControlData;)Ljava/lang/Object; 2 30
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 baz (IIILControlData;)Ljava/lang/Object; 9 32
 bar (IIILControlData;)J 0 24
 foo (IIILControlData;)I 0 19
 run ()V 4 35

---------
main
 getThreadListStackTraces ([Ljava/lang/Thread;I)[[Ljava/lang/Object; -1 -2
 printList ([Ljava/lang/Thread;I)V 0 66
 doTest ()V 121 54
 main ([Ljava/lang/String;)V 35 37


###################
### Same thread ###
###################
4
JVMTI_ERROR_ILLEGAL_ARGUMENT
[public static native java.lang.Object[] Frames.getFrameLocation(java.lang.Thread,int), ffffffff]
[public static void Frames.doTestSameThread(), 38]
[public static void Frames.doTest() throws java.lang.Exception, 0]
[public static void Main.main(java.lang.String[]) throws java.lang.Exception, 2b]
JVMTI_ERROR_NO_MORE_FRAMES

################################
### Other thread (suspended) ###
################################
18
JVMTI_ERROR_ILLEGAL_ARGUMENT
[public final native void java.lang.Object.wait() throws java.lang.InterruptedException, ffffffff]
[private static void Recurse.printOrWait(int,int,ControlData), 18]
[private static java.lang.Object Recurse.baz(int,int,int,ControlData), 2]
[private static long Recurse.bar(int,int,int,ControlData), 0]
[public static int Recurse.foo(int,int,int,ControlData), 0]
[private static java.lang.Object Recurse.baz(int,int,int,ControlData), 9]
[private static long Recurse.bar(int,int,int,ControlData), 0]
[public static int Recurse.foo(int,int,int,ControlData), 0]
[private static java.lang.Object Recurse.baz(int,int,int,ControlData), 9]
[private static long Recurse.bar(int,int,int,ControlData), 0]
[public static int Recurse.foo(int,int,int,ControlData), 0]
[private static java.lang.Object Recurse.baz(int,int,int,ControlData), 9]
[private static long Recurse.bar(int,int,int,ControlData), 0]
[public static int Recurse.foo(int,int,int,ControlData), 0]
[private static java.lang.Object Recurse.baz(int,int,int,ControlData), 9]
[private static long Recurse.bar(int,int,int,ControlData), 0]
[public static int Recurse.foo(int,int,int,ControlData), 0]
[public void Frames$1.run(), 4]
JVMTI_ERROR_NO_MORE_FRAMES

###########################
### Other thread (live) ###
###########################
17
JVMTI_ERROR_ILLEGAL_ARGUMENT
[private static void Recurse.printOrWait(int,int,ControlData), 2c]
[private static java.lang.Object Recurse.baz(int,int,int,ControlData), 2]
[private static long Recurse.bar(int,int,int,ControlData), 0]
[public static int Recurse.foo(int,int,int,ControlData), 0]
[private static java.lang.Object Recurse.baz(int,int,int,ControlData), 9]
[private static long Recurse.bar(int,int,int,ControlData), 0]
[public static int Recurse.foo(int,int,int,ControlData), 0]
[private static java.lang.Object Recurse.baz(int,int,int,ControlData), 9]
[private static long Recurse.bar(int,int,int,ControlData), 0]
[public static int Recurse.foo(int,int,int,ControlData), 0]
[private static java.lang.Object Recurse.baz(int,int,int,ControlData), 9]
[private static long Recurse.bar(int,int,int,ControlData), 0]
[public static int Recurse.foo(int,int,int,ControlData), 0]
[private static java.lang.Object Recurse.baz(int,int,int,ControlData), 9]
[private static long Recurse.bar(int,int,int,ControlData), 0]
[public static int Recurse.foo(int,int,int,ControlData), 0]
[public void Frames$2.run(), 4]
JVMTI_ERROR_NO_MORE_FRAMES
Done
