Hi Tibor,
Here is invenio.err message concerning the record 60182:

***********************
* 2015-01-28 17:54:32 -> TypeError: 'NoneType' object is not iterable
(bibedit_engine.py:585:perform_request_record)

** User details
                                     agent: Mozilla/5.0 (Windows NT 5.2;
WOW64; rv:35.0) Gecko/20100101 Firefox/35.0
                                     email: [email protected]
                                     group: ['jds']
                                     guest: 0
                                  language: en
                              login_method: Local
                                  nickname: admin
            precached_canseehiddenmarctags: True
precached_permitted_restricted_collections: []
                        precached_useadmin: True
                       precached_usealerts: True
                      precached_useapprove: True
                      precached_usebaskets: True
                       precached_usegroups: True
                        precached_useloans: True
                     precached_usemessages: True
             precached_usepaperattribution: False
                   precached_usepaperclaim: False
                        precached_usestats: True
                   precached_viewclaimlink: False
                 precached_viewsubmissions: True
                                   referer:
<http://lt-jds.jinr.ru/record/edit/?ln=en&;>
                               remote_host: 
                                 remote_ip: 159.93.40.120
                                   session: 32c21af9407bc848bd78632e0c212384
                                       uid: 1
                                       uri: </record/edit/?>

** Traceback details 

Traceback (most recent call last):
  File "/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py",
line 424, in _handler
    return root._traverse(req, path, False, guest_p)
  File "/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py",
line 239, in _traverse
    return obj._traverse(req, path, do_head, guest_p)
  File "/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py",
line 252, in _traverse
    result = _check_result(req, obj(req, form))
  File "/usr/lib64/python2.6/site-packages/invenio/bibedit_webinterface.py",
line 143, in index
    json_data))
  File "/usr/lib64/python2.6/site-packages/invenio/bibedit_engine.py", line
352, in perform_request_ajax
    data))
  File "/usr/lib64/python2.6/site-packages/invenio/bibedit_engine.py", line
585, in perform_request_record
    record_revision, record = create_cache_file(recid, uid)
TypeError: 'NoneType' object is not iterable

** Stack frame details

Frame perform_request_record in
/usr/lib64/python2.6/site-packages/invenio/bibedit_engine.py at line 585
----------------------------------------------------------------------------
---
       582                 undo_list = []
       583                 redo_list = []
       584             elif not existing_cache:
---->  585                 record_revision, record =
create_cache_file(recid, uid)
       586                 mtime = get_cache_mtime(recid, uid)
       587                 pending_changes = []
       588                 disabled_hp_changes = {}
----------------------------------------------------------------------------
---
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                         uid =  '1'
                          ln =  "'en'"
              existing_cache =  'False'
              read_only_mode =  'False'
               record_status =  '1'
                request_type =  "'getRecord'"
                       recid =  '60182'
                        data =  "{'inReadOnlyMode': False, 'requestType':
'getRecord', 'clonedRecord': False, 'recID': 60182, 'cacheMTime':
1422456848, 'deleteRecordCache': False, 'ID': 5}"
                    response =  '{}'

Frame perform_request_ajax in
/usr/lib64/python2.6/site-packages/invenio/bibedit_engine.py at line 352
----------------------------------------------------------------------------
---
       349         'deleteRecord', 'deleteRecordCache',
'prepareRecordMerge', 'revert'):
       350         # 'Major' record related requests.
       351         response.update(perform_request_record(req, request_type,
recid, uid,
---->  352                                                data))
       353     elif request_type in ('addField', 'addSubfields', \
       354                           'addFieldsSubfieldsOnPositions',
'modifyContent', \
       355                           'modifySubfieldTag', 'modifyFieldTag',
\
----------------------------------------------------------------------------
---
                         uid =  '1'
                          ln =  "'en'"
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                request_type =  "'getRecord'"
                   undo_redo =  'None'
                       recid =  '60182'
                      isBulk =  'False'
                        data =  "{'inReadOnlyMode': False, 'requestType':
'getRecord', 'clonedRecord': False, 'recID': 60182, 'cacheMTime':
1422456848, 'deleteRecordCache': False, 'ID': 5}"
                    response =  '{}'

Frame index in
/usr/lib64/python2.6/site-packages/invenio/bibedit_webinterface.py at line
143
----------------------------------------------------------------------------
---
       140         else:
       141             # Handle AJAX request.
       142             json_response.update(perform_request_ajax(req, recid,
uid,
---->  143                                                       json_data))
       144             return json.dumps(json_response)
       145 
       146     def compare_revisions(self, req, form):
----------------------------------------------------------------------------
---
               json_response =  "{'resultCode': 0, 'recID': 60182, 'ID': 5}"
                ajax_request =  'True'
                         uid =  '1'
                        form =  '{\'ln\': [Field(\'ln\', \'en\')],
\'jsondata\': [Field(\'jsondata\',
\'{"recID":60182,"requestType":"getRecord","deleteRecordCache":false,"cloned
Record":false,"inReadOnlyMode":false,"ID":5,"cacheMTime":1422456848}\')]}'
                   json_data =  "{'inReadOnlyMode': False, 'requestType':
'getRecord', 'clonedRecord': False, 'recID': 60182, 'cacheMTime':
1422456848, 'deleteRecordCache': False, 'ID': 5}"
                        self =
'<invenio.bibedit_webinterface.WebInterfaceEditPages object at
0x7f03982b4f90>'
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                   user_info =  "{'uid': 1, 'agent': 'Mozilla/5.0 (Windows
NT 5.2; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0', 'uri':
'/record/edit/?', 'precached_viewclaimlink': False, 'session':
'32c21af9407bc848bd78632e0c212384', 'precached_useadmin': True, 'group':
['jds'], 'login_method': 'Local', 'precached_usepaperattribution': False,
'precached_usepaperclaim': False, 'precached_viewsubmissions': True,
'email': '[email protected]', 'precached_usealerts': True,
'precached_usestats': True, 'precached_usemessages': True [...]
                       recid =  '60182'
                        argd =  "{'ln': 'en'}"

Frame _traverse in
/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py at line
252
----------------------------------------------------------------------------
---
       249                 req.uri not in CFG_NO_LANG_RECOGNITION_URIS:
       250             ln = get_preferred_user_language(req)
       251             form.add_field('ln', ln)
---->  252         result = _check_result(req, obj(req, form))
       253         return result
       254 
       255     def __call__(self, req, form):
----------------------------------------------------------------------------
---
                         obj =  '<bound method WebInterfaceEditPages.index
of <invenio.bibedit_webinterface.WebInterfaceEditPages object at
0x7f03982b4f90>>'
                        name =  "'index'"
                        form =  '{\'ln\': [Field(\'ln\', \'en\')],
\'jsondata\': [Field(\'jsondata\',
\'{"recID":60182,"requestType":"getRecord","deleteRecordCache":false,"cloned
Record":false,"inReadOnlyMode":false,"ID":5,"cacheMTime":1422456848}\')]}'
                          ln =  "'en'"
                     guest_p =  '0'
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                   component =  "''"
                     do_head =  'False'
                        path =  '[]'
                        self =
'<invenio.bibedit_webinterface.WebInterfaceEditPages object at
0x7f03982b4f90>'

Frame _traverse in
/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py at line
239
----------------------------------------------------------------------------
---
       236         # renderer. We even pass it the parsed form arguments.
       237         if path:
       238             if hasattr(obj, '_traverse'):
---->  239                 return obj._traverse(req, path, do_head, guest_p)
       240             else:
       241                 raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND
       242 
----------------------------------------------------------------------------
---
                         obj =
'<invenio.bibedit_webinterface.WebInterfaceEditPages object at
0x7f03982b4f90>'
                        name =  'None'
                     guest_p =  '0'
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                   component =  "'record'"
                     do_head =  'False'
                        path =  "['']"
                        self =
'<invenio.webinterface_layout.WebInterfaceInvenio object at 0x7f03b2de8210>'

Frame _handler in
/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py at line
445
----------------------------------------------------------------------------
---
       442                     args = cgi.parse_qs(req.args)
       443                     if 'debug' in args:
       444                         remote_debugger.error_msg(args['debug'])
---->  445             register_exception(req=req, alert_admin=True)
       446             raise
       447 
       448         # Serve an error by default.
----------------------------------------------------------------------------
---
             allowed_methods =  "('GET', 'POST', 'HEAD', 'OPTIONS', 'PUT')"
                           g =  'None'
                     guest_p =  '0'
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                         uri =  "'/record/edit/'"
                        path =  "['record', 'edit', '']"
                        root =
'<invenio.webinterface_layout.WebInterfaceInvenio object at 0x7f03b2de8210>'
                    bad_msie =  'None'


* 2015-01-28 17:54:33 -> TypeError: 'NoneType' object is not iterable
(bibedit_engine.py:585:perform_request_record)

** User details
                                     agent: Mozilla/5.0 (Windows NT 5.2;
WOW64; rv:35.0) Gecko/20100101 Firefox/35.0
                                     email: [email protected]
                                     group: ['jds']
                                     guest: 0
                                  language: en
                              login_method: Local
                                  nickname: admin
            precached_canseehiddenmarctags: True
precached_permitted_restricted_collections: []
                        precached_useadmin: True
                       precached_usealerts: True
                      precached_useapprove: True
                      precached_usebaskets: True
                       precached_usegroups: True
                        precached_useloans: True
                     precached_usemessages: True
             precached_usepaperattribution: False
                   precached_usepaperclaim: False
                        precached_usestats: True
                   precached_viewclaimlink: False
                 precached_viewsubmissions: True
                                   referer:
<http://lt-jds.jinr.ru/record/edit/?ln=en&;>
                               remote_host: 
                                 remote_ip: 159.93.40.120
                                   session: 32c21af9407bc848bd78632e0c212384
                                       uid: 1
                                       uri: </record/edit/?>

** Traceback details 

Traceback (most recent call last):
  File
"/usr/lib64/python2.6/site-packages/invenio/webinterface_handler_wsgi.py",
line 506, in application
    ret = invenio_handler(req)
  File "/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py",
line 362, in _profiler
    return _handler(req)
  File "/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py",
line 424, in _handler
    return root._traverse(req, path, False, guest_p)
  File "/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py",
line 239, in _traverse
    return obj._traverse(req, path, do_head, guest_p)
  File "/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py",
line 252, in _traverse
    result = _check_result(req, obj(req, form))
  File "/usr/lib64/python2.6/site-packages/invenio/bibedit_webinterface.py",
line 143, in index
    json_data))
  File "/usr/lib64/python2.6/site-packages/invenio/bibedit_engine.py", line
352, in perform_request_ajax
    data))
  File "/usr/lib64/python2.6/site-packages/invenio/bibedit_engine.py", line
585, in perform_request_record
    record_revision, record = create_cache_file(recid, uid)
TypeError: 'NoneType' object is not iterable

** Stack frame details

Frame perform_request_record in
/usr/lib64/python2.6/site-packages/invenio/bibedit_engine.py at line 585
----------------------------------------------------------------------------
---
       582                 undo_list = []
       583                 redo_list = []
       584             elif not existing_cache:
---->  585                 record_revision, record =
create_cache_file(recid, uid)
       586                 mtime = get_cache_mtime(recid, uid)
       587                 pending_changes = []
       588                 disabled_hp_changes = {}
----------------------------------------------------------------------------
---
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                         uid =  '1'
                          ln =  "'en'"
              existing_cache =  'False'
              read_only_mode =  'False'
               record_status =  '1'
                request_type =  "'getRecord'"
                       recid =  '60182'
                        data =  "{'inReadOnlyMode': False, 'requestType':
'getRecord', 'clonedRecord': False, 'recID': 60182, 'cacheMTime':
1422456848, 'deleteRecordCache': False, 'ID': 5}"
                    response =  '{}'

Frame perform_request_ajax in
/usr/lib64/python2.6/site-packages/invenio/bibedit_engine.py at line 352
----------------------------------------------------------------------------
---
       349         'deleteRecord', 'deleteRecordCache',
'prepareRecordMerge', 'revert'):
       350         # 'Major' record related requests.
       351         response.update(perform_request_record(req, request_type,
recid, uid,
---->  352                                                data))
       353     elif request_type in ('addField', 'addSubfields', \
       354                           'addFieldsSubfieldsOnPositions',
'modifyContent', \
       355                           'modifySubfieldTag', 'modifyFieldTag',
\
----------------------------------------------------------------------------
---
                         uid =  '1'
                          ln =  "'en'"
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                request_type =  "'getRecord'"
                   undo_redo =  'None'
                       recid =  '60182'
                      isBulk =  'False'
                        data =  "{'inReadOnlyMode': False, 'requestType':
'getRecord', 'clonedRecord': False, 'recID': 60182, 'cacheMTime':
1422456848, 'deleteRecordCache': False, 'ID': 5}"
                    response =  '{}'

Frame index in
/usr/lib64/python2.6/site-packages/invenio/bibedit_webinterface.py at line
143
----------------------------------------------------------------------------
---
       140         else:
       141             # Handle AJAX request.
       142             json_response.update(perform_request_ajax(req, recid,
uid,
---->  143                                                       json_data))
       144             return json.dumps(json_response)
       145 
       146     def compare_revisions(self, req, form):
----------------------------------------------------------------------------
---
               json_response =  "{'resultCode': 0, 'recID': 60182, 'ID': 5}"
                ajax_request =  'True'
                         uid =  '1'
                        form =  '{\'ln\': [Field(\'ln\', \'en\')],
\'jsondata\': [Field(\'jsondata\',
\'{"recID":60182,"requestType":"getRecord","deleteRecordCache":false,"cloned
Record":false,"inReadOnlyMode":false,"ID":5,"cacheMTime":1422456848}\')]}'
                   json_data =  "{'inReadOnlyMode': False, 'requestType':
'getRecord', 'clonedRecord': False, 'recID': 60182, 'cacheMTime':
1422456848, 'deleteRecordCache': False, 'ID': 5}"
                        self =
'<invenio.bibedit_webinterface.WebInterfaceEditPages object at
0x7f03982b4f90>'
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                   user_info =  "{'uid': 1, 'agent': 'Mozilla/5.0 (Windows
NT 5.2; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0', 'uri':
'/record/edit/?', 'precached_viewclaimlink': False, 'session':
'32c21af9407bc848bd78632e0c212384', 'precached_useadmin': True, 'group':
['jds'], 'login_method': 'Local', 'precached_usepaperattribution': False,
'precached_usepaperclaim': False, 'precached_viewsubmissions': True,
'email': '[email protected]', 'precached_usealerts': True,
'precached_usestats': True, 'precached_usemessages': True [...]
                       recid =  '60182'
                        argd =  "{'ln': 'en'}"

Frame _traverse in
/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py at line
252
----------------------------------------------------------------------------
---
       249                 req.uri not in CFG_NO_LANG_RECOGNITION_URIS:
       250             ln = get_preferred_user_language(req)
       251             form.add_field('ln', ln)
---->  252         result = _check_result(req, obj(req, form))
       253         return result
       254 
       255     def __call__(self, req, form):
----------------------------------------------------------------------------
---
                         obj =  '<bound method WebInterfaceEditPages.index
of <invenio.bibedit_webinterface.WebInterfaceEditPages object at
0x7f03982b4f90>>'
                        name =  "'index'"
                        form =  '{\'ln\': [Field(\'ln\', \'en\')],
\'jsondata\': [Field(\'jsondata\',
\'{"recID":60182,"requestType":"getRecord","deleteRecordCache":false,"cloned
Record":false,"inReadOnlyMode":false,"ID":5,"cacheMTime":1422456848}\')]}'
                          ln =  "'en'"
                     guest_p =  '0'
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                   component =  "''"
                     do_head =  'False'
                        path =  '[]'
                        self =
'<invenio.bibedit_webinterface.WebInterfaceEditPages object at
0x7f03982b4f90>'

Frame _traverse in
/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py at line
239
----------------------------------------------------------------------------
---
       236         # renderer. We even pass it the parsed form arguments.
       237         if path:
       238             if hasattr(obj, '_traverse'):
---->  239                 return obj._traverse(req, path, do_head, guest_p)
       240             else:
       241                 raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND
       242 
----------------------------------------------------------------------------
---
                         obj =
'<invenio.bibedit_webinterface.WebInterfaceEditPages object at
0x7f03982b4f90>'
                        name =  'None'
                     guest_p =  '0'
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                   component =  "'record'"
                     do_head =  'False'
                        path =  "['']"
                        self =
'<invenio.webinterface_layout.WebInterfaceInvenio object at 0x7f03b2de8210>'

Frame _handler in
/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py at line
446
----------------------------------------------------------------------------
---
       443                     if 'debug' in args:
       444                         remote_debugger.error_msg(args['debug'])
       445             register_exception(req=req, alert_admin=True)
---->  446             raise
       447 
       448         # Serve an error by default.
       449         raise apache.SERVER_RETURN, apache.HTTP_NOT_FOUND
----------------------------------------------------------------------------
---
             allowed_methods =  "('GET', 'POST', 'HEAD', 'OPTIONS', 'PUT')"
                           g =  'None'
                     guest_p =  '0'
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
                         uri =  "'/record/edit/'"
                        path =  "['record', 'edit', '']"
                        root =
'<invenio.webinterface_layout.WebInterfaceInvenio object at 0x7f03b2de8210>'
                    bad_msie =  'None'

Frame _profiler in
/usr/lib64/python2.6/site-packages/invenio/webinterface_handler.py at line
362
----------------------------------------------------------------------------
---
       359                     raise Exception('Debugging requested, but no
debugger registered: "%s"' % args['debug'])
       360             return _handler(req)
       361         else:
---->  362             return _handler(req)
       363 
       364     def _handler(req):
       365         """ This handler is invoked by mod_python with the apache
request."""
----------------------------------------------------------------------------
---
                    _handler =  '<function _handler at 0x7f03b2dcd140>'
                        args =  '{}'
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'

Frame application in
/usr/lib64/python2.6/site-packages/invenio/webinterface_handler_wsgi.py at
line 523
----------------------------------------------------------------------------
---
       520             else:
       521                 req.flush()
       522         except:
---->  523             register_exception(req=req, alert_admin=True)
       524             if not req.response_sent_p:
       525                 req.status = HTTP_INTERNAL_SERVER_ERROR
       526                 req.headers_out['content-type'] = 'text/html'
----------------------------------------------------------------------------
---
              start_response =  '<built-in method start_response of
mod_wsgi.Adapter object at 0x7f03aec3a558>'
                     environ =  '{\'mod_wsgi.listener_port\': \'80\',
\'HTTP_REFERER\': \'http://lt-jds.jinr.ru/record/edit/?ln=en&\',
\'mod_wsgi.listener_host\': \'159.93.33.28\', \'SERVER_SOFTWARE\':
\'Apache\', \'SCRIPT_NAME\': \'\', \'mod_wsgi.handler_script\': \'\',
\'SERVER_SIGNATURE\': \'\', \'REQUEST_METHOD\': \'POST\', \'PATH_INFO\':
\'/record/edit/\', \'SERVER_PROTOCOL\': \'HTTP/1.1\', \'QUERY_STRING\':
\'\', \'CONTENT_LENGTH\': \'213\', \'HTTP_USER_AGENT\': \'Mozilla/5.0
(Windows NT 5.2; WOW64; rv:35.0) Gecko/201001 [...]
                         req =
'<invenio.webinterface_handler_wsgi.SimulatedModPythonRequest object at
0x7f03b2d73dd0>'
            possible_handler =  'None'
             possible_module =  'None'



> -----Original Message-----
> From: Tibor Simko [mailto:[email protected]]
> Sent: Wednesday, January 28, 2015 4:30 PM
> To: Genis Musulmanbekov
> Cc: 'project-invenio-general'
> Subject: Re: Records with encoding errors
> 
> On Wed, 28 Jan 2015, Genis Musulmanbekov wrote:
> > When I am trying to see one of them by Record Editor.  It responses
> > with an error:
> 
> The message says that an Internal Server Error happened.  This
> indicates a trouble with the Python code on the server side.  Can you
> please look into `/opt/invenio/var/log/invenio.err` where you should
> see more information about the problem, including Python stack trace
> etc?
> 
> Best regards
> --
> Tibor Simko

Reply via email to