harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stepan Mishura (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-1522) [classlib][util] unexpected NPE for java.util.AbstractCollection.toString
Date Sat, 23 Sep 2006 04:43:23 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-1522?page=comments#action_12437049 ] 
            
Stepan Mishura commented on HARMONY-1522:
-----------------------------------------

Vladimir, I disagree with your evaluation and the patch. The current Harmony implementation
of java.util.concurrent.CopyOnWriteArraySet is a stub that returns null if iterator() is invoked
(this violates the spec. - it is implied by the spec. that iterator() shouldn't return null).
And on RI  CopyOnWriteArraySet.iterator() returns not null value. So because of that your
test failed on Harmony and passed on RI. The following test demonstrates that RI and Harmony
behave similar (i.e. they don't check if iterator() returns null or not and the test passes
on both implementations).

        AbstractCollection c = new AbstractCollection() {
            public int size() {
                // return not zero to pass is emtpy check
                return 1;
            }

            public Iterator iterator() {
                // this violates the spec.
                return null;
            }
        };

        try {
            c.toString();
            fail("No expected NullPointerException");
        } catch (NullPointerException e) {
        }

I'm going to close this JIRA as not a bug. If you don't agree feel free to raise discussion
on harmony-dev mailing list.

Thanks,
Stepan.


> [classlib][util] unexpected NPE for java.util.AbstractCollection.toString
> -------------------------------------------------------------------------
>
>                 Key: HARMONY-1522
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1522
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Stepan Mishura
>         Attachments: AbstractCollection.patch, AbstractCollectionTest.patch
>
>
> The method java.util.AbstractCollection.toString() throws NPE on Harmony and works OK
on RI.
> =================== test.java =========================
> import java.util.concurrent.CopyOnWriteArraySet;
> public class test {
>     public static void main(String[] args) {
>         System.out.println("cowas = " + new CopyOnWriteArraySet());
>     }
> }
> ===================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System
optimized over throughput (initial strategy singleparpar))
> cowas = []
> C:\tmp\tmp17>C:\harmony\drlvm1.5\build\win_ia32_msvc_debug\deploy\jre\bin\java -Dvm.assert_dialog=false
-cp . -showversion test
> Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or
its licensors, as applicable.
> java version "1.5.0"
> pre-alpha : not complete or compatible
> svn = r448446, (Sep 21 2006), Windows/ia32/msvc 1310, debug build
> http://incubator.apache.org/harmony
> JNI.ExceptionDescribe: java/lang/NullPointerException:
> java/lang/NullPointerException : (null)
>  at java.util.AbstractCollection.toString (AbstractCollection.java: 355)
>  at java.lang.StringBuilder.append (StringBuilder.java: 226)
>  at test.main (test.java: 5)
> Error occured while running starter class: Exception left unhandled before destroying
VM
> JNI.ExceptionDescribe: java/lang/NullPointerException:
> java/lang/NullPointerException : (null)
>  at java.util.AbstractCollection.toString (AbstractCollection.java: 355)
>  at java.lang.StringBuilder.append (StringBuilder.java: 226)
>  at test.main (test.java: 5)
> Error occured in starter class shutdown() method.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message