Ok, so I added some logging to my view generation to find the offending doc.

However, I have no way to access the document. When I try to get to it through the web, all I get is:
{"error":"unknown_error","reason":"badarg"}
I get a similar error through futon.

I'd like to get to the doc to see what is causing it instead of just deleting it. Any suggestions?

On Jul 21, 2009, at 1:14 AM, Chris Anderson wrote:

On Mon, Jul 20, 2009 at 4:28 PM, Peter Hsu<[email protected]> wrote:
Left some of the output out.

Am I running into a bad doc that is killing my view generation? How would I track it down?


You'd probably need to add a ?LOG_DEBUG statement to the code before
the error occurs. Maybe logging the docid would be most helpful.

I'd add the logging here:

                  {couch_view_updater,process_doc,3},

HTH


From: Peter Hsu
Sent: Monday, July 20, 2009 4:26 PM
To: [email protected]
Subject: something wrong with my views

They keep generating. Here's what my logs say. I'm not sure what the error is... any advice?


[Mon, 20 Jul 2009 23:18:28 GMT] [error] [<0.76.0>] ** Generic server <0.76.0> terminating
** Last message in was {'EXIT',<0.78.0>,
                         {badarg,
                             [{erlang,binary_to_term,[<<>>]},
                              {couch_stream,read_term,2},
                              {couch_db,make_doc,5},
                              {couch_db,open_doc_int,3},
                              {couch_db,open_doc,3},
                              {couch_view_updater,process_doc,3},
{couch_view_updater,'-update/1- fun-0-',5},
                              {couch_btree,stream_kv_node2,7}]}}
** When Server state == {group_state,undefined,<<"small_apple_quarantine">>, {view,"/couch/ db",<<"small_apple_quarantine">>,
                        <<"_design/meta_in">>},
                       {group,view,
<<86,59,253,191,11,74,84,198,183,162,209,247,233,182,
                          208,6>>,
{db,<0.63.0>,<0.64.0>,nil,<<"1248130919356767">>,
                         <0.62.0>,<0.66.0>,
                         {db_header,1,8364622,
                          {124063532512,6885},
                          {124063892675,{978441,3693076}},
                          {124063890009,4671517},
                          nil,0,nil,nil,1000},
                         {stream,<0.65.0>,<0.62.0>},
                         {btree,<0.62.0>,
                          {124063962445,{978442,3693076}},
                          #Fun<couch_db_updater.6.65324130>,
                          #Fun<couch_db_updater.7.128706042>,
                          #Fun<couch_db_updater.5.93235209>,
                          #Fun<couch_db_updater.8.66861196>},
                         {btree,<0.62.0>,
                          {124063960073,4671518},
                          #Fun<couch_db_updater.9.123705295>,
                          #Fun<couch_db_updater.10.30133661>,
                          #Fun<couch_btree.5.112258129>,
                          #Fun<couch_db_updater.11.51444615>},
{btree,<0.62.0>,nil,#Fun<couch_btree. 0.23070627>,
                          #Fun<couch_btree.1.117278773>,
                          #Fun<couch_btree.2.112258129>,nil},
                         8364623,<<"small_apple_quarantine">>,
"/couch/db/small_apple_quarantine.couch", [],[],nil,
                         {user_ctx,null,[]},
                         #Ref<0.0.0.328>,1000},
<0.77.0>,<<"_design/ meta_in">>,<<"javascript">>,[],
                        [{view,0,
                          [<<"by_subject_hdr">>],
<<"function(doc) { \n if (doc.type == 'in') {\n for (i=0;i<doc.rcpts.length;i++) {\n emit([doc.rcpts[i
], doc.subject_hdr], doc);\n    }\n  }\n}\n">>,
                          {btree,<0.77.0>,
                           {113808894323,{1848073,[]}},
                           #Fun<couch_btree.3.23070627>,
                           #Fun<couch_btree.4.117278773>,
                           #Fun<couch_view.less_json_keys.2>,
                           #Fun<couch_view_group.7.51928864>},
                          []},
                         {view,1,
                          [<<"by_from_hdr">>],
<<"function(doc) { \n if (doc.type == 'in') {\n for (i=0;i<doc.rcpts.length;i++) {\n emit([doc.rcpts[i
], doc.from_hdr], doc);\n    }\n  }\n}\n">>,
                          {btree,<0.77.0>,
                           {113894873344,{1848073,[]}},
                           #Fun<couch_btree.3.23070627>,
                           #Fun<couch_btree.4.117278773>,
                           #Fun<couch_view.less_json_keys.2>,
                           #Fun<couch_view_group.7.51928864>},
                          []},
                         {view,2,
                          [<<"by_score">>],
<<"function(doc) { \n if (doc.type == 'in') {\n for (i=0;i<doc.rcpts.length;i++) {\n emit([doc.rcpts[i
], doc.score], doc);\n    }\n  }\n}\n">>,
                          {btree,<0.77.0>,
                           {113954480508,{1848073,[]}},
                           #Fun<couch_btree.3.23070627>,
                           #Fun<couch_btree.4.117278773>,
                           #Fun<couch_view.less_json_keys.2>,
                           #Fun<couch_view_group.7.51928864>},
                          []},
                         {view,3,
                          [<<"by_date">>],
<<"function(doc) { \n if (doc.type == 'in') {\n for (i=0;i<doc.rcpts.length;i++) {\n emit([doc.rcpts[i
], doc.date], doc);\n    }\n  }\n}\n">>,
                          {btree,<0.77.0>,
                           {113960448693,{1848073,[]}},
                           #Fun<couch_btree.3.23070627>,
                           #Fun<couch_btree.4.117278773>,
                           #Fun<couch_view.less_json_keys.2>,
                           #Fun<couch_view_group.7.51928864>},
                          []}],
                        {btree,<0.77.0>,
                         {113726936549,[]},
                         #Fun<couch_btree.0.23070627>,
                         #Fun<couch_btree.1.117278773>,
                         #Fun<couch_btree.2.112258129>,nil},
                        8154777,0,nil,nil},
                       <0.78.0>,false,[]}
** Reason for termination ==
** {badarg,[{erlang,binary_to_term,[<<>>]},
          {couch_stream,read_term,2},
          {couch_db,make_doc,5},
          {couch_db,open_doc_int,3},
          {couch_db,open_doc,3},
          {couch_view_updater,process_doc,3},
          {couch_view_updater,'-update/1-fun-0-',5},
          {couch_btree,stream_kv_node2,7}]}

** Reason for termination ==
** {badarg,[{erlang,binary_to_term,[<<>>]},
          {couch_stream,read_term,2},
          {couch_db,make_doc,5},
          {couch_db,open_doc_int,3},
          {couch_db,open_doc,3},
          {couch_view_updater,process_doc,3},
          {couch_view_updater,'-update/1-fun-0-',5},
          {couch_btree,stream_kv_node2,7}]}


[Mon, 20 Jul 2009 23:18:28 GMT] [error] [<0.76.0>] {error_report,<0.22.0>,
  {<0.76.0>,crash_report,
   [[{pid,<0.76.0>},
     {registered_name,[]},
     {error_info,
         {exit,
             {badarg,
                 [{erlang,binary_to_term,[<<>>]},
                  {couch_stream,read_term,2},
                  {couch_db,make_doc,5},
                  {couch_db,open_doc_int,3},
                  {couch_db,open_doc,3},
                  {couch_view_updater,process_doc,3},
                  {couch_view_updater,'-update/1-fun-0-',5},
                  {couch_btree,stream_kv_node2,7}]},
[{gen_server,terminate,6},{proc_lib,init_p_do_apply, 3}]}},
     {initial_call,{couch_view_group,init,['Argument__1']}},
     {ancestors,
[couch_view,couch_secondary_services,couch_server_sup,<0.1.0>]},
     {messages,[]},
     {links,[<0.77.0>,<0.45.0>]},
     {dictionary,[]},
     {trap_exit,true},
     {status,running},
     {heap_size,987},
     {stack_size,23},
     {reductions,96977}],
    []]}}

[Mon, 20 Jul 2009 23:18:28 GMT] [error] [<0.77.0>] ** Generic server <0.77.0> terminating
** Last message in was {'EXIT',<0.76.0>,
                         {badarg,
                             [{erlang,binary_to_term,[<<>>]},
                              {couch_stream,read_term,2},
                              {couch_db,make_doc,5},
                              {couch_db,open_doc_int,3},
                              {couch_db,open_doc,3},
                              {couch_view_updater,process_doc,3},
{couch_view_updater,'-update/1- fun-0-',5},
                              {couch_btree,stream_kv_node2,7}]}}
** When Server state == {file_descriptor,prim_file,{#Port<0.1030>, 16}}
** Reason for termination ==
** {badarg,[{erlang,binary_to_term,[<<>>]},
          {couch_stream,read_term,2},
          {couch_db,make_doc,5},
          {couch_db,open_doc_int,3},
          {couch_db,open_doc,3},
          {couch_view_updater,process_doc,3},
          {couch_view_updater,'-update/1-fun-0-',5},
          {couch_btree,stream_kv_node2,7}]}


[Mon, 20 Jul 2009 23:18:28 GMT] [error] [<0.77.0>] {error_report,<0.22.0>,
  {<0.77.0>,crash_report,
   [[{pid,<0.77.0>},
     {registered_name,[]},
     {error_info,
         {exit,
             {badarg,
                 [{erlang,binary_to_term,[<<>>]},
                  {couch_stream,read_term,2},
                  {couch_db,make_doc,5},
                  {couch_db,open_doc_int,3},
                  {couch_db,open_doc,3},
                  {couch_view_updater,process_doc,3},
                  {couch_view_updater,'-update/1-fun-0-',5},
                  {couch_btree,stream_kv_node2,7}]},
[{gen_server,terminate,6},{proc_lib,init_p_do_apply, 3}]}},
     {initial_call,{couch_file,init,['Argument__1']}},
     {ancestors,
[<0.76.0>,couch_view,couch_secondary_services,couch_server_sup,
          <0.1.0>]},
     {messages,[]},
     {links,[#Port<0.1030>]},
     {dictionary,[]},
     {trap_exit,true},
     {status,running},
     {heap_size,987},
     {stack_size,23},




--
Chris Anderson
http://jchrisa.net
http://couch.io

Reply via email to