You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Oliver Deakin (JIRA)" <ji...@apache.org> on 2010/03/26 12:04:27 UTC
[jira] Created: (HARMONY-6483) [classlib][luni] No
IllegalArgumentException thrown by PutField.write() when writing to the
wrong stream
[classlib][luni] No IllegalArgumentException thrown by PutField.write() when writing to the wrong stream
--------------------------------------------------------------------------------------------------------
Key: HARMONY-6483
URL: https://issues.apache.org/jira/browse/HARMONY-6483
Project: Harmony
Issue Type: Bug
Components: Classlib
Reporter: Oliver Deakin
Running the following test:
import java.io.*;
import java.io.ObjectOutputStream.PutField;
class Test2 {
public static void main(String[] args) throws Exception {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("testfile")));
oos.writeObject(new OutputObject());
}
static class OutputObject implements Serializable {
private void writeObject(ObjectOutputStream oos) throws IOException {
ObjectOutputStream oos2 = new ObjectOutputStream(new FileOutputStream(new File("testfile2")));
ObjectOutputStream.PutField putField = oos.putFields();
putField.write(oos2);
}
}
}
on the RI produces:
Exception in thread "main" java.lang.IllegalArgumentException: wrong stream
at java.io.ObjectOutputStream$PutFieldImpl.write(ObjectOutputStream.java:1670)
at Test2$OutputObject.writeObject(Test2.java:14)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:63)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:624)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:973)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1494)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1425)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:359)
at Test2.main(Test2.java:7)
whereas on Harmony it completes without exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-6483) [classlib][luni] No
IllegalArgumentException thrown by PutField.write() when writing to the
wrong stream
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-6483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12850170#action_12850170 ]
Hudson commented on HARMONY-6483:
---------------------------------
Integrated in Harmony-1.5-head-linux-x86_64 #734 (See [http://hudson.zones.apache.org/hudson/job/Harmony-1.5-head-linux-x86_64/734/])
Commit fix and regression test for ([classlib][luni] No IllegalArgumentException thrown by PutField.write() when writing to the wrong stream)
> [classlib][luni] No IllegalArgumentException thrown by PutField.write() when writing to the wrong stream
> --------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-6483
> URL: https://issues.apache.org/jira/browse/HARMONY-6483
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Oliver Deakin
> Assignee: Oliver Deakin
> Fix For: 6.0M2, 5.0M14
>
>
> Running the following test:
> import java.io.*;
> import java.io.ObjectOutputStream.PutField;
> class Test2 {
> public static void main(String[] args) throws Exception {
> ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("testfile")));
> oos.writeObject(new OutputObject());
> }
> static class OutputObject implements Serializable {
> private void writeObject(ObjectOutputStream oos) throws IOException {
> ObjectOutputStream oos2 = new ObjectOutputStream(new FileOutputStream(new File("testfile2")));
> ObjectOutputStream.PutField putField = oos.putFields();
> putField.write(oos2);
> }
> }
> }
> on the RI produces:
> Exception in thread "main" java.lang.IllegalArgumentException: wrong stream
> at java.io.ObjectOutputStream$PutFieldImpl.write(ObjectOutputStream.java:1670)
> at Test2$OutputObject.writeObject(Test2.java:14)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:63)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
> at java.lang.reflect.Method.invoke(Method.java:624)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:973)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1494)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1425)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:359)
> at Test2.main(Test2.java:7)
> whereas on Harmony it completes without exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HARMONY-6483) [classlib][luni] No
IllegalArgumentException thrown by PutField.write() when writing to the
wrong stream
Posted by "Oliver Deakin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-6483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oliver Deakin reassigned HARMONY-6483:
--------------------------------------
Assignee: Oliver Deakin
> [classlib][luni] No IllegalArgumentException thrown by PutField.write() when writing to the wrong stream
> --------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-6483
> URL: https://issues.apache.org/jira/browse/HARMONY-6483
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Oliver Deakin
> Assignee: Oliver Deakin
>
> Running the following test:
> import java.io.*;
> import java.io.ObjectOutputStream.PutField;
> class Test2 {
> public static void main(String[] args) throws Exception {
> ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("testfile")));
> oos.writeObject(new OutputObject());
> }
> static class OutputObject implements Serializable {
> private void writeObject(ObjectOutputStream oos) throws IOException {
> ObjectOutputStream oos2 = new ObjectOutputStream(new FileOutputStream(new File("testfile2")));
> ObjectOutputStream.PutField putField = oos.putFields();
> putField.write(oos2);
> }
> }
> }
> on the RI produces:
> Exception in thread "main" java.lang.IllegalArgumentException: wrong stream
> at java.io.ObjectOutputStream$PutFieldImpl.write(ObjectOutputStream.java:1670)
> at Test2$OutputObject.writeObject(Test2.java:14)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:63)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
> at java.lang.reflect.Method.invoke(Method.java:624)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:973)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1494)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1425)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:359)
> at Test2.main(Test2.java:7)
> whereas on Harmony it completes without exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-6483) [classlib][luni] No
IllegalArgumentException thrown by PutField.write() when writing to the
wrong stream
Posted by "Oliver Deakin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-6483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12850085#action_12850085 ]
Oliver Deakin commented on HARMONY-6483:
----------------------------------------
It's specced that we throw an IllegalArgumentException for the above case, as the RI does. Looks like our java.io.EmulatedFieldsForDumping class needs to keep track of the ObjectOutputStream that created it and check against that stream when it's write() method is called. I'll put together a fix and test case.
> [classlib][luni] No IllegalArgumentException thrown by PutField.write() when writing to the wrong stream
> --------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-6483
> URL: https://issues.apache.org/jira/browse/HARMONY-6483
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Oliver Deakin
> Assignee: Oliver Deakin
>
> Running the following test:
> import java.io.*;
> import java.io.ObjectOutputStream.PutField;
> class Test2 {
> public static void main(String[] args) throws Exception {
> ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("testfile")));
> oos.writeObject(new OutputObject());
> }
> static class OutputObject implements Serializable {
> private void writeObject(ObjectOutputStream oos) throws IOException {
> ObjectOutputStream oos2 = new ObjectOutputStream(new FileOutputStream(new File("testfile2")));
> ObjectOutputStream.PutField putField = oos.putFields();
> putField.write(oos2);
> }
> }
> }
> on the RI produces:
> Exception in thread "main" java.lang.IllegalArgumentException: wrong stream
> at java.io.ObjectOutputStream$PutFieldImpl.write(ObjectOutputStream.java:1670)
> at Test2$OutputObject.writeObject(Test2.java:14)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:63)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
> at java.lang.reflect.Method.invoke(Method.java:624)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:973)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1494)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1425)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:359)
> at Test2.main(Test2.java:7)
> whereas on Harmony it completes without exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (HARMONY-6483) [classlib][luni] No
IllegalArgumentException thrown by PutField.write() when writing to the
wrong stream
Posted by "Oliver Deakin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-6483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oliver Deakin resolved HARMONY-6483.
------------------------------------
Resolution: Fixed
Fix Version/s: 5.0M14
6.0M2
Fix and regression test applied at repo revision r927791.
> [classlib][luni] No IllegalArgumentException thrown by PutField.write() when writing to the wrong stream
> --------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-6483
> URL: https://issues.apache.org/jira/browse/HARMONY-6483
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Oliver Deakin
> Assignee: Oliver Deakin
> Fix For: 6.0M2, 5.0M14
>
>
> Running the following test:
> import java.io.*;
> import java.io.ObjectOutputStream.PutField;
> class Test2 {
> public static void main(String[] args) throws Exception {
> ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("testfile")));
> oos.writeObject(new OutputObject());
> }
> static class OutputObject implements Serializable {
> private void writeObject(ObjectOutputStream oos) throws IOException {
> ObjectOutputStream oos2 = new ObjectOutputStream(new FileOutputStream(new File("testfile2")));
> ObjectOutputStream.PutField putField = oos.putFields();
> putField.write(oos2);
> }
> }
> }
> on the RI produces:
> Exception in thread "main" java.lang.IllegalArgumentException: wrong stream
> at java.io.ObjectOutputStream$PutFieldImpl.write(ObjectOutputStream.java:1670)
> at Test2$OutputObject.writeObject(Test2.java:14)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:63)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
> at java.lang.reflect.Method.invoke(Method.java:624)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:973)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1494)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1425)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:359)
> at Test2.main(Test2.java:7)
> whereas on Harmony it completes without exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (HARMONY-6483) [classlib][luni] No
IllegalArgumentException thrown by PutField.write() when writing to the
wrong stream
Posted by "Oliver Deakin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-6483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oliver Deakin closed HARMONY-6483.
----------------------------------
Externalised exception message at repo revision r927802. Closing...
> [classlib][luni] No IllegalArgumentException thrown by PutField.write() when writing to the wrong stream
> --------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-6483
> URL: https://issues.apache.org/jira/browse/HARMONY-6483
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Oliver Deakin
> Assignee: Oliver Deakin
> Fix For: 6.0M2, 5.0M14
>
>
> Running the following test:
> import java.io.*;
> import java.io.ObjectOutputStream.PutField;
> class Test2 {
> public static void main(String[] args) throws Exception {
> ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("testfile")));
> oos.writeObject(new OutputObject());
> }
> static class OutputObject implements Serializable {
> private void writeObject(ObjectOutputStream oos) throws IOException {
> ObjectOutputStream oos2 = new ObjectOutputStream(new FileOutputStream(new File("testfile2")));
> ObjectOutputStream.PutField putField = oos.putFields();
> putField.write(oos2);
> }
> }
> }
> on the RI produces:
> Exception in thread "main" java.lang.IllegalArgumentException: wrong stream
> at java.io.ObjectOutputStream$PutFieldImpl.write(ObjectOutputStream.java:1670)
> at Test2$OutputObject.writeObject(Test2.java:14)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:63)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
> at java.lang.reflect.Method.invoke(Method.java:624)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:973)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1494)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1425)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:359)
> at Test2.main(Test2.java:7)
> whereas on Harmony it completes without exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.