couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Newson <rnew...@apache.org>
Subject Re: Strange JavaScript behavior in validate_doc_update functions
Date Thu, 03 Jan 2013 10:35:34 GMT
error_info({Error, Reason}) when is_list(Reason) ->
    error_info({Error, ?l2b(Reason)});

This clause assumes, erroneously, that a list is really a string and
so converts it to a binary. In this case, the list contains objects.

B.

On 3 January 2013 10:24, Robert Newson <rnewson@apache.org> wrote:
> I can easily believe our error handling code assumes a string for the
> error value. File a JIRA ticket?
>
> On 3 January 2013 00:21, Travis Paul <travis.e.paul@gmail.com> wrote:
>> In one of my validate_doc_update functions I try to throw an array of
>> errors like so:
>>
>>     if (report.errors.length) {
>>        throw({forbidden: report.errors});
>>     }
>>
>> and couchdb crashes (but recovers of course)
>>
>> If I stringify the errors array, it works fine...
>>
>>     if (report.errors.length) {
>>        throw({forbidden: JSON.stringify(report.errors)});
>>     }
>>
>> report.errors looks like: http://pastebin.com/JzqtvUSd
>> and the crash report: http://pastebin.com/Wp679hux
>>
>> I'm running couchdb 1.0.3 and I was using Futon to save the document and
>> erica to push the couchapp. I am using JSV to get the errors array.
>>
>> I would be happy to put my couchapp somewhere (github) if it will help find
>> the cause. I am just trying to use json-schema in a demo couchapp.
>>
>> Any insight would be appreciated.

Mime
View raw message