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/

Reply via email to