Building with cache is failing, without cache passes


I have noticed during the building of these branches failed on CircleCI:

But this one passes with caching disabled:

The whole purpose of the build with caching enabled is to get faster builds. So it’s counter-productive if I have to disable caching to get a green build.

This always worked till recently, you can see the logs of these jobs.


So, you’ll need to dig into why it is failing. The failure appears to be related to this:

Compiling with javac-daemon(JDK 1.8) failed
Compiling org.graalvm.compiler.hotspot.amd64 with javac-daemon(JDK 1.8) failed
Compiling org.graalvm.compiler.hotspot.test with javac-daemon(JDK 1.8) failed
Compiling org.graalvm.compiler.truffle.compiler.hotspot.libgraal with javac-daemon(JDK 1.8) failed
Compiling org.graalvm.compiler.lir.jtt with javac-daemon(JDK 1.8) failed
5 build tasks failed

I don’t do Java, so cannot advise directly, but you’re probably the best person to dig into this. Could you find some logs or a debug switch to find out what “failed” means in this case?

I don’t doubt you’re right that the cache is causing this, but that is not sufficient from a debugging perspective - you need to find out why. Perhaps you could calculate a hash for all items in the cache to see if they are stale, or perhaps there are some file permission issues?

1 Like

Thanks for your reply, I will get back to you soon with details, although not sure if there are flags but hopefully digging into examples or docs will reveal more for me.

Although if you have seen from my past posts, I have been reporting about caching now and then, I agree its one of the hard problems in CS. But lets work and see how we can fix it.


Hi Mani. One thing you can try, is narrowing your cache keys. If you delete

            - os-deps


            - make-382

You will only get a cache from the right SHA or branch, instead of possibly getting a cache from another branch that could be completely different from what you are using.