My mistake. Sorry. Need to learn to read the diffs L I’ll fix the expected result of the regression test
accordingly.
AFAIK, the unit class uses the NumberFormat.getInstance() and
fraction digits etc. so we are on the safe side, aren’t we?
From: mat-dev-bounces@xxxxxxxxxxx
[mailto:mat-dev-bounces@xxxxxxxxxxx] On Behalf Of Andrew Johnson
Sent: Donnerstag, 24. September 2009 12:38
To: Memory Analyzer Dev list
Subject: Re: [mat-dev] RE: Build failed in Hudson: org.eclipse.mat #250
Thank you for
the explanation. The old and new below are actually reversed and my change was
to use the Units.Storage.of
This change was
for a Findbugs warning: 'int value cast to float and then passed to
Math.round'.
In general
using the DecimalFormat class helps with internationalization, but perhaps we
should be using NumberFormat.getIntegerInstance or
NumberFormat.getPercentInstance setMaximumFractionDigits etc. if we wanted
locales such as Arabic or Thai to work properly.
Andrew Johnson
From:
|
"Buchen,
Andreas" <andreas.buchen@xxxxxxx>
|
To:
|
Memory
Analyzer Dev list <mat-dev@xxxxxxxxxxx>
|
Date:
|
23/09/2009
16:41
|
Subject:
|
[mat-dev]
RE: Build failed in Hudson: org.eclipse.mat #250
|
Sent by:
|
mat-dev-bounces@xxxxxxxxxxx
|
Hi
Andrew,
the
failure is due to another change (sorry that you can still not see that –
the plan is still to move the build server over to Eclipse itself).
What
are we testing there? We run the “regression tests” which is
essentially another report to produce CSV files. The report file is stored
here:
http://dev.eclipse.org/viewcvs/index.cgi/trunk/plugins/org.eclipse.mat.tests/META-INF/tests/regression.xml?root=Technology_MAT&view=markup
In
this particular case, the “info” test case fails, which is
executing the HeapDumpInfoQuery.
What
changed?
Before
private String getUsedHeapInMb(long usedHeapSize)
{
return
Units.Storage.of(usedHeapSize).format(usedHeapSize);
}
and
after
private String getUsedHeapInMb(long usedHeapSize)
{
double roundedHeapSize =
Math.round(usedHeapSize / 10000);
return new DecimalFormat("#,##0.0
M").format(roundedHeapSize / 100); //$NON-NLS-1$
}
I
think before it was returning the size sometimes in GB, sometimes in MB
depending on the size of the heap dump (using the Storage). That is the same
behavior as the overview page – although the method name of course
implies something else… J
To
fix the build, I can mark the new output as the expected output. Do you
remember the reason for the change? The comment on the check-in said something
along the lines of “FindBugs errors”.
About
the TroubleTicketResolver change. We discussed the overloading too. However, we
felt that the API becomes clearer by including the method of resolving the
ticket to the method name itself. If one wants to resolve the ticket by class
loader, one cannot fall back on resolving it by class. (the other way around is
possible though). So we thought a clear distinction is useful.
Andreas.
From:
mat-dev-bounces@xxxxxxxxxxx [mailto:mat-dev-bounces@xxxxxxxxxxx] On Behalf Of Andrew
Johnson
Sent: Dienstag, 22. September 2009 11:10
To: mat-dev@xxxxxxxxxxx
Subject: [mat-dev] Fw: Build failed in Hudson: org.eclipse.mat #250
Is this an expected failure as a result of the ITroubleTickerResolver changes
(and the tests need updating) or a bug?
For the new methods:
public String
resolveByClass(IClass object, IProgressListener listener) throws SnapshotException;
public String
resolveByClassLoader(IClassLoader classLoader, IProgressListener listener) throws SnapshotException;
is it cleaner just to use method overloading?
public String
resolve(IClass object, IProgressListener listener) throws
SnapshotException;
public String
resolve(IClassLoader classLoader, IProgressListener listener) throws SnapshotException;
Andrew Johnson
----- Forwarded by Andrew Johnson/UK/IBM on 22/09/2009 09:35 -----
From:
|
andreas.buchen@xxxxxxx
|
To:
|
erwin.margewitsch@xxxxxxx,
krum.tsvetkov@xxxxxxx, elena.nayashkova@xxxxxxx, Andrew Johnson/UK/IBM@IBMGB
|
Date:
|
10/09/2009
10:37
|
Subject:
|
Build
failed in Hudson: org.eclipse.mat #250
|
See <http://wsi6433:8080/hudson/job/org.eclipse.mat/250/changes>
Changes:
[ktsvetkov] Changes to the ITroubleTicketResolver interface
[enayashko] fixed typo
------------------------------------------
[...truncated 24891 lines...]
[java] OUTPUT>Task: [17] Dominator Tree calculation 0 ms
[java] OUTPUT>Task: [18] Depth-first search 0 ms
[java] OUTPUT>Task: [19] Computing dominators 16 ms
[java] OUTPUT>Task: [20] Calculate retained sizes 15 ms
[java] OUTPUT>Task: [21] Create dominators index file 94 ms
[java] OUTPUT>Task: [22] Test 'info' of section 'Regression
Tests' 203 ms
[java] OUTPUT>Task: [23] Test 'System Properties' of section
'Regression Tests' 31 ms
[java] OUTPUT>Task: [24] Test 'Class Histogram' of section
'Regression Tests' 203 ms
[java] OUTPUT>Task: [25] Test 'Class Loader Histogram' of
section 'Regression Tests' 0 ms
[java] OUTPUT>Task: [26] Test 'Dominator Tree' of section
'Regression Tests' 250 ms
[java] OUTPUT>Task: [27] Test 'Dominator Tree (binary)' of
section 'Regression Tests' 16 ms
[java] OUTPUT>Task: [28] Test 'List 1000 Strings' of section
'Regression Tests' 125 ms
[java] OUTPUT>Task: [29] Test 'Paths from GC Roots' of section
'Regression Tests' 31 ms
[java] OUTPUT>Task: [30] Test 'Merged Paths from GC Roots' of
section 'Regression Tests' 0 ms
[java] OUTPUT>Task: [31] Test 'Immediate Dominators of
java.util.HashMap$Entry' of section 'Regression Tests' 16 ms
[java] OUTPUT>Task: [32] Test 'Thread Overview' of section
'Regression Tests' 47 ms
[java] Unzip: unziping test result file
C:\dumps\_regtest\sample\solaris_sun_1.5.0_15_jmap_Regression_Tests.zip
[java]
-------------------------------------------------------------------
[java] Comparing: Class_Histogram
[java] Comparing: Class_Loader_Histogram
[java] Comparing: Dominator_Tree
[java] Comparing: Immediate_Dominators_of_java.util.HashMap$Entry
[java] Comparing: info
[java] ERROR: (info) Files have different lengths
[java] Comparing: List_1000_Strings
[java] Comparing: Merged_Paths_from_GC_Roots
[java] Comparing: Paths_from_GC_Root
[java] Comparing: solaris_sun_1.5.0_15_jmap.Dom_tree
[java] Comparing: System_Properties
[java] Comparing: Thread_Overview
[java] Cleanup: Cleaning the indexes and old result files for
solaris_sun_1.6.0_06_jconsole.hprof
[java] Starting:
[java] C:\Program Files (x86)\SAP\SAP JVM 5 (cons
i486 opt)\jre\bin\java
[java] -Xmx1g
[java] -jar
[java] c:\build\space\org.eclipse\trunk\_tests\eclipse\plugins\org.eclipse.equinox.launcher_1.0.200.v20090520.jar
[java] -install
[java]
file:/C:/build/space/org.eclipse/trunk/_tests/eclipse/
[java] -configuration
[java] file:/C:/build/space/org.eclipse/trunk/_tests/eclipse/configuration/
[java] -data
[java]
file:/C:/build/space/org.eclipse/trunk/_tests/ws/
[java] -application
[java] org.eclipse.mat.tests.application
[java] -parse
[java] C:\dumps\_regtest\sample\solaris_sun_1.6.0_06_jconsole.hprof
[java] org.eclipse.mat.tests:regression
[java] OUTPUT>Task: [01] Parsing DUMP.hprof 0 ms
[java] OUTPUT>Task: [02] Parsing DIR\DUMP.hprof 0 ms
[java] OUTPUT>Heap
C:\dumps\_regtest\sample\solaris_sun_1.6.0_06_jconsole.hprof contains 28,756
objects
[java] OUTPUT>Task: [03] Scanning DIR\DUMP.hprof 359 ms
[java] OUTPUT>Task: [04] Extracting objects from DIR\DUMP.hprof
297 ms
[java] OUTPUT>Task: [05] Removing unreachable objects 0 ms
[java] OUTPUT>Task: [06] Searching for unreachable objects 63
ms
[java] OUTPUT>Task: [07] Re-indexing objects 15 ms
[java] OUTPUT>Task: [08] Re-indexing classes 0 ms
[java] OUTPUT>Task: [09] Writing DIR\DUMP.idx.index 0 ms
[java] OUTPUT>Task: [10] Writing DIR\DUMP.o2c.index 16 ms
[java] OUTPUT>Task: [11] Writing DIR\DUMP.a2s.index 15 ms
[java] OUTPUT>Task: [12] Re-indexing outbound index 47 ms
[java] OUTPUT>Task: [13] Writing DIR\DUMP.inbound.index 94 ms
[java] OUTPUT>Task: [14] Writing DIR\DUMP.outbound.index 16 ms
[java] OUTPUT>Task: [15] Writing DIR\DUMP.o2hprof.index 234 ms
[java] OUTPUT>Task: [16] Calculating Dominator Tree 0 ms
[java] OUTPUT>Task: [17] Dominator Tree calculation 0 ms
[java] OUTPUT>Task: [18] Depth-first search 31 ms
[java] OUTPUT>Task: [19] Computing dominators 47 ms
[java] OUTPUT>Task: [20] Calculate retained sizes 47 ms
[java] OUTPUT>Task: [21] Create dominators index file 141 ms
[java] OUTPUT>Task: [22] Test 'info' of section 'Regression
Tests' 218 ms
[java] OUTPUT>Task: [23] Test 'System Properties' of section
'Regression Tests' 16 ms
[java] OUTPUT>Task: [24] Test 'Class Histogram' of section
'Regression Tests' 656 ms
[java] OUTPUT>Task: [25] Test 'Class Loader Histogram' of
section 'Regression Tests' 47 ms
[java] OUTPUT>Task: [26] Test 'Dominator Tree' of section
'Regression Tests' 547 ms
[java] OUTPUT>Task: [27] Test 'Dominator Tree (binary)' of
section 'Regression Tests' 109 ms
[java] OUTPUT>Task: [28] Test 'List 1000 Strings' of section
'Regression Tests' 172 ms
[java] OUTPUT>Task: [29] Test 'Paths from GC Roots' of section
'Regression Tests' 47 ms
[java] OUTPUT>Task: [30] Test 'Merged Paths from GC Roots' of
section 'Regression Tests' 16 ms
[java] OUTPUT>Task: [31] Test 'Immediate Dominators of
java.util.HashMap$Entry' of section 'Regression Tests' 31 ms
[java] OUTPUT>Task: [32] Test 'Thread Overview' of section
'Regression Tests' 109 ms
[java] Unzip: unziping test result file
C:\dumps\_regtest\sample\solaris_sun_1.6.0_06_jconsole_Regression_Tests.zip
[java]
-------------------------------------------------------------------
[java] Comparing: Class_Histogram
[java] Comparing: Class_Loader_Histogram
[java] Comparing: Dominator_Tree
[java] Comparing: Immediate_Dominators_of_java.util.HashMap$Entry
[java] Comparing: info
[java] ERROR: (info) Files have different lengths
[java] Comparing: List_1000_Strings
[java] Comparing: Merged_Paths_from_GC_Roots
[java] Comparing: Paths_from_GC_Root
[java] Comparing: solaris_sun_1.6.0_06_jconsole.Dom_tree
[java] Comparing: System_Properties
[java] Comparing: Thread_Overview
[java] Cleanup: Cleaning the indexes and old result files for
sun_jdk5_64bit.hprof
[java] Starting:
[java] C:\Program Files (x86)\SAP\SAP JVM 5 (cons
i486 opt)\jre\bin\java
[java] -Xmx1g
[java] -jar
[java]
c:\build\space\org.eclipse\trunk\_tests\eclipse\plugins\org.eclipse.equinox.launcher_1.0.200.v20090520.jar
[java] -install
[java] file:/C:/build/space/org.eclipse/trunk/_tests/eclipse/
[java] -configuration
[java]
file:/C:/build/space/org.eclipse/trunk/_tests/eclipse/configuration/
[java] -data
[java]
file:/C:/build/space/org.eclipse/trunk/_tests/ws/
[java] -application
[java] org.eclipse.mat.tests.application
[java] -parse
[java] C:\dumps\_regtest\sample\sun_jdk5_64bit.hprof
[java] org.eclipse.mat.tests:regression
[java] OUTPUT>Task: [01] Parsing DUMP.hprof 0 ms
[java] OUTPUT>Task: [02] Parsing DIR\DUMP.hprof 0 ms
[java] OUTPUT>Heap
C:\dumps\_regtest\sample\sun_jdk5_64bit.hprof contains 3,865 objects
[java] OUTPUT>Task: [03] Scanning DIR\DUMP.hprof 219 ms
[java] OUTPUT>Task: [04] Extracting objects from DIR\DUMP.hprof
93 ms
[java] OUTPUT>Task: [05] Removing unreachable objects 0 ms
[java] OUTPUT>Task: [06] Searching for unreachable objects 16
ms
[java] OUTPUT>Task: [07] Re-indexing objects 0 ms
[java] OUTPUT>Task: [08] Re-indexing classes 0 ms
[java] OUTPUT>Task: [09] Writing DIR\DUMP.idx.index 16 ms
[java] OUTPUT>Task: [10] Writing DIR\DUMP.o2c.index 0 ms
[java] OUTPUT>Task: [11] Writing DIR\DUMP.a2s.index 31 ms
[java] OUTPUT>Task: [12] Re-indexing outbound index 16 ms
[java] OUTPUT>Task: [13] Writing DIR\DUMP.inbound.index 31 ms
[java] OUTPUT>Task: [14] Writing DIR\DUMP.outbound.index 15 ms
[java] OUTPUT>Task: [15] Writing DIR\DUMP.o2hprof.index 141 ms
[java] OUTPUT>Task: [16] Calculating Dominator Tree 0 ms
[java] OUTPUT>Task: [17] Dominator Tree calculation 0 ms
[java] OUTPUT>Task: [18] Depth-first search 0 ms
[java] OUTPUT>Task: [19] Computing dominators 31 ms
[java] OUTPUT>Task: [20] Calculate retained sizes 0 ms
[java] OUTPUT>Task: [21] Create dominators index file 110 ms
[java] OUTPUT>Task: [22] Test 'info' of section 'Regression
Tests' 203 ms
[java] OUTPUT>Task: [23] Test 'System Properties' of section
'Regression Tests' 31 ms
[java] OUTPUT>Task: [24] Test 'Class Histogram' of section
'Regression Tests' 234 ms
[java] OUTPUT>Task: [25] Test 'Class Loader Histogram' of
section 'Regression Tests' 0 ms
[java] OUTPUT>Task: [26] Test 'Dominator Tree' of section
'Regression Tests' 250 ms
[java] OUTPUT>Task: [27] Test 'Dominator Tree (binary)' of
section 'Regression Tests' 32 ms
[java] OUTPUT>Task: [28] Test 'List 1000 Strings' of section
'Regression Tests' 156 ms
[java] OUTPUT>Task: [29] Test 'Paths from GC Roots' of section
'Regression Tests' 16 ms
[java] OUTPUT>Task: [30] Test 'Merged Paths from GC Roots' of
section 'Regression Tests' 0 ms
[java] OUTPUT>Task: [31] Test 'Immediate Dominators of
java.util.HashMap$Entry' of section 'Regression Tests' 15 ms
[java] OUTPUT>Task: [32] Test 'Thread Overview' of section
'Regression Tests' 47 ms
[java] Unzip: unziping test result file
C:\dumps\_regtest\sample\sun_jdk5_64bit_Regression_Tests.zip
[java]
-------------------------------------------------------------------
[java] Comparing: Class_Histogram
[java] Comparing: Class_Loader_Histogram
[java] Comparing: Dominator_Tree
[java] Comparing: Immediate_Dominators_of_java.util.HashMap$Entry
[java] Comparing: info
[java] ERROR: (info) Files have different lengths
[java] Comparing: List_1000_Strings
[java] Comparing: Merged_Paths_from_GC_Roots
[java] Comparing: Paths_from_GC_Root
[java] Comparing: sun_jdk5_64bit.Dom_tree
[java] Comparing: System_Properties
[java] Comparing: Thread_Overview
[java] Cleanup: Cleaning the indexes and old result files for
sun_jdk6_32bit.hprof
[java] Starting:
[java] C:\Program Files (x86)\SAP\SAP JVM 5 (cons
i486 opt)\jre\bin\java
[java] -Xmx1g
[java] -jar
[java]
c:\build\space\org.eclipse\trunk\_tests\eclipse\plugins\org.eclipse.equinox.launcher_1.0.200.v20090520.jar
[java] -install
[java]
file:/C:/build/space/org.eclipse/trunk/_tests/eclipse/
[java] -configuration
[java]
file:/C:/build/space/org.eclipse/trunk/_tests/eclipse/configuration/
[java] -data
[java] file:/C:/build/space/org.eclipse/trunk/_tests/ws/
[java] -application
[java] org.eclipse.mat.tests.application
[java] -parse
[java] C:\dumps\_regtest\sample\sun_jdk6_32bit.hprof
[java] org.eclipse.mat.tests:regression
[java] OUTPUT>Task: [01] Parsing DUMP.hprof 0 ms
[java] OUTPUT>Task: [02] Parsing DIR\DUMP.hprof 0 ms
[java] OUTPUT>Heap
C:\dumps\_regtest\sample\sun_jdk6_32bit.hprof contains 16,199 objects
[java] OUTPUT>Task: [03] Scanning DIR\DUMP.hprof 344 ms
[java] OUTPUT>Task: [04] Extracting objects from DIR\DUMP.hprof
250 ms
[java] OUTPUT>Task: [05] Removing unreachable objects 0 ms
[java] OUTPUT>Task: [06] Searching for unreachable objects 47
ms
[java] OUTPUT>Task: [07] Re-indexing objects 0 ms
[java] OUTPUT>Task: [08] Re-indexing classes 0 ms
[java] OUTPUT>Task: [09] Writing DIR\DUMP.idx.index 16 ms
[java] OUTPUT>Task: [10] Writing DIR\DUMP.o2c.index 15 ms
[java] OUTPUT>Task: [11] Writing DIR\DUMP.a2s.index 16 ms
[java] OUTPUT>Task: [12] Re-indexing outbound index 94 ms
[java] OUTPUT>Task: [13] Writing DIR\DUMP.inbound.index 109 ms
[java] OUTPUT>Task: [14] Writing DIR\DUMP.outbound.index 16 ms
[java] OUTPUT>Task: [15] Writing DIR\DUMP.o2hprof.index 218 ms
[java] OUTPUT>Task: [16] Calculating Dominator Tree 0 ms
[java] OUTPUT>Task: [17] Dominator Tree calculation 0 ms
[java] OUTPUT>Task: [18] Depth-first search 16 ms
[java] OUTPUT>Task: [19] Computing dominators 47 ms
[java] OUTPUT>Task: [20] Calculate retained sizes 31 ms
[java] OUTPUT>Task: [21] Create dominators index file 125 ms
[java] OUTPUT>Task: [22] Test 'info' of section 'Regression
Tests' 203 ms
[java] OUTPUT>Task: [23] Test 'System Properties' of section
'Regression Tests' 31 ms
[java] OUTPUT>Task: [24] Test 'Class Histogram' of section
'Regression Tests' 579 ms
[java] OUTPUT>Task: [25] Test 'Class Loader Histogram' of
section 'Regression Tests' 31 ms
[java] OUTPUT>Task: [26] Test 'Dominator Tree' of section
'Regression Tests' 500 ms
[java] OUTPUT>Task: [27] Test 'Dominator Tree (binary)' of
section 'Regression Tests' 78 ms
[java] OUTPUT>Task: [28] Test 'List 1000 Strings' of section
'Regression Tests' 141 ms
[java] OUTPUT>Task: [29] Test 'Paths from GC Roots' of section
'Regression Tests' 31 ms
[java] OUTPUT>Task: [30] Test 'Merged Paths from GC Roots' of
section 'Regression Tests' 15 ms
[java] OUTPUT>Task: [31] Test 'Immediate Dominators of
java.util.HashMap$Entry' of section 'Regression Tests' 32 ms
[java] OUTPUT>Task: [32] Test 'Thread Overview' of section
'Regression Tests' 93 ms
[java] Unzip: unziping test result file
C:\dumps\_regtest\sample\sun_jdk6_32bit_Regression_Tests.zip
[java]
-------------------------------------------------------------------
[java] Comparing: Class_Histogram
[java] Comparing: Class_Loader_Histogram
[java] Comparing: Dominator_Tree
[java] Comparing: Immediate_Dominators_of_java.util.HashMap$Entry
[java] Comparing: info
[java] ERROR: (info) Files have different lengths
[java] Comparing: List_1000_Strings
[java] Comparing: Merged_Paths_from_GC_Roots
[java] Comparing: Paths_from_GC_Root
[java] Comparing: sun_jdk6_32bit.Dom_tree
[java] Comparing: System_Properties
[java] Comparing: Thread_Overview
[java] -------------------------------------------------------------------
[java] Report is generated in: C:\dumps\_regtest\result.xml
[java]
-------------------------------------------------------------------
[java] java.io.IOException: Tests failed with errors.
[java]
at
org.eclipse.mat.tests.regression.TestApplication.run(TestApplication.java:197)
[java]
at
org.eclipse.mat.tests.regression.Application.launchTestApp(Application.java:87)
[java]
at org.eclipse.mat.tests.regression.Application.start(Application.java:60)
[java]
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
[java]
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
[java]
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
[java]
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
[java]
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
[java]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java]
at java.lang.reflect.Method.invoke(Method.java:585)
[java]
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
[java]
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
[java]
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
[java]
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
BUILD FAILED
c:\build\space\org.eclipse\trunk\org.eclipse.mat.releng\build.xml:321: Java
returned: -1
Total time: 10 minutes 19 seconds
Archiving artifacts
Recording test results
Unless
stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
_______________________________________________
mat-dev mailing list
mat-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mat-dev
Unless stated
otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU