Fighting Old JIRA Issues
This is a page for fighting old JIRA issues, any value-add are welcome:)
Guideline
- For old issues (over a month???), verify whether it's still an issue with the latest code and note this with a JIRA comment.
- Put comment to the jira issue when you start work on it.
- For issues without patch, dive into and post a patch if possible. And another comment if you can't provide a patch for some reason.
- If you're posting an enhancement, post a patch that enhances the tests and make sure they pass on an RI.
- If you're posting a fix, post a patch that includes a regression test.
- If there's a particular JIRA issue that you would like fixed and a patch already exists, try applying the patch yourself, verify it and then add a comment supporting the patch.
- If the JIRA/patch is debatable for any reasons (non-bug difference, break others, any other concerns...), don't hesitate to forward it to dev-list for discussion.
Process
- Verify all these old issues to find out whether it's still an issue with the latest code.
- Post a comment if it is no longer an issue.
- If it is still an issue:
- Post a patch for those without patch till now if possible.
- For those already have patches, verify the reason why it was ignored, and then
- Enrich testcase if caused by lack of test.
- Supply another patch if the patch is out of date.
- Add comments to support it if the patch is ok.
Volunteers
Tony Wu is in JIRA 1116 1114 1103 1082 985 953 882
Spark Shen is in JIRA 1367 866 855 839 780 944 1244
Issue List
JIRA ISSUE |
DESCRIPTION |
|
[classlib][net]Refine native code interface of setSocketOption |
||
[classlib][luni] HttpsURLConnection enhancement allowing work over HTTP proxy server |
||
[classlib][util] unexpected ClassCastException for Collections.binarySearch(..) |
||
[classlib][text] Bidi(AttributedCharacterIterator) throws ArrayIndexOutOfBoundsException on RI and works OK on Harmony |
||
[classlib][nio charset] Charset.forName() returns different value vs Charset.availableCharsets() |
||
[classlib][text] unexpected ParseException for new RuleBasedCollator("'n'") |
||
[classlib][text] unexpected IllegalArgumentException for RuleBasedCollator.getCollationElementIterator((String)null) |
||
[classlib][text] compatibility: NumberFormat.getCurrency() returns string on RI and null on Harmony for incorrect locale |
||
[classlib][net] no URISyntaxException for URI(null, ":2:3:4:5:6:7:8", "/", null) |
||
[classlib][lang-management] MemoryUsage.from(CompositeData) allows invalid "init" values |
||
[classlib][math] exception compatibility BigDecimal.valueOf(0L, -22).shortValueExact() |
|
|
[classlib][text] AttributedString.addAttribute(null, ...) throws nothing while RI throws NPE |
||
[classlib][nio] unexpected "Memory Spy! Fixed attempt to free memory that was not allocated PlatformAddress[xxx]" messages |
||
[classlib][text] unexpected MissingResourceException for new DecimalFormat("#######0.0000") |
||
[classlib][io] BufferedWriter.write() exception behavior differ from RI |
||
[classlib][jndi] no InvalidNameException for CompoundName.addAll() |
||
[classlib][luni]Compatibility: java.net.URL new URL("ss", null, -3, null) throws MalformedURLException while RI throws NPE |
||
[classlib][kernel] Harmony+j9 throws NPE while Harmony+drlvm and RI throws IndexOutOfBoundsException for SecureClassLoader.defineClass() |
||
[classlib][net] compatibility: method URLStreamHandler().parseURL() throws SecurityException on RI and works silently on Harmony. |
|
|
[classlib][net] compatibility: Harmony constructor URI(String * 5) throws URISyntaxExceptionwhile RI does not |
||
[classlib][net] unexpected URISyntaxException for URI.parseServerAuthority() |
||
[classlib][net] Harmony implementation of SocketImpl.getFileDescriptor() return real object, but RI return null |
||
[classlib][text] Bidi.getLength() result differs from RI when flag > 61 |
||
[classlib][lang] unexpected IllegalArgumentException for String(byte[], int, int, String) |
||
[classlib][text] ChoiceFormat(String) pattern parser differs from RI |
||
[classlib][io] compatibility: different exception order for FileInputStream("log").read(null, -1, 1) |
||
[classlib][io] java.io.SequenceInputStream(InputStream, null) throws unexpected NPE |
||
[classlib][io] compatibility: different checks order for DataInputStream(null).readFully(byte[], int, int) |
||
[classlib][io]compatibility:java.io.BufferedOutputStream.write(byte[], int, int) throws ArrayIndexOutOfBoundsException while RI throws NullPointerException |
||
[classlib][math]exception compatibility: new BigInteger(Integer.MAX_VALUE, (Random)null) |
||
Difference in behaviour of java.util.Date(int year, int month, int date) with large negative third parameter |
||
Formatting doubles: different behaviour with RI |
||
[classlib][luni] bug-to-bug compatibility java.util.Formatter.Formatter(Appendable a) |
||
Portlib should be extended to support NIO's mmap funtions |
||
[classlib][text] java.text.BreakIterator.getInt(byte[], Integer.MAX_VALUE) does not throw ArrayIndexOutOfBoundsException |
||
[classlib][text] compatibility: Harmony Collator.getDecomposition() returns 0 whie RI returns 1 |
||
[classlib][text] compatibility: java.text.Collator.compare(null,null) returns true while RI throws NPE |
||
[classlib][text] unexpected NPE for MessageFormat("rr", null).hashCode() |
||
[classlib][lang] compatibility: ClassLoader.getSystemResource(null) returns null while RI throws NPE |
||
[classlib][lang] unexpected IllegalCharsetNameException for new String(bye[], int, int, "zzz\\"); |
||
[classlib][net] java.net.URL((URL) null, String, handler) does not throw MalformedURLException for unknown protocol |
||
[classlib][net] java.net.DatagramSocket(null).getBroadcast() returns different values for harmony vs RI |
||
[classlib][net] compatibility: incorrect default port number for new DatagramPacket(new byte[], int) |
||
[classlib][lang] compatibility: Harmony method ClassLoader.getResource(null) returns null while RI throws NPE |
||
[classlib][lang]API+j9 unexpected ClassFormatError for the method ClassLoader.defineClass(name, array, 4, -2); |
||
Arrays.binarySearch should always return -1on empty array |
||
Exception throwing compatibility: java.util.Scanner.nextInt(int radix) |
||
Some java.uiti.Collections methods do not throw unspecified NPE while RI does |
||
WeakHashMap(Map arg) throws NPE if arg.entrySet() returns null |
||
[classlib][lang] unexpected IllegalCharsetNameException for ByteArrayOutputStream().toString("~]?-??-?"); |
||
[classlib][io] unexpected result for java.io.File.compareTo(File) method |
||
[classlib][util] unexpected ClassCastException for java.util.TreeMap.put(Object, new Object) |
||
java.lang.Doulbe.parseDouble(String) does not support Hex number |
||
[classlib][logging] unexpected NPE for XMLFormatter().getHead((Handler) null) |
||
[classlib][lang]Compatibility: Harmony Runtime.removeShutdownHook(null) does not throw unspecified NPE while RI does. |
||
[classlib] hytty_printf("%d", -1) outputs "01" |
||
[classlib][luni] HttpURLConnection does not support persistent connections |
||
java.io.File doesn't properly work with the file names which have non-latin chars |
||
File.listFiles returns empty list but should return null |
||
NullPointerException in java.text.DecimalFormat.getCurrency() |
||
Endless loop when using Double.parseDouble(String) with certain types of value |
||
java.nio.charset.Charset.encode(CharBuffer) returns bytes in a different order in Harmony and RI for the UTF-16 charset |
||
Using java.io.File.deleteOnExit() and System.runFinalizersOnExit(true) in the same application causes crash on exit. |
||
java.text.BreakIterator.following() incorrectly calculates the following boundary |
||
ICU - characters 0x0384 and 0xB7 are unmapped in ICU implementation of ISO8859-7 |
||
text/BidiWrapper issue? |
||
java.nio.charset.Charset.forName(String name) does not throw UnsupportedCharsetException if valid name starts with "x-" |
||
java.text.BreakIterator.getSentenceInstance().next() treats '\n' as the end of the sentence |
||
java.text.Collator.setDecomposition(FULL_DECOMPOSITION) throws IllegalArgumentException |