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?
Cheers
Jan
--