You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "James Carman (Created) (JIRA)" <ji...@apache.org> on 2011/11/25 17:29:40 UTC
[jira] [Created] (WICKET-4264) JavaSerializer Does Not Call
SerializableChecker
JavaSerializer Does Not Call SerializableChecker
------------------------------------------------
Key: WICKET-4264
URL: https://issues.apache.org/jira/browse/WICKET-4264
Project: Wicket
Issue Type: Bug
Components: wicket
Affects Versions: 1.5.3, 1.5.2, 1.5.1, 1.5.0
Reporter: James Carman
In the new JavaSerializer class, it has a CheckerOutputStream which extends ObjectOutputStream. The intent is to use the ObjectOutputStream.writeObjectOverride() support. However, the writeObjectOverride() method is never called unless you use the no-arg constructor from the ObjectOutputStream class (which sets the "enableOverride" flag to true). The CheckerOutputStream uses the ObjectOutputStream(OutputStream) constructor in its constructor. Worse yet, even if the writeObjectOverride() method were to be called, it would create a StackOverflowError because it's calling the super.writeObject() method which is what called it in the first place (infinite recursion).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (WICKET-4264) JavaSerializer Does Not Call
SerializableChecker
Posted by "Martin Grigorov (Resolved) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-4264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Grigorov resolved WICKET-4264.
-------------------------------------
Resolution: Fixed
Fix Version/s: 6.0.0
1.5.4
Thanks for the patch, James!
I fixed it almost like you did in the patch, just I preserved the method signatures.
No API breaks, no new classes used.
> JavaSerializer Does Not Call SerializableChecker
> ------------------------------------------------
>
> Key: WICKET-4264
> URL: https://issues.apache.org/jira/browse/WICKET-4264
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.5.0, 1.5.1, 1.5.2, 1.5.3
> Environment: Apache Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500)
> Maven home: /usr/local/programs/current/maven
> Java version: 1.7.0_01, vendor: Oracle Corporation
> Java home: /usr/local/programs/jdk1.7.0_01/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "2.6.35.14-103.fc14.x86_64", arch: "amd64", family: "unix"
> Reporter: James Carman
> Assignee: Martin Grigorov
> Fix For: 1.5.4, 6.0.0
>
> Attachments: WICKET-4264.patch
>
>
> In the new JavaSerializer class, it has a CheckerOutputStream which extends ObjectOutputStream. The intent is to use the ObjectOutputStream.writeObjectOverride() support. However, the writeObjectOverride() method is never called unless you use the no-arg constructor from the ObjectOutputStream class (which sets the "enableOverride" flag to true). The CheckerOutputStream uses the ObjectOutputStream(OutputStream) constructor in its constructor. Worse yet, even if the writeObjectOverride() method were to be called, it would create a StackOverflowError because it's calling the super.writeObject() method which is what called it in the first place (infinite recursion).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (WICKET-4264) JavaSerializer Does Not Call
SerializableChecker
Posted by "James Carman (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-4264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Carman updated WICKET-4264:
---------------------------------
Environment:
Apache Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500)
Maven home: /usr/local/programs/current/maven
Java version: 1.7.0_01, vendor: Oracle Corporation
Java home: /usr/local/programs/jdk1.7.0_01/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.35.14-103.fc14.x86_64", arch: "amd64", family: "unix"
> JavaSerializer Does Not Call SerializableChecker
> ------------------------------------------------
>
> Key: WICKET-4264
> URL: https://issues.apache.org/jira/browse/WICKET-4264
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.5.0, 1.5.1, 1.5.2, 1.5.3
> Environment: Apache Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500)
> Maven home: /usr/local/programs/current/maven
> Java version: 1.7.0_01, vendor: Oracle Corporation
> Java home: /usr/local/programs/jdk1.7.0_01/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "2.6.35.14-103.fc14.x86_64", arch: "amd64", family: "unix"
> Reporter: James Carman
> Attachments: WICKET-4264.patch
>
>
> In the new JavaSerializer class, it has a CheckerOutputStream which extends ObjectOutputStream. The intent is to use the ObjectOutputStream.writeObjectOverride() support. However, the writeObjectOverride() method is never called unless you use the no-arg constructor from the ObjectOutputStream class (which sets the "enableOverride" flag to true). The CheckerOutputStream uses the ObjectOutputStream(OutputStream) constructor in its constructor. Worse yet, even if the writeObjectOverride() method were to be called, it would create a StackOverflowError because it's calling the super.writeObject() method which is what called it in the first place (infinite recursion).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (WICKET-4264) JavaSerializer Does Not Call
SerializableChecker
Posted by "Martin Grigorov (Assigned) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-4264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Grigorov reassigned WICKET-4264:
---------------------------------------
Assignee: Martin Grigorov
> JavaSerializer Does Not Call SerializableChecker
> ------------------------------------------------
>
> Key: WICKET-4264
> URL: https://issues.apache.org/jira/browse/WICKET-4264
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.5.0, 1.5.1, 1.5.2, 1.5.3
> Environment: Apache Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500)
> Maven home: /usr/local/programs/current/maven
> Java version: 1.7.0_01, vendor: Oracle Corporation
> Java home: /usr/local/programs/jdk1.7.0_01/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "2.6.35.14-103.fc14.x86_64", arch: "amd64", family: "unix"
> Reporter: James Carman
> Assignee: Martin Grigorov
> Attachments: WICKET-4264.patch
>
>
> In the new JavaSerializer class, it has a CheckerOutputStream which extends ObjectOutputStream. The intent is to use the ObjectOutputStream.writeObjectOverride() support. However, the writeObjectOverride() method is never called unless you use the no-arg constructor from the ObjectOutputStream class (which sets the "enableOverride" flag to true). The CheckerOutputStream uses the ObjectOutputStream(OutputStream) constructor in its constructor. Worse yet, even if the writeObjectOverride() method were to be called, it would create a StackOverflowError because it's calling the super.writeObject() method which is what called it in the first place (infinite recursion).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (WICKET-4264) JavaSerializer Does Not Call
SerializableChecker
Posted by "James Carman (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-4264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Carman updated WICKET-4264:
---------------------------------
Attachment: WICKET-4264.patch
Here is what I propose to be the solution. Let me know what you think and I'll try to come up with a way to write a unit test for this.
> JavaSerializer Does Not Call SerializableChecker
> ------------------------------------------------
>
> Key: WICKET-4264
> URL: https://issues.apache.org/jira/browse/WICKET-4264
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.5.0, 1.5.1, 1.5.2, 1.5.3
> Reporter: James Carman
> Attachments: WICKET-4264.patch
>
>
> In the new JavaSerializer class, it has a CheckerOutputStream which extends ObjectOutputStream. The intent is to use the ObjectOutputStream.writeObjectOverride() support. However, the writeObjectOverride() method is never called unless you use the no-arg constructor from the ObjectOutputStream class (which sets the "enableOverride" flag to true). The CheckerOutputStream uses the ObjectOutputStream(OutputStream) constructor in its constructor. Worse yet, even if the writeObjectOverride() method were to be called, it would create a StackOverflowError because it's calling the super.writeObject() method which is what called it in the first place (infinite recursion).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira