Index: remoting/src/main/java/hudson/remoting/Channel.java =================================================================== --- remoting/src/main/java/hudson/remoting/Channel.java (revision 998) +++ remoting/src/main/java/hudson/remoting/Channel.java (revision 999) @@ -407,7 +407,7 @@ } /*package*/ void unexport(int id) { - exportedObjects.unexport(id); + exportedObjects.unexportByOid(id); } /** Index: remoting/src/main/java/hudson/remoting/ExportTable.java =================================================================== --- remoting/src/main/java/hudson/remoting/ExportTable.java (revision 998) +++ remoting/src/main/java/hudson/remoting/ExportTable.java (revision 999) @@ -180,6 +180,16 @@ } /** + * Removes the exported object for the specified oid from the table. + */ + public synchronized void unexportByOid(Integer oid) { + if(oid==null) return; + Entry e = table.get(oid); + if(e==null) return; // presumably already unexported + e.release(); + } + + /** * Dumps the contents of the table to a file. */ public synchronized void dump(PrintWriter w) throws IOException {