RFR: 8019584 javax/management/remote/mandatory/loading/MissingClassTest.java failed in nightly against jdk7u45: java.io.InvalidObjectException: Invalid notification: null
shanliang
shanliang.jiang at oracle.com
Tue Jul 16 00:31:52 PDT 2013
Jaroslav,
I am not sure that it is a good idea to add simply
InvalidObjectException into the catching list. I remember that we
carefully analyzed and tested the catching list, in order to avoid
no-needed call of "fetchOneNotif", and to avoid fetching on a dead
connection. Look at
javax.management.remote.rmi.RMIConnector$RMINotifClient.fetchNotifs, we
carefully retrieve an original exception wrapped in a
UnmarshalException, with different protocol to allow
ClientNotifForwarder to do right catching.
What I am afraid is that InvalidObjectException would be thrown with
other situations, like the connection was cut in the middle way of
fetching, then the fix would make ClientNotifForwarder fail to stop
fetching.
Shanliang
Jaroslav Bachorik wrote:
> Please, review the change.
>
> http://cr.openjdk.java.net/~jbachorik/8019584/webrev.00/
>
> The combination of the fix for JDK-8014085 and
> ObjectInputStream.readFields() not throwing CNFE when trying to
> deserialize an object graph containing references to non-available
> classes makes an InvalidObjectException being thrown instead of the CNFE
> when processing JMX notifications.
>
> The patch makes the ClientNotificationForwarder ready for
> InvalidObjectException - it will correctly report lost notifications but
> will not cause the notification processing loop to fail with unhandled
> exception.
>
> Thanks,
>
> -JB-
>
More information about the serviceability-dev
mailing list