I was testing my custom module (using Eclipse), and I think I must have changed something in the code inadvertendly and can't recall what I changed. Now I get a 500 Internal Server Error message, here's what the Eclipse console log says:
2014-11-12 19:52:01,737 15542 ERROR Dev-Sales werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 177, in run_wsgi
execute(self.server.app)
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 165, in execute
application_iter = app(environ, start_response)
File "/opt/odoo/odoo-server/openerp/service/server.py", line 280, in app
return self.app(e, s)
File "/opt/odoo/odoo-server/openerp/service/wsgi_server.py", line 216, in application
return application_unproxied(environ, start_response)
File "/opt/odoo/odoo-server/openerp/service/wsgi_server.py", line 202, in application_unproxied
result = handler(environ, start_response)
File "/opt/odoo/odoo-server/openerp/http.py", line 1168, in __call__
return self.dispatch(environ, start_response)
File "/opt/odoo/odoo-server/openerp/http.py", line 1142, in __call__
return self.app(environ, start_wrapped)
File "/usr/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 579, in __call__
return self.app(environ, start_response)
File "/opt/odoo/odoo-server/openerp/http.py", line 1300, in dispatch
ir_http = request.registry['ir.http']
File "/opt/odoo/odoo-server/openerp/http.py", line 228, in registry
return openerp.modules.registry.RegistryManager.get(self.db) if self.db else None
File "/opt/odoo/odoo-server/openerp/modules/registry.py", line 291, in get
update_module)
File "/opt/odoo/odoo-server/openerp/modules/registry.py", line 322, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/odoo/odoo-server/openerp/modules/loading.py", line 353, in load_modules
force, status, report, loaded_modules, update_module)
File "/opt/odoo/odoo-server/openerp/modules/loading.py", line 263, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/opt/odoo/odoo-server/openerp/modules/loading.py", line 162, in load_module_graph
registry.setup_models(cr)
File "/opt/odoo/odoo-server/openerp/modules/registry.py", line 165, in setup_models
model._setup_fields(cr, SUPERUSER_ID)
File "/opt/odoo/odoo-server/openerp/api.py", line 204, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/api.py", line 297, in old_api
result = method(recs, *args, **kwargs)
File "/opt/odoo/odoo-server/openerp/models.py", line 2952, in _setup_fields
field.setup(self.env)
File "/opt/odoo/odoo-server/openerp/fields.py", line 360, in setup
self._setup(env)
File "/opt/odoo/odoo-server/openerp/fields.py", line 365, in _setup
self._setup_related(env)
File "/opt/odoo/odoo-server/openerp/fields.py", line 394, in _setup_related
recs = recs[name]
File "/opt/odoo/odoo-server/openerp/models.py", line 5328, in __getitem__
return self._fields[key].__get__(self, type(self))
KeyError: 'crm'
I don't see what anything specifically saying where the problem is. My module does inherrit from CRM, but that's not enough for me to go on. I have not found a way to fix the error. Any ideas?
In this instance I reverted to yesterday's snapshot of the dev machine. I'm not closing the question yet though in hopes that someone has an actual method of recovering from this situation.