The fix for 4495188l has resulted in an infinite recursion in PolicyFile. Consider a ProtectionDomain on the call stack with a CodeSource with location http://thoth/. Suppose the method in that ProtectionDomain is attempting to connect to host thoth, so a checkConnect on thoth is performed. This results in PolicyFile.implies being called with the ProtectionDomain, which results in PolicyFile.getPermissions(perms, pd, prins) being called. This attempts to do CodeSource matching, calling CodeSource.implies, which calls URL.equals, which calls URLStreamHandler.equals, which calls InetAddress.getByName, which results in a checkConnect on thoth, and now we recurse again.