[
https://issues.apache.org/jira/browse/COUCHDB-354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12712095#action_12712095
]
Brian Candler commented on COUCHDB-354:
---------------------------------------
This is really odd: trunk still barfs for me. And what's especially odd is (a)
your debug log doesn't show *anything* wrong with that Javascript at all, and
(b) your reduce output is completely empty, not even 'key'=>null. Does all_docs
show the documents? You're not running the eep-0018 branch?
I get exactly the same:
$ curl http://127.0.0.1:5984/
{"couchdb":"Welcome","version":"0.10.0a777521"}
$ ruby ~/test_reduce_barf.rb
reduce across all says:
/var/lib/gems/1.8/gems/rest-client-0.9.2/lib/restclient/request.rb:144:in
`process_result': HTTP status code 500 (RestClient::RequestFailed)
from
/var/lib/gems/1.8/gems/rest-client-0.9.2/lib/restclient/request.rb:106:in
`transmit'
from /usr/lib/ruby/1.8/net/http.rb:543:in `start'
from
/var/lib/gems/1.8/gems/rest-client-0.9.2/lib/restclient/request.rb:103:in
`transmit'
from
/var/lib/gems/1.8/gems/rest-client-0.9.2/lib/restclient/request.rb:36:in
`execute_inner'
from
/var/lib/gems/1.8/gems/rest-client-0.9.2/lib/restclient/request.rb:28:in
`execute'
from
/var/lib/gems/1.8/gems/rest-client-0.9.2/lib/restclient/request.rb:12:in
`execute'
from /var/lib/gems/1.8/gems/rest-client-0.9.2/lib/restclient.rb:57:in
`get'
from /home/brian/test_reduce_barf.rb:56
$ curl http://127.0.0.1:5984/_log
{trap_exit,true},
{status,running},
{heap_size,987},
{stack_size,23},
{reductions,751}],
[]]}}
[Fri, 22 May 2009 13:53:41 GMT] [error] [<0.44.0>] {error_report,<0.22.0>,
{<0.44.0>,supervisor_report,
[{supervisor,{local,couch_secondary_services}},
{errorContext,child_terminated},
{reason,{os_process_error,"OS process timed out."}},
{offender,[{pid,<0.45.0>},
{name,view_manager},
{mfa,{couch_view,start_link,[]}},
{restart_type,permanent},
{shutdown,brutal_kill},
{child_type,worker}]}]}}
[Fri, 22 May 2009 13:53:41 GMT] [info] [<0.78.0>] 127.0.0.1 - - 'GET'
/test/_design/test/_view/test 500
[Fri, 22 May 2009 13:53:50 GMT] [info] [<0.79.0>] 127.0.0.1 - - 'GET' / 200
So maybe it's something platform related. On this particular machine, I am
running:
* Ubuntu Jaunty
* erlang 1:12.b.5-dfsg-2
* libmozjs0d 1.8.1.16+nobinonly-0ubuntu1
(erlang and spidermonkey are both out-of-the-box Ubuntu components)
> 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.