[ https://issues.apache.org/jira/browse/COUCHDB-354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Candler updated COUCHDB-354: ---------------------------------- Attachment: barf.log The resulting barf > Ungraceful behaviour if view returns a function > ----------------------------------------------- > > Key: COUCHDB-354 > URL: https://issues.apache.org/jira/browse/COUCHDB-354 > Project: CouchDB > Issue Type: Improvement > Components: JavaScript View Server > Environment: {"couchdb":"Welcome","version":"0.10.0a776990"} > Reporter: Brian Candler > Priority: Minor > Attachments: barf.log, test_reduce_barf.rb > > > If a typo in a view definition causes it to return a function instead of a > normal value: > * the view server crashes > * you get a huge Erlang barf in the log with worrying messages like "OS > process timed out" and "brutal kill" > I got all this just by accidentally writing "vs.shift" instead of "vs.shift()" > The fundamental problem is that a function cannot be serialised in toJSON, > but the error message is not helpful: > OS Process Log Message: Error converting object to JSON: TypeError: > {Array:function (v) {var ... snip loads ... "Object"] is not a function > When actually the problem is that the object I was trying to convert *was* a > function :-) > I will attach some code which replicates this, and the barf generated. > Of course this is entirely down to user error in an invalid map/reduce > function. However there's already a clean error for 'undefined', maybe this > could be done for 'function' too (or indeed any non-serialisable entity) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.