So this is an issue very specific to CommandBox, which is now using Lucee 5 in the 4.0.0-snapshot of the CLI. In previous versions of CommandBox using Lucee 4, I could open up several versions of the CLI, which each spawned their own Lucee process that shared the same server context folders. I realize that is not a supported usage scenario, but it worked great for years.
This has changed now with Lucee 5 and Felix due to the extra complexity of OSGI bundles and the locks that get placed on the cache folders (in Windows, at least). The obvious solution is to just not allow two versions of CommandBox to start at the same time on the same machine, but that's not a very good solution. It's very handy to have more than one instance of the CLI running at once and I'd hate to remove that.
See the attached file for the output that happens in the error stream when the second server starts up. What's interesting is the second process actually seems to start fine, it just generates all those errors in the error stream.
What sort of options to we have to try and detect this scenario and allow Lucee to start a second instance without interfering with other running instances? Is it possible to create a second Felix cache location if the first one has locks on it? Just looking for ideas here. I think the last-resort option is I somehow try and determine if another box process is using the server folder and create a brand new server folder for each process, but I'm concerned about the overhead of disk usage and the performance of reinitializing another server context.