ooops, sorry, forgot to add the tags in the subject....
On 5/21/07, Andrew Zhang <[EMAIL PROTECTED]> wrote:
Hi, As spec requires, ObjectInputStream#registerInvalidation throws NotActiveException if it's called from the outside. Our old code only checkes whether the currentObject is null, which might happen in the recursive readObject() call. So I think check "nestedCallLevel" is necessary too. Would any committer verify and apply this patch? ps: on my clean workspace, there're some intermittent failures before applying this patch. so I'm only 99% sure that this patch doesn't break anything. Thanks! On 5/21/07, Andrew Zhang (JIRA) <[EMAIL PROTECTED]> wrote: > > > [ https://issues.apache.org/jira/browse/HARMONY-3916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel > ] > > Andrew Zhang updated HARMONY-3916: > ---------------------------------- > > Attachment: Harmony-3916.diff > > Hi, > > Would you please apply my patch? Thanks! > > Best regards, > Andrew > > > [classlib][io] Harmony throws unexpected NotActiveException when > there's a ObjectInputValidation registered > > > ------------------------------------------------------------------------------------------------------------ > > > > > Key: HARMONY-3916 > > URL: > https://issues.apache.org/jira/browse/HARMONY-3916 > > Project: Harmony > > Issue Type: Bug > > Components: Classlib > > Reporter: Andrew Zhang > > Attachments: Harmony-3916.diff > > > > > > Following test case reproduces the problem: > > public void test() throws Exception { > > ByteArrayOutputStream baos = new ByteArrayOutputStream(); > > ObjectOutputStream oos = new ObjectOutputStream(baos); > > oos.writeObject (new RegisterValidationClass()); > > oos.close(); > > ByteArrayInputStream bais = new ByteArrayInputStream( > baos.toByteArray()); > > ObjectInputStream fis = new ObjectInputStream(bais); > > // should not throw NotActiveException > > fis.readObject(); > > } > > > > private static class RegisterValidationClass implements > Serializable { > > private A a = new A(); > > private void readObject(ObjectInputStream stream) throws > IOException, ClassNotFoundException { > > stream.defaultReadObject(); > > stream.registerValidation(new MockObjectInputValidation(), > 0); > > } > > } > > > > private static class MockObjectInputValidation implements > ObjectInputValidation { > > public void validateObject() throws InvalidObjectException { > > > > } > > } > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > > -- Best regards, Andrew Zhang http://zhanghuangzhu.blogspot.com/
-- Best regards, Andrew Zhang http://zhanghuangzhu.blogspot.com/
