harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gregory Shimansky (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-5821) [drlvm] stress test jpda.jdwp.scenario.MIXED001.MixedTest001 FAILED
Date Tue, 13 May 2008 08:18:55 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-5821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gregory Shimansky updated HARMONY-5821:
---------------------------------------

    Estimated Complexity: Advanced
                 Summary: [drlvm] stress test jpda.jdwp.scenario.MIXED001.MixedTest001 FAILED
 (was: [drlvm][jdwp] stress test jpda.jdwp.scenario.MIXED001.MixedTest001 FAILED)

The bug is not related to JDWP or JVMTI. The NPE happens in VM that is performing a role of
debugger (kind of like Eclipse). It is not debugging any application, it is giving commands
over JPDA to the debuggee. So the problem is not related to debugging, it is related to an
execution of a Java application.

The bug looks like an enumeration problem to me. In the calling method MIXED001.MixedTest001.testMixed001
the variable refTypesArray is clearly not null since on the line 390 the code calls refTypesArray.getLength
method and no NPE happens. But in the called method StressTestCase.checkClasses it becomes
null on the line 2082. So enumeration problem is one of the reasons of NPE.

But there may be some different crash in the execution of code at the line 2082. Any crash
in Java code is treated as an NPE, it may be unrelated to the refTypesArray.

> [drlvm] stress test jpda.jdwp.scenario.MIXED001.MixedTest001 FAILED
> -------------------------------------------------------------------
>
>                 Key: HARMONY-5821
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5821
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M6
>         Environment: win32
>            Reporter: Ilya Leviev
>
> stress test jpda.jdwp.scenario.MIXED001.MixedTest001 FAILED due to Unexpected Exception.
> svn = r653525
> log:
> 14:12:49| Test: class org.apache.harmony.test.stress.jpda.jdwp.scenario.MIXED001.MixedTest001
> 		test case(s) to run 1
> 14:12:49| Launching as a server listening on: NSTDRLXW5:2939
> 14:12:49| Launching: C:\cc\cc-suites\build\checkouts\snapshot\hdk\jdk\jre/bin/java -cp
"C:/cc/cc-suites/build/classes/stress/classes;C:/cc/cc-suites/build/results/stress/temp;C:\cc\cc-suites\build\classes\stress\classes;C:\cc\cc-suites\build\classes\stress\lib;C:\cc\cc-suites\build\classes\stress\tools\th.jar;C:\cc\cc-suites\build\checkouts\stress\classlib\trunk\depends\punit\punit.extension\lib\junit-4.3.1.jar;C:\cc\cc-suites\build\checkouts\stress\classlib\trunk\depends\punit\punit\p-unit-0.12.jar;C:\cc\cc-suites\build\checkouts\stress\classlib\trunk\depends\punit\punit.extension\p-unit-extension-0.12.jar;C:\cc\cc-suites\build\checkouts\stress\classlib\trunk\depends\punit\punit.extension\lib\itext-2.0.2.jar;C:\cc\cc-suites\build\checkouts\stress\classlib\trunk\depends\punit\punit.extension\lib\jcommon-1.0.9.jar;C:\cc\cc-suites\build\checkouts\stress\classlib\trunk\depends\punit\punit.extension\lib\jfreechart-1.0.5.jar"
-agentlib:jdwp=transport=dt_socket,address=NSTDRLXW5:2939,server=n -Dvm.assert_dialog=false
-Djpda.settings.verbose=true org.apache.harmony.test.stress.jpda.jdwp.scenario.MIXED001.MixedDebuggee001
> 14:12:49| Start redirectors
> 14:12:49| Redirector started: STDOUT
> 14:12:49| Redirector started: STDERR
> 14:12:49| Accepting connection
> 14:12:50| Established connection
> 14:12:50| Launched debuggee VM process and established connection
> 14:12:50| Received VM_START event
> 14:12:50| Adjusted VM-dependent type lengths
> 14:12:50| ====&gt; testStartTimeMlsec = 1210057969431
> 14:12:50| ====&gt; testTimeout = 1200000
> 14:12:51| ==&gt; testMixed001: START (Tue May 06 14:12:50 GMT+07:00 2008)...
> 14:12:51| ==&gt; Wait for debuggee class load...
> 14:12:52| ==&gt; Debuggee class load - OK.
> 14:12:52| =========&gt; DEBUG info: setupSignalWithWait(): signalWithWaitRequestID
= 2
> 14:12:52| =========&gt; DEBUG info: setupThreadSignalWithWait(): threadSignalWithWaitRequestID
= 3
> 14:12:52| =========&gt; DEBUG info: Resuming Debuggee: Marker = #1...
> 14:12:52| =========&gt; DEBUG info: receiving 'SIGNAL_READY_01' Signal from debuggee...
> 14:12:52| =========&gt; DEBUG info: receiveSignal(): with timeout(mlsecs) = 1197313...
> 14:12:52| --&gt; MixedDebuggee001: START...
> 14:12:52| STDERR&gt; 14:12:52| STDERR&gt; 14:12:52| --&gt; MixedDebuggee001:
freeMemory (bytes) = 14730240
> 14:12:52| STDERR&gt; 14:12:52| ---------&gt; DEBUG info: MixedDebuggee001: sendSignalAndWait(SIGNAL_READY_01)
> 14:12:52| =========&gt; DEBUG info: receiveSignal(): signal = 'READY_01'
> 14:12:52| =========&gt; DEBUG info: received debuggee Signal = READY_01
> 14:12:52| =========&gt; DEBUG info: debuggeeRefTypeID = 1000000439
> 14:12:52| =========&gt; DEBUG info: classesArrayFieldID = 585132184
> 14:12:52| ==&gt; classesArrayFieldValue tag = 91(ARRAY_TAG)
> 14:12:52| =========&gt; DEBUG info: classesArrayID = 1486
> 14:12:52| ==&gt; Send VirtualMachine::AllClasses command BEFORE loading new classes...
> 14:12:52| ==&gt; command running time(mlsecs) = 0
> 14:12:52| =========&gt; DEBUG info: reply.getLength()= 20493
> 14:12:52| ==&gt; Number of reference types BEFORE loading new classes = 414
> 14:12:52| =========&gt; DEBUG info: objectIDsCount = 380
> 14:12:52| 
> 14:12:52| ==&gt; Convert ReferenceTypeIDs to ObjectIDs for received classes...
> 14:12:52| =========&gt; DEBUG info: ObjectIDs[379] = 1403
> 14:12:52| 
> 14:12:52| ==&gt; Convert ReferenceTypeIDs to ObjectIDs for received - DONE
> 14:12:52| 
> 14:12:52| ==&gt; Send ArrayReference::SetValues command...
> 14:12:52| 
> 14:12:52| ==&gt; Send ArrayReference::SetValues command - DONE WITHOUT ERROR
> 14:12:52| =========&gt; DEBUG info: Resuming Debuggee: Marker = #2...
> 14:12:52| 
> 14:12:52| ==&gt; Wait for debuggee to load very big number of new classes...
> 14:12:52| ---------&gt; DEBUG info: MixedDebuggee001: After sendSignalAndWait(SIGNAL_READY_01)
> 14:12:52| 
> 14:12:52| --&gt;  MixedDebuggee001: classesArray after ReferenceArray::SetValues
command:
> 14:12:52| 
> 14:12:52| --&gt; MixedDebuggee001: classesArrayLength = 380
> 14:12:52| 
> 14:12:52| --&gt; MixedDebuggee001: Create arrays...
> 14:12:52| STDERR&gt; 14:12:52| =========&gt; DEBUG info: receiveSignal(): with
timeout(mlsecs) = 1196860...
> 14:12:52| STDERR&gt; 14:12:52| STDERR&gt; 
> 14:12:52| STDERR&gt; 14:12:52| STDERR&gt; 14:12:52| STDERR&gt; 
> 14:12:52| STDERR&gt; 14:12:52| STDERR&gt; 14:12:52| STDERR&gt; 
> 14:12:52| STDERR&gt; 14:12:53| --&gt; MixedDebuggee001: createdArrays = 380
> 14:12:53| ---------&gt; DEBUG info: MixedDebuggee001: sendSignalAndWait(SIGNAL_READY_02)
> 14:12:53| STDERR&gt; 14:12:53| STDERR&gt; 14:12:53| =========&gt; DEBUG info:
receiveSignal(): signal = 'READY_02'
> 14:12:53| 
> 14:12:53| ==&gt; Wait for debuggee to run very big number of threads...
> 14:12:53| =========&gt; DEBUG info: Resuming Debuggee: Marker = #3...
> 14:12:53| =========&gt; DEBUG info: receiveSignal(): with timeout(mlsecs) = 1195860...
> 14:12:53| STDERR&gt; 14:12:53| ---------&gt; DEBUG info: MixedDebuggee001: After
sendSignalAndWait(SIGNAL_READY_02)
> 14:12:53| STDERR&gt; 14:12:53| --&gt; MixedDebuggee001: freeMemory (bytes) =
9704448
> 14:12:53| STDERR&gt; 14:12:53| --&gt; MixedDebuggee001: creating threads... 
> 14:12:53| STDERR&gt; 14:12:53| ---------&gt; DEBUG info: FREE_MEMORY_LIMIT (20000000)
is reached!
> 14:12:53| STDERR&gt; 14:12:53| --&gt; MixedDebuggee001: freeMemory (bytes) after
creating threads = 9704448
> 14:12:53| STDERR&gt; 14:12:53| ---------&gt; DEBUG info: MixedDebuggee001: sendThreadSignalAndWait(SIGNAL_READY_03)
> 14:12:53| =========&gt; DEBUG info: receiveSignal(): signal = 'READY_03'
> 14:12:53| =========&gt; DEBUG info: received debuggee Thread Signal = READY_03
> 14:12:53| =========&gt; DEBUG info: toInvokeMethodID = 585140864
> 14:12:53| ==&gt; Get startedThreadsNumber value from debuggee...
> 14:12:53| ==&gt; startedThreadsNumber = 1
> 14:12:53| ==&gt; Waiting for suspending by event of all started threads...
> 14:12:53| ==&gt; Time(mlsecs) of waiting for suspending of all started threads= 0
> 14:12:53| 
> 14:12:53| ==&gt; Send ClassType.InvokeMethod asynchronous commands (1) without waiting
for reply...
> 14:12:53| ==&gt; Send ClassType.InvokeMethod asynchronous commands - Done
> 14:12:53| ==&gt; Sent commands number = 1
> 14:12:53| ==&gt; Commands sending time(mlsecs) = 16
> 14:12:53| ==&gt; Saving classes..
> 14:12:53| ==&gt; Send VirtualMachine::AllClasses command 
> 14:12:54| ==&gt; command running time(mlsecs) = 125
> 14:12:54| =========&gt; DEBUG info: reply.getLength()= 1466516
> 14:12:54| ==&gt; Number of reference types  19442
> 14:12:54| 
> 14:12:54| ==&gt; Checking information, received from AllClasses command...
> 14:12:54| ==&gt; classes = 19442
> 14:12:55| ==&gt; The longest command duration: 0
> 14:12:55| ==&gt; The longest command checked class: Ljava/lang/VMClassRegistry;
> 14:12:55| ==&gt; The longest loop duration: 0
> 14:12:55| ==&gt; Saving classes PASSED
> 14:12:55| ==&gt; Resuming debuggee main Thread and waiting for loading classes second
time...
> 14:12:55| =========&gt; DEBUG info: Resuming SignalThread: ThreadID = 1164;  Marker
= #5...
> 14:12:55| ==&gt; receiving 'SIGNAL_READY_04' Thread Signal from debuggee...
> 14:12:55| ---------&gt; DEBUG info: MixedDebuggee001: After sendThreadSignalAndWait(SIGNAL_READY_03)
> 14:12:55| --&gt; MixedDebuggee001: load some number of classes...
> 14:12:56| STDERR&gt; 14:12:56| =========&gt; DEBUG info: receiveSignal(): with
timeout(mlsecs) = 1193344...
> 14:12:56| STDERR&gt; 14:12:56| =========&gt; DEBUG info: receiveSignal(): signal
= 'READY_04'
> 14:12:56| STDERR&gt; 14:12:56| --&gt; MixedDebuggee001: freeMemory (bytes) after
loading some number of classes = 9126912
> 14:12:56| ---------&gt; DEBUG info: MixedDebuggee001: sendThreadSignalAndWait(SIGNAL_READY_04)
> 14:12:56| ==&gt; Checking classes...
> 14:12:56| ==&gt; Send VirtualMachine::AllClasses command 
> 14:12:56| STDERR&gt; 14:12:56| ==&gt; command running time(mlsecs) = 110
> 14:12:56| =========&gt; DEBUG info: reply.getLength()= 1651187
> 14:12:56| ==&gt; Number of reference types = 21125
> 14:12:56| 
> 14:12:56| Checking information received from AllClasses command...
> 14:12:56| ## FAILURE: Unexpected Exception:
> 14:12:56| ## StackTrace for java.lang.NullPointerException
> 14:12:56|    org.apache.harmony.test.stress.jpda.jdwp.scenario.share.StressTestCase.checkClasses(StressTestCase.java:2082)
> 14:12:56|    org.apache.harmony.test.stress.jpda.jdwp.scenario.MIXED001.MixedTest001.testMixed001(MixedTest001.java:391)
> 14:12:56|    java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
> 14:12:56|    java.lang.reflect.Method.invoke(Method.java:317)
> 14:12:56|    org.apache.harmony.share.MultiCase.test(MultiCase.java:204)
> 14:12:57|    org.apache.harmony.share.Test.test(Test.java:94)
> 14:12:57|    org.apache.harmony.share.MultiCase.test(MultiCase.java:278)
> 14:12:57|    org.apache.harmony.test.stress.jpda.jdwp.scenario.MIXED001.MixedTest001.main(MixedTest001.java:504)
> 14:12:57| =========&gt; DEBUG info: Terminating Debuggee:  Marker = MARKER_999...
> 14:12:57| STDERR&gt; 14:12:57| ---------&gt; DEBUG info: MixedDebuggee001: After
sendThreadSignalAndWait(SIGNAL_READY_04)
> 14:12:57| --&gt; MixedDebuggee001: Wait for all threads to finish...
> 14:12:57| STDERR&gt; 14:12:57| STDERR&gt; 14:12:57| --&gt; MixedDebuggee001:
All threads finished!
> 14:12:57| STDERR&gt; 14:12:57| --&gt; MixedDebuggee001: freeMemory (bytes) AFTER
all threads finished= 9094144
> 14:12:57| STDERR&gt; 14:12:57| --&gt; MixedDebuggee001: freeMemory (bytes) before
FINISH = 9094144
> 14:12:57| STDERR&gt; 14:12:57| --&gt; MixedDebuggee001: FINISH...
> 14:12:58| ProcessWaiter thread interrupted: java.lang.InterruptedException
> 14:12:58| # ERROR: Enforced debuggee termination
> 14:12:58| ==&gt; testMixed001: FAILED
> 14:12:58| Redirector completed: STDERR
> 14:12:58| Redirector completed: STDOUT
> 14:12:58| Finished debuggee: 1067
> 14:12:58| Finished debuggee VM process and closed connection
> 14:12:58| Testcase: @testMixed001	result is: ==&gt; testMixed001: Unexpected Exception!
 FAILED(105)
> Apache Harmony Launcher : (c) Copyright 1991, 2008 The Apache Software Foundation or
its licensors, as applicable.
> java version "1.5.0" 
> pre-alpha : not complete or compatible
> svn = r653525, (May  6 2008), Windows/ia32/msvc 1310, release build
> http://harmony.apache.org

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message