On Sep 16, 2009, at 9:31 AM, Jan Lehnardt wrote:

On 16 Sep 2009, at 15:24, Adam Kocoloski wrote:

On Sep 16, 2009, at 8:44 AM, Jan Lehnardt wrote:

On 16 Sep 2009, at 14:21, Adam Kocoloski wrote:

On Sep 16, 2009, at 4:00 AM, Brian Candler wrote:

Does this make any sense to you? It looks like it's reading couch.beam from couch-0.11.0a815641 (correct), but couch.app from couch-0.9.0a767213 (?!).

Bingo, there's the problem. It looks like Erlang's code loader wasn't prepared for double-digit minor versions, and it considers 0.9.* as newer than 0.1* (including 0.10 and 0.11).

This may be a serious problem for the 0.10 release, as anyone who upgrades from 0.9.x to 0.10.0 using the same install prefix may end up with a crash. Thanks again,

We had this popping up on IRC today, again. I agree this is serious. Is there anything we can do on install time that checks for older versions?

After some more thought I realized that this isn't a problem for 0.10. In 0.10 we use the old startup procedure that explicitly adds individual ebin directories to the code path. In trunk we switched to adding the entire PREFIX/lib/couchdb/erlang/lib directory to ERL_LIBS, and thus triggered the issue with the code loader and our versioning system.

FWIW, the IRC incident update to trunk, which is 0.11.0a. Should we open a ticket for this?

https://issues.apache.org/jira/browse/COUCHDB-505

Best, Adam

Reply via email to