incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Kocoloski <kocol...@apache.org>
Subject Re: CouchDB failing to open socket 5984 ?
Date Wed, 16 Sep 2009 13:24:41 GMT
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.

I'll have to think a bit more about the best way to fix trunk.  We can  
always revert to the old way of adding directories explicitly with - 
pa, but I hope we can find a better solution.

Adam


Mime
View raw message