#1 Le 31/10/2015, à 16:26
- Byggvir
Odoo V8 « Internal Server error » pour une base de donnée
Bonjour,
Ce matin j'étais sur Odoo V8 et aucun soucis (c'est en phase de test dans notre entreprise) et j'ai voulu installer le module de gestion de la paie française, et après le serveur Odoo était down. quand j'accède à Odoo via le port 8069 j'obtiens :
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
Je peux encore accèder au choix des base via http://IP/web/database/selector. J'ai donc créé une nouvelle base et la aucun soucis. sauf que vu tout le travail effectue dans la base actuel il faut vraiment que je récupère la base. J'ai tenté :
sudo service odoo restart
sudo service postgresql restart
Mais ça ne change rien donc j'ai réinstaller Odoo :
sudo apt-get autoremove --purge odoo
sudo apt-get install odoo
ça ne change rien toujours le même problème
Je suis sous Debian 7
Voici le contenu du log de odoo quand je lance http://IP:8069
2015-10-30 17:06:04,641 4624 ERROR odoo openerp.sql_db: Programming error: ERREUR: la colonne res_company.nombre_employes n'existe pas
LINE 1: ...any"."overdue_msg","res_company"."paperformat_id","res_compa...
^
, in query SELECT "res_company"."rml_footer","res_company"."email","res_company"."account_no","res_company"."custom_footer","res_company"."overdue_msg","res_company"."paperformat_id","res_company"."nombre_employes","res_company"."company_registry","res_company"."vat_check_vies","res_company"."cotisation_prevoyance","res_company"."security_lead","res_company"."rml_header1","res_company"."ape","res_company"."write_uid","res_company"."plafond_secu","res_company"."sale_note","res_company"."parent_id","res_company"."tax_calculation_rounding_method","res_company"."id","res_company"."rml_header","res_company"."manufacturing_lead","res_company"."po_lead","res_company"."expense_currency_exchange_account_id","res_company"."currency_id","res_company"."partner_id","res_company"."rml_header2","res_company"."create_date","res_company"."name","res_company"."phone","res_company"."font","res_company"."write_date","res_company"."project_time_mode_id","res_company"."rml_header3","res_company"."expects_chart_of_accounts","res_company"."org_ss","res_company"."conv_coll","res_company"."income_currency_exchange_account_id","res_company"."create_uid","res_company"."rml_paper_format","res_company"."propagation_minimum_delta","res_company"."paypal_account","res_company"."siret","res_company"."internal_transit_location_id" FROM "res_company"
WHERE "res_company".id IN %s ORDER BY "res_company"."name"
2015-10-30 17:06:04,643 4624 ERROR odoo openerp.addons.website.models.ir_http: 500 Internal Server Error:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/addons/website/models/ir_http.py", line 199, in _handle_exception
response = super(ir_http, self)._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_http.py", line 145, in _handle_exception
return request._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 666, in _handle_exception
return super(HttpRequest, self)._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 1370, in get_response
result.flatten()
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 1241, in flatten
self.response.append(self.render())
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 1235, in render
context=request.context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/website/models/ir_ui_view.py", line 172, in render
return super(view, self).render(cr, uid, id_or_xml_id, values=values, engine=engine, context=context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_ui_view.py", line 1017, in render
return self.pool[engine].render(cr, uid, id_or_xml_id, qcontext, loader=loader, context=context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 262, in render
return self.render_node(self.get_template(id_or_xml_id, qwebcontext), qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 301, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 322, in render_element
g_inner.append(self.render_node(current_node, qwebcontext))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 299, in render_node
result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 446, in render_tag_call
return self.render(cr, uid, template, d)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 262, in render
return self.render_node(self.get_template(id_or_xml_id, qwebcontext), qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 301, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 322, in render_element
g_inner.append(self.render_node(current_node, qwebcontext))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 299, in render_node
result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 446, in render_tag_call
return self.render(cr, uid, template, d)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 262, in render
return self.render_node(self.get_template(id_or_xml_id, qwebcontext), qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 301, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 322, in render_element
g_inner.append(self.render_node(current_node, qwebcontext))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 299, in render_node
result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 446, in render_tag_call
return self.render(cr, uid, template, d)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 262, in render
return self.render_node(self.get_template(id_or_xml_id, qwebcontext), qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 301, in render_node
result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 322, in render_element
g_inner.append(self.render_node(current_node, qwebcontext))
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 284, in render_node
for att, val in attrs:
File "/usr/lib/python2.7/dist-packages/openerp/addons/website/models/ir_qweb.py", line 61, in render_att_att
for att, val in super(QWeb, self).render_att_att(element, attribute_name, attribute_value, qwebcontext):
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 358, in render_att_att
return [(attribute_name[6:], self.eval(attribute_value, qwebcontext))]
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 206, in eval
raise_qweb_exception(message="Could not evaluate expression %r" % expr, expression=expr, template=template)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 203, in eval
return qwebcontext.safe_eval(expr)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_qweb.py", line 89, in safe_eval
return eval(expr, None, locals_dict, nocopy=True, locals_builtins=True)
File "/usr/lib/python2.7/dist-packages/openerp/tools/safe_eval.py", line 314, in safe_eval
return eval(c, globals_dict, locals_dict)
File "", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/openerp/fields.py", line 819, in __get__
self.determine_value(record)
File "/usr/lib/python2.7/dist-packages/openerp/fields.py", line 912, in determine_value
record._prefetch_field(self)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3241, in _prefetch_field
result = records.read(list(fnames), load='_classic_write')
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3178, in read
self._read_from_database(stored, inherited)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3310, in _read_from_database
cr.execute(query_str, [tuple(sub_ids)] + where_params)
File "/usr/lib/python2.7/dist-packages/openerp/sql_db.py", line 158, in wrapper
return f(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/sql_db.py", line 234, in execute
res = self._obj.execute(query, params)
QWebException: "ERREUR: la colonne res_company.nombre_employes n'existe pas
LINE 1: ...any"."overdue_msg","res_company"."paperformat_id","res_compa...
" while evaluating
'res_company.name'
2015-10-30 17:06:04,643 4624 ERROR odoo openerp.sql_db: bad query: SELECT id FROM "ir_ui_view" WHERE id IN (846)
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/sql_db.py", line 234, in execute
res = self._obj.execute(query, params)
InternalError: ERREUR: la transaction est annulée, les commandes sont ignorées jusqu'à la fin du bloc
de la transaction
2015-10-30 17:06:04,646 4624 INFO odoo werkzeug: 81.56.107.163 - - [30/Oct/2015 17:06:04] "GET /web/login?redirect=http%3A%2F%2Fcairn-devices.eu%3A8069%2Fweb%3Fdb%3Dodoo HTTP/1.1" 500 -
2015-10-30 17:06:04,683 4624 ERROR odoo werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/share/pyshared/werkzeug/serving.py", line 159, in run_wsgi
execute(app)
File "/usr/share/pyshared/werkzeug/serving.py", line 146, in execute
application_iter = app(environ, start_response)
File "/usr/lib/python2.7/dist-packages/openerp/service/server.py", line 290, in app
return self.app(e, s)
File "/usr/lib/python2.7/dist-packages/openerp/service/wsgi_server.py", line 216, in application
return application_unproxied(environ, start_response)
File "/usr/lib/python2.7/dist-packages/openerp/service/wsgi_server.py", line 202, in application_unproxied
result = handler(environ, start_response)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 1290, in __call__
return self.dispatch(environ, start_response)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 1264, in __call__
return self.app(environ, start_wrapped)
File "/usr/share/pyshared/werkzeug/wsgi.py", line 411, in __call__
return self.app(environ, start_response)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 1442, in dispatch
response = self.get_response(httprequest, result, explicit_session)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 1373, in get_response
result = request.registry['ir.http']._handle_exception(e)
File "/usr/lib/python2.7/dist-packages/openerp/addons/website/models/ir_http.py", line 231, in _handle_exception
views = view._views_get(request.cr, request.uid, exception.qweb['template'], request.context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/website/models/ir_ui_view.py", line 48, in _views_get
view = self._view_obj(cr, uid, view_id, context=context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/website/models/ir_ui_view.py", line 29, in _view_obj
cr, uid, view_id, raise_if_not_found=True, context=context
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_model.py", line 930, in xmlid_to_object
if record.exists():
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 4898, in exists
self._cr.execute(query, [tuple(ids)])
File "/usr/lib/python2.7/dist-packages/openerp/sql_db.py", line 158, in wrapper
return f(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/sql_db.py", line 234, in execute
res = self._obj.execute(query, params)
InternalError: ERREUR: la transaction est annulée, les commandes sont ignorées jusqu'à la fin du bloc
de la transaction
De ce que je comprend il manque une colonne dans la base, mais que faire ?
Merci de m'aider,
J'ai installé Odoo avec les dépots nightly V8 officiel
Hors ligne
#2 Le 31/10/2015, à 16:27
- Byggvir
Re : Odoo V8 « Internal Server error » pour une base de donnée
Alors, quand je crée une nouvelle base il n'y a aucun problème, mais comme je disais je dois ABSOLUMENT récupérer certaines infos de la base de données corrompue (?).
J'ai donc créé une copie de la base qui m'intéresse avec le database manager de Odoo.
Cette base a exactement les mêmes symptômes que la base originale (normale), et j'ai commencé à l'étudier avec pdadmin3. J'ai donc supprimé toute (?) les références au module de gestion de la paie, qui me semble être l'origine du problème.
Je peux maintenant accéder à l'interface Odoo, mais quand je vais sur gestion de projet (un des endroits ou je dois récupérer des infos) et que je clique sur un projet j'ai ce message d’erreur et c'est inaccessible. :
Odoo Server Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 537, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 574, in dispatch
result = self._call_function(**self.params)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 310, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 307, in checked_call
return self.endpoint(*a, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 803, in __call__
return self.method(*args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 403, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 1247, in load
action = request.session.model(action_type).read([action_id], False, ctx)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 908, in proxy
result = meth(cr, request.uid, *args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_actions.py", line 325, in read
results = super(ir_actions_act_window, self).read(cr, uid, ids, fields=fields, context=context, load=load)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3143, in read
result = BaseModel.read(records, fields, load=load)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3178, in read
self._read_from_database(stored, inherited)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3365, in _read_from_database
res2 = self._columns[f].get(cr, self._model, ids, f, user, context=context, values=result)
File "/usr/lib/python2.7/dist-packages/openerp/osv/fields.py", line 1455, in get
result = self._fnct(obj, cr, uid, ids, name, self._arg, context)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/ir/ir_actions.py", line 267, in _search_view
'search', context=context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/project/project.py", line 854, in fields_view_get
obj_tm = users_obj.browse(cr, SUPERUSER_ID, uid, context=context).company_id.project_time_mode_id
File "/usr/lib/python2.7/dist-packages/openerp/fields.py", line 819, in __get__
self.determine_value(record)
File "/usr/lib/python2.7/dist-packages/openerp/fields.py", line 912, in determine_value
record._prefetch_field(self)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3241, in _prefetch_field
result = records.read(list(fnames), load='_classic_write')
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3178, in read
self._read_from_database(stored, inherited)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3310, in _read_from_database
cr.execute(query_str, [tuple(sub_ids)] + where_params)
File "/usr/lib/python2.7/dist-packages/openerp/sql_db.py", line 158, in wrapper
return f(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/sql_db.py", line 234, in execute
res = self._obj.execute(query, params)
ProgrammingError: ERREUR: la colonne res_company.cotisation_prevoyance n'existe pas
LINE 1: ...manufacturing_lead","res_company"."custom_footer","res_compa...
^
C'est semblable à ce que je trouve dans les logs. Donc pas moyen par ce chemin de récupérer les infos.
D'où une nouvelle question savez vous comment je peux copier, depuis la base de données (pgadmin3), le module de gestion de projet, de ressource humaine, le calendrier et les notes ? Merci de m'éclairer
Hors ligne
#3 Le 31/10/2015, à 22:14
- Ner0lph
Re : Odoo V8 « Internal Server error » pour une base de donnée
Bonjour,
Il faut peut-être tout simplement créer la colonne manquante ?
Hors ligne
#4 Le 01/11/2015, à 09:18
- Byggvir
Re : Odoo V8 « Internal Server error » pour une base de donnée
Mais je ne sais pas ou et comment car une BDD Odoo contient pleins de table
Hors ligne
#5 Le 01/11/2015, à 09:47
- quentin.theuret
Re : Odoo V8 « Internal Server error » pour une base de donnée
Le module de paie française, tu l'as récupéré où ?
Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net
Hors ligne
#6 Le 01/11/2015, à 09:51
- Byggvir
Re : Odoo V8 « Internal Server error » pour une base de donnée
Je suis pas sorti d'Odoo c'était proposé dans la liste des apps et il était certifié (de ce que je me souviens)
Hors ligne
#7 Le 01/11/2015, à 09:56
- Byggvir
Re : Odoo V8 « Internal Server error » pour une base de donnée
Paie
By OpenERP SA
Je viens de vérifier et c'est celui la
Hors ligne
#8 Le 01/11/2015, à 10:00
- Byggvir
Re : Odoo V8 « Internal Server error » pour une base de donnée
Je ne pense pas que le module ait un soucis je viens de l'installer sur une autre base fonctionnelle (à l'avenir je ferais comme ça...) et aucun soucis donc je pense que c'est à l'installation que il y a eu un problème
Hors ligne
#9 Le 01/11/2015, à 10:09
- quentin.theuret
Re : Odoo V8 « Internal Server error » pour une base de donnée
Essaie de redémarrer ton OpenERP server avec '-d nom_de_ta_base_de_données -u all'
Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net
Hors ligne
#10 Le 01/11/2015, à 10:12
- Byggvir
Re : Odoo V8 « Internal Server error » pour une base de donnée
Tu peux expliciter la commande car moi je redémarre mon ERP avec :
sudo service odoo restart
Hors ligne
#11 Le 01/11/2015, à 10:18
- quentin.theuret
Re : Odoo V8 « Internal Server error » pour une base de donnée
Ok, il a été installé avec les paquets ?
Framasoft: La route est longue mais la voie est libre.
Consultant Logiciels Libres / Odoo
https://www.quentin-theuret.net
Hors ligne
#12 Le 01/11/2015, à 10:21
- Byggvir
Re : Odoo V8 « Internal Server error » pour une base de donnée
Oui avec les dépots nigthly v8 officiel
sudo vim /etc/apt/sources.list.d/odoo.list
deb http://nightly.odoo.com/8.0/nightly/deb/ ./
sudo apt-get update
sudo apt-get install odoo
Dernière modification par Byggvir (Le 01/11/2015, à 10:26)
Hors ligne
#13 Le 06/11/2015, à 12:50
- L'Africain
Re : Odoo V8 « Internal Server error » pour une base de donnée
Bonjour;
Avez-vous regardé la page de la documentation sur OpenERP qui parle de ce problème il me semble.
Cordialement,
Ubuntu-Unity 18.04 LDLC (clevo) X/Lubuntu-Mate
"Donne à celui qui te demande…" Mt 5,42
Hors ligne