Sorry I'm a little later than I expected. The compile lock error is more difficult to reproduce, as it seems to happen when I'm actually working the most, rather than if I try to replicate it...
So I was not able to reproduce anything with a brand new Phoenix project. But I do have an open source project that is recompiling all dependencies when any web or lib files changes. Here it is:
Every time the server is started up with
mix phoenix.server (after having hit save on any file in the project, say the user controller mentioned below), it recompiles all dependencies.
I'll keep trying to get a more reproducible set of steps for the compile lock issue.