Regis wrote:
Sian January wrote:
Today's update:

1. HttpURLConnectionTest and HttpsURLConnectionTest fail on some
systems [Test issue - fix available from Regis in HARMONY-6120 but may
not be committed until after M9]
2. org.apache.harmony.archive.tests.java.util.jar.ManifestTest fails
on Windows XP [Fixed in r757150]
3. RMI test failures on Linux [HARMONY-6090, 6091 and 6092 provide a
partial fix to this, but tests still fail intermittently]
4. VM crash in classlib tests on Linux
-org.apache.harmony.luni.tests.java.net.MulticastSocketTest and
org.apache.harmony.xnet.provider.jsse.SSLSocketImplTest
[Regis/Chunrong investigating - possibly caused by removal of hy.nosig
option]
5. Classlib test failures on Vista in
org.apache.harmony.luni.tests.java.net.MulticastSocketTest and
org.apache.harmony.luni.tests.java.net.SocketTest [Firewall issue?]
6. hymem.exe crashes on Vista
7. Various AWT/Swing crashes/ failures
8. Dacapo benchmark failure HARMONY-6041

I have found the cause of this regression, and had a initial patch, but still has 1 test failure in WinFileTest. So I suggest revert r727327 if it blocked M9.




r757150 should be our new base now for testing.


I'm planning to start the vote this Friday as I don't want to let the
code freeze run on forever.  I'm aware that there has been no progress
on the Swing/AWT issues.  I know this is an area for concern in the
project and we should discuss it (in a separate thread?), but if we
have no-one able to work in the area I would prefer to release M9 with
known issues rather than hold it up indefinitely - especially since
the issues are not regressions from previous milestones.  Obviously if
people disagree they can vote -1 or 0.

Thanks,

Sian


2009/3/23 Regis <xu.re...@gmail.com>:
chunrong lai wrote:
I have not discovered the simple reproducible test case.
The stacktrace are listed below.
It is also noted that the test case still pass in Linux systems. It also
run
OK in windows system if without  r727327. So there may be some porting
issue
in the new code.
    [exec] java.lang.IllegalArgumentException
    [exec] at java.util.EventObject.(EventObject.java:47)
[exec] at org.osgi.framework.FrameworkEvent.(FrameworkEvent.java:155)
    [exec] at

org.eclipse.osgi.framework.internal.core.Framework.publishFrameworkEvent(Framework.java:1370)
    [exec] at

org.eclipse.osgi.framework.adaptor.core.BundleFile$ZipBundleFile.checkedOpen(BundleFile.java:183)
    [exec] at

org.eclipse.osgi.framework.adaptor.core.BundleFile$ZipBundleFile.getEntry(BundleFile.java:365)
    [exec] at

org.eclipse.osgi.framework.internal.core.SystemBundleData.createManifest(SystemBundleData.java:59)
    [exec] at

org.eclipse.osgi.framework.internal.core.SystemBundleData.(SystemBundleData.java:31)
    [exec] at

org.eclipse.osgi.framework.adaptor.core.AbstractFrameworkAdaptor.createSystemBundleData(AbstractFrameworkAdaptor.java:548)
    [exec] at

org.eclipse.osgi.framework.internal.core.SystemBundle.(SystemBundle.java:43)
    [exec] at

org.eclipse.osgi.framework.internal.core.Framework.createSystemBundle(Framework.java:215)
    [exec] at

org.eclipse.osgi.framework.internal.core.Framework.initialize(Framework.java:180)
    [exec] at
org.eclipse.osgi.framework.internal.core.Framework.(Framework.java:106)
    [exec] at

org.eclipse.osgi.framework.internal.core.OSGi.createFramework(OSGi.java:90) [exec] at org.eclipse.osgi.framework.internal.core.OSGi.(OSGi.java:31)
    [exec] at

org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:272)
    [exec] at
dacapo.eclipse.EclipseHarness.startup(EclipseHarness.java:82)
    [exec] at
dacapo.eclipse.EclipseHarness.preIteration(EclipseHarness.java:28)
    [exec] at dacapo.Benchmark.run(Benchmark.java:119)
    [exec] at dacapo.TestHarness.runBenchmark(TestHarness.java:302)
    [exec] at dacapo.TestHarness.main(TestHarness.java:242)
    [exec] at Harness.main(Harness.java:5)
    [exec] at
java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
    [exec] at java.lang.reflect.Method.invoke(Method.java:317)
    [exec] at org.apache.harmony.vm.JarRunner.main(JarRunner.java:89)
    [exec] ===== DaCapo eclipse starting =====
    [exec] java.lang.IllegalStateException: Platform not running
    [exec] at

org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:357)
    [exec] at
dacapo.eclipse.EclipseHarness.iterate(EclipseHarness.java:35)
    [exec] at dacapo.Benchmark.run(Benchmark.java:126)
    [exec] at dacapo.TestHarness.runBenchmark(TestHarness.java:302)
    [exec] at dacapo.TestHarness.main(TestHarness.java:242)
    [exec] at Harness.main(Harness.java:5)
    [exec] at
java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
    [exec] at java.lang.reflect.Method.invoke(Method.java:317)
    [exec] at org.apache.harmony.vm.JarRunner.main(JarRunner.java:89)
    [exec] Digest validation failed for stdout.log, expecting
0x46c53f7395877fc376fed4ced7500aa1ac76acdb found
0xda39a3ee5e6b4b0d3255bfef95601890afd80709
    [exec] Digest validation failed for stderr.log, expecting
0xda39a3ee5e6b4b0d3255bfef95601890afd80709 found
0x5952005337aa363540f601f0e5d503c41612fc51
    [exec] ===== DaCapo eclipse FAILED =====


On Wed, Mar 18, 2009 at 10:35 AM, Regis <xu.re...@gmail.com> wrote:

chunrong lai wrote:

 From the snapshot testing results, as I also mentioned in
HARMONY-6041<http://issues.apache.org/jira/browse/HARMONY-6041>,
the commit of r727327
between M8 and M9 breaks one benchmark of Dacapo.eclipse. I think that
we
also need to understand the issue.

Thanks.


I didn't setup Dacapo.eclipse benchmark, so do you have any simple test case to reproduce it or error messages/stack trace? That would be helpful
to
narrow down the problem and fix it. Thanks.

--
Best Regards,
Regis.

Thanks chunrong, I have reproduced it, investigating...

--
Best Regards,
Regis.







patch [1] could fix this regression and pass all luni test except org.apache.harmony.luni.tests.java.io.WinFileTest.test_mkdir() but this test is also failed on RI. The test tried to create a dir with path like "c:\test\.abcd..\dir7", seems it's not a validate path name, and couldn't be accepted by Windows API.

[1]:

Index: modules/portlib/src/main/native/port/windows/hyfile.c
=====================================================================
--- modules/portlib/src/main/native/port/windows/hyfile.c
+++ modules/portlib/src/main/native/port/windows/hyfile.c
@@ -437,46 +437,8 @@ convert_path_to_unicode(struct HyPortLibrary * portLibrary, const char *path,
     canonicalpath = portLibrary->mem_allocate_memory(portLibrary, len+5);

     strcpy(canonicalpath,"\\\\?\\");
-
- for(srcArrayCount=0,destArrayCount=4;srcArrayCount<len;srcArrayCount++){
-        // we have an absolute path already.
-        if(path[srcArrayCount]=='.'){
-            // count the dots following last separator.
-            if(dotsCount>0 || path[srcArrayCount-1]=='\\'){
-                dotsCount++;
-                continue;
-            }
-        }
-        // deal with the dots when we meet next separator.
-        if(path[srcArrayCount]=='\\'){
-            if(dotsCount == 1){
-                dotsCount = 0;
-                continue;
-            }else if (dotsCount > 1){
-                if(slashCount-2<0){
-                    slashCount=2;
-                }
-                destArrayCount=slashStack[slashCount-2];
-                dotsCount = 0;
-                slashCount--;
-            }else{
-                while(canonicalpath[destArrayCount-1] == '.'){
-                    destArrayCount--;
-                }
-                slashStack[slashCount++]=destArrayCount;
-            }
-        }
-        // for normal character.
-        while(dotsCount >0){
-            canonicalpath[destArrayCount++]='.';
-            dotsCount--;
-        }
-        canonicalpath[destArrayCount++]=path[srcArrayCount];
-    }
-    while(canonicalpath[destArrayCount-1] == '.'){
-        destArrayCount--;
-    }
-    canonicalpath[destArrayCount]='\0';
+    strncpy(canonicalpath + 4, path, len);
+    canonicalpath[len + 4] = '\0';

     wlen = MultiByteToWideChar(CP_UTF8, 0, canonicalpath, -1, *pathW, 0);
*pathW = portLibrary->mem_allocate_memory(portLibrary, wlen*sizeof(wchar_t));


--
Best Regards,
Regis.

Reply via email to