<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">These statements<div><br></div><div><div style="margin: 0px; font-size: 11px; font-family: Courier;">        map.put(provider.getClass(), provider);</div><div style="margin: 0px; font-size: 11px; font-family: Courier;">        poset.add(provider);</div></div><div><br></div><div>occur before the  if (provider instanceof RegisterableService) block. Do we really want the provider added to that map and set if the Throwable occurs?</div><div><br></div><div>Brian</div><div><br></div><div><div><div>On May 20, 2016, at 1:07 PM, Phil Race <<a href="mailto:philip.race@oracle.com">philip.race@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Please review the following workaround for :-<br><a href="https://bugs.openjdk.java.net/browse/JDK-8154860">https://bugs.openjdk.java.net/browse/JDK-8154860</a><br><br>-phil.<br><br>--- a/src/java.desktop/share/classes/javax/imageio/spi/ServiceRegistry.java<br>+++ b/src/java.desktop/share/classes/javax/imageio/spi/ServiceRegistry.java<br>@@ -770,7 +770,12 @@<br>         poset.add(provider);<br>         if (provider instanceof RegisterableService) {<br>             RegisterableService rs = (RegisterableService)provider;<br>+            try {<br>             rs.onRegistration(registry, category);<br>+            } catch (Throwable t) {<br>+                System.err.println("Caught and handled this exception :");<br>+                t.printStackTrace();<br>+            }<br>         }<br><br>         return !present;<br><br></blockquote></div><br></div></body></html>