-
Bug
-
Resolution: Fixed
-
P4
-
1.3.0
-
None
-
ladybird
-
sparc
-
solaris_2.6
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2110063 | 1.4.0 | Rosanna Lee | P4 | Resolved | Fixed | beta |
lookup() calls resolve() and then tries to narrow the result to
a NamingContext. If narrow() throws BAD_PARAM, then the original
objref is returned.
There appears to be a problem when objref exists but the corresponding
object does not. In that case, you get a COMM_FAILURE or OBJECT_NOT_EXIST
error, which getes propogated as an exception and the original
objref not returned.
The fix is to catch SystemException instead of BAD_PARAM.
In CNCtx.callResolve, change:
} catch (org.omg.CORBA.BAD_PARAM e) {
return obj;
}
to
} catch (org.omg.CORBA.SystemException e) {
return obj;
}
a NamingContext. If narrow() throws BAD_PARAM, then the original
objref is returned.
There appears to be a problem when objref exists but the corresponding
object does not. In that case, you get a COMM_FAILURE or OBJECT_NOT_EXIST
error, which getes propogated as an exception and the original
objref not returned.
The fix is to catch SystemException instead of BAD_PARAM.
In CNCtx.callResolve, change:
} catch (org.omg.CORBA.BAD_PARAM e) {
return obj;
}
to
} catch (org.omg.CORBA.SystemException e) {
return obj;
}
- backported by
-
JDK-2110063 lookup should be more lenient with narrow() failures
-
- Resolved
-