I tested JPDA with JDE (http://sunsite.auc.dk/jde, jde-2.1.6beta13) on
the Sun/Inprise release and on the (unreleased) Blackdown
jdk-1.2.2-RC4.  Neither variant worked.

On Sun/Inprise, the vm initialization failed and there was no output.

On Blackdown/RC4, initialization succeeded but the application vm
crashed before hitting the break at Main.  The JDE interaction buffer,
Debugger output and thread dump follow:

The test program is HelloWorld:

public class Test extends Object
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World" );
    }
}

I plan on chasing down the RC4 problem, but I don't expect it will be
easy.  Anyone who wants to jump on this bandwagon ... welcome. :-)

-pmr


*JDebug*

java -classpath /projects/jde/java/lib/jde.jar:/data/pmr/java/jdk/lib/jpda.jar 
jde.debugger.Main


(jde-dbo-init-debug-session)

JDE> -1 2 launch 2 -use_executable java -classpath /home/pmr/test -Xms16m -Xmx96m Test 



(jde-dbo-message
2 "Launched VM Java Debug Interface (Reference Implementation) version 1.3 
Java Debug Wire Protocol (Reference Implementation) version 1.0
JVM Debug Interface version 1.0
JVM version 1.2.2 (Classic VM, build Linux_JDK_1.2.2_RC4, green threads, nojit)")


(jde-dbo-command-result 2 3902)

JDE> 2 3 run



(jde-dbo-command-result 3)


(jde-dbo-event-set
2 "all"
(list "Thread" 1 "main" "waiting on monitor" "suspended by debugger")
(list 'jde-dbo-vm-start-event))


(jde-dbo-message 2 "Application I/O closed")


(jde-dbo-error 2 "Input error; application I/O closed")


(jde-dbo-message 2 "Application I/O closed")

Reaped pid = 14171, status = 1

(jde-dbo-event-set 2 "none" nil
(list 'jde-dbo-vm-disconnected-event))


*** Debugger Output for Process Test(2) ***

Launched VM Java Debug Interface (Reference Implementation) version 1.3 
Java Debug Wire Protocol (Reference Implementation) version 1.0
JVM Debug Interface version 1.0
JVM version 1.2.2 (Classic VM, build Linux_JDK_1.2.2_RC4, green threads, nojit)
Launching vm to run Test
Running Test.
vm started...
All threads suspended...
Application I/O closed
Input error; application I/O closed
Application I/O closed
vm disconnected...


*** Thread Dump ***

OUCH: nested memory code, to 1 levels.
SIGABRT   6*   abort (generated by abort(3) routine, also SIGIOT)
        stackpointer=0xbfffe2f4
OUCH: nested memory code, to 1 levels.

Full thread dump Classic VM (Linux_JDK_1.2.2_RC4, green threads):
    "JDWP Command Reader" (TID:0x4122c710, sys_thread_t:0x81979b0, state:CW) prio=5
    "JDWP Event Helper Thread" (TID:0x4122c570, sys_thread_t:0x8196088, state:CW) 
prio=5
    "JDWP Transport Listener: dt_socket" (TID:0x4122c590, sys_thread_t:0x81930e8, 
state:CW) prio=5
    "Finalizer" (TID:0x41227320, sys_thread_t:0x8122840, state:CW) prio=8
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:112)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
    "Reference Handler" (TID:0x412273b0, sys_thread_t:0x811dce8, state:CW) prio=10
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:424)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
    "Signal dispatcher" (TID:0x412273e0, sys_thread_t:0x811a488, state:CW) prio=5
    "main" (TID:0x412271e0, sys_thread_t:0x804c6c0, state:R) prio=5
        at java.lang.ClassLoader.findBootstrapClass(Native Method)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:285)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:283)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:275)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Monitor Cache Dump:
    java.lang.ref.Reference$Lock@412273C0/4155CB20: <unowned>
        Waiting to be notified:
            "Reference Handler" (0x811dce8)
    java.lang.Class@4122C548/415823A8: owner "main" (0x804c6c0) 1 entry
    java.lang.ref.ReferenceQueue$Lock@41227338/4155D028: <unowned>
        Waiting to be notified:
            "Finalizer" (0x8122840)
    sun.misc.Launcher$ExtClassLoader@4122BE70/4157FA68: owner "main" (0x804c6c0) 1 
entry
    sun.misc.Launcher$AppClassLoader@4122C240/415815F8: owner "main" (0x804c6c0) 3 
entries
Registered Monitor Dump:
    JDWP Command Queue Lock: <unowned>
        Waiting to be notified:
            "JDWP Transport Listener: dt_socket" (0x81930e8)
    JDWP Event Helper Completion Monitor: <unowned>
    JDWP Event Helper Queue Monitor: <unowned>
        Waiting to be notified:
            "JDWP Event Helper Thread" (0x8196088)
    JDWP Event Handler Lock: <unowned>
    JDWP Transport Send Monitor: <unowned>
    JDWP Transport Listener Monitor: <unowned>
    JDWP Initialization Monitor: <unowned>
    JDWP Invocation Lock: <unowned>
    JDWP Step Handler Lock: <unowned>
    JDWP Thread Lock: <unowned>
    JDWP Reference Table Monitor: <unowned>
    JDWP Alloc Lock: <unowned>
    utf8 hash table: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "main" (0x804c6c0) 1 entry
    Dynamic loading lock: <unowned>
    Monitor IO lock: <unowned>
    User signal monitor: <unowned>
        Waiting to be notified:
            "Signal dispatcher" (0x811a488)
    Child death monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
        Waiting to be notified:
            <unknown thread> (0x8056b20)
    Thread queue lock: owner "main" (0x804c6c0) 1 entry
    Monitor registry: owner "main" (0x804c6c0) 1 entry

OUCH: nested memory code, to 1 levels.
OUCH: nested memory code, to 1 levels.

Process Test(2) CLI exited abnormally with code 256

Reply via email to