Using "localhost" is broken in java 7/8 u45. In certain situations, Java lists the local interfaces and takes one at a certain numeric index as a super naive approach to determine the "localhost" ip address. This can break down for users who have additional network interfaces changing the order. Here's the issue https://bugs.openjdk.java.net/browse/JDK-8080819 I have VPN network interfaces, which trigger the bug. In my case java resolves "localhost" to my local network ip address "192.168.1.x" instead of "127.0.0.1" and ensime-server binds to 192.168.1.x. ensime-sublime however tries to connect to 127.0.0.1 so the connect fails.
Added AskLoadedTyped before every operation that applies to a file: they operate on a Tree, and this is unsafe if the pres. compiler is in the middle of parsing that file. Operations without a file typically walk the symbol hierarchy. They should be safe as long as they're wrapped in "ask()".