couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Davis <paul.joseph.da...@gmail.com>
Subject Re: CouchDB 1.1.1
Date Thu, 06 Oct 2011 09:06:19 GMT
On Thu, Oct 6, 2011 at 3:51 AM, Benoit Chesneau <bchesneau@gmail.com> wrote:
> On Thu, Oct 6, 2011 at 10:25 AM, Paul Davis <paul.joseph.davis@gmail.com> wrote:
>> On Thu, Oct 6, 2011 at 3:23 AM, Robert Newson <rnewson@apache.org> wrote:
>>> All,
>>>
>>> Paul Davis has researched the issue and it seems intractable.
>>>
>>> I would like to remove 1.8.5 support from 1.1.1. It was not present in
>>> 1.1.0 so will not be (officially) missed.
>>>
>>> The place for a breaking change of this magnitude is 1.2, not a minor
>>> bug fix release.
>>>
>>> Thoughts?
>>> B.
>>>
>>
>> +1 on removing the paren hack for sure.
>>
>> Not sure about removing 1.8.5 support completely. On the one hand, it
>> would prevent breakage because people couldn't link against the
>> breaking SM. On the other hand, it prevents people from linking
>> against 1.8.5 which means it won't build on Ubuntu 11.x.
>
>
> Is this really a problem with 1.8.5 ? How do you explain then that I
> have to remove this changes to have refuge working with it then?
>
> https://github.com/refuge/refuge/commit/481bd6623ccfc8895eacf8a1528bffa5efa4ad47#apps/couch/share/server/util.js
>
> Refuge is only working with 1.8.5.
>
>
> - benoƮt
>

Things I know for certain:

This fails in the js shell from the 1.8.5 tarball:

    eval("function(){}")

It also fails on the package in Debian that is supposed to be
SpiderMonkey 1.8.5. It also fails on a checkout of the mercurial
repository with hash 959c1e6bdb11.

Fact of the matter, SpiderMonkey distribution is notorious in its
avoidance of anything resembling a versioning scheme that we can use
to refer to API/ABI compatibility across platforms. Not that it
matters as it's apparently a fix, so at the end of the day "new
SpiderMonkey breaks code that has worked for years."

By enabling the linkage (for which, if code were proper, things would
work) we introduce a non-obvious new behavior error.

If we *intentionally disable* 1.8.5 linking, then we avoid introducing
errors subtly into code that has always worked if someone tries to
upgrade SpiderMonkey to a version that breaks old code. That said, we
also limit the ability of CouchDB to run easily on OS's that include
newer SpiderMonkeys.

Mime
View raw message