Error al calcular el modelo 303 - OperationalError: could not obtain lock on row in relation "ir_sequence"

1,111 views
Skip to first unread message

Fernando Garcia Hansen

unread,
Apr 10, 2016, 5:36:00 AM4/10/16
to Usuarios Odoo / OpenERP en España
Hola a todos,

Al calcular el modelo 303 con esta  instalación:

odoo v8 


l10n_es_aeat_mod303
Affero GPL-3
8.0.1.3.0

Se me prestenta el siguiente error:


......

  return old_api(self, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_sequence.py", line 251, in _next
    cr.execute("SELECT number_next FROM ir_sequence WHERE id=%s FOR UPDATE NOWAIT", (seq['id'],))
  File "/opt/odoo/odoo-server/openerp/sql_db.py", line 158, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/sql_db.py", line 234, in execute
    res = self._obj.execute(query, params)
OperationalError: could not obtain lock on row in relation "ir_sequence"

¿A alguien le ha pasado, y sabe como arreglarlo?

Saludos y gracias.

cubells

unread,
Apr 10, 2016, 5:54:47 AM4/10/16
to openerp-s...@googlegroups.com
El 10/04/16 a les 11:36, Fernando Garcia Hansen ha escrit:
> Hola a todos,
>
> Al calcular el modelo 303 con esta instalación:
>
> odoo v8
>
>
> Nombre técnico l10n_es_aeat_mod303
> Licencia Affero GPL-3
> Última versión 8.0.1.3.0


Actualiza tu código si tienes la versión 8.0

Yo tengo la 8.0.1.5.0

> Se me prestenta el siguiente error:
>
>
> ......
>
> return old_api(self, *args, **kwargs)
> File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_sequence.py", line 251, in _next
> cr.execute("SELECT number_next FROM ir_sequence WHERE id=%s FOR UPDATE NOWAIT", (seq['id'],))
> File "/opt/odoo/odoo-server/openerp/sql_db.py", line 158, in wrapper
> return f(self, *args, **kwargs)
> File "/opt/odoo/odoo-server/openerp/sql_db.py", line 234, in execute
> res = self._obj.execute(query, params)
> OperationalError: could not obtain lock on row in relation "ir_sequence"
>
>
> ¿A alguien le ha pasado, y sabe como arreglarlo?
>


No me pasa ni nunca me ha pasado.

SEguramente el acceso a la secuencia se ha bloquado porque otro proceso
está intentando acceder a la misma.

Le has dado 2 veces muy seguidas al cálculo del 303?


--
Atentament, cubells.
--

Fernando Garcia Hansen

unread,
Apr 10, 2016, 5:58:30 AM4/10/16
to Usuarios Odoo / OpenERP en España
Hola Cubells,

Gracias por contestar.

Antes funcionaba. Si actualizo se me bloquea y adiós.

Paré y arranque el servidor. Cambié la secuencia. 

Estará corrompido postgres. Poniendo el error en la web, no sale nada clarificador.

En los anteriores ivas si funcionó, por eso no creo que sea un problema de actualización. 

Gracias.

cubells

unread,
Apr 10, 2016, 6:10:40 AM4/10/16
to openerp-s...@googlegroups.com
El 10/04/16 a les 11:58, Fernando Garcia Hansen ha escrit:
> Hola Cubells,
>
> Gracias por contestar.
>
> Antes funcionaba. Si actualizo se me bloquea y adiós.

Pero qué error te da?

Cuando dices actualizas, quieres decir que actualizas y después
reinicias el servidor con --update=all para que se regenere todo?

Qué te dice el log de odoo?


>
> Paré y arranque el servidor. Cambié la secuencia.
>

Para qué cambias la secuencia. NO se debe tocar nada de postgres
directamente a la base de datos o te la cargarás.

> Estará corrompido postgres. Poniendo el error en la web, no sale nada
> clarificador.
>

Lo dudo que esté corrompido. Enséñame el error de postgres en ese caso.



> En los anteriores ivas si funcionó, por eso no creo que sea un problema
> de actualización.
>


No me has demostrado lo contrario.

Reinicia postgres.
Reinicia odoo con --update=all
Revisa los logs a ver qué te dicen.

--
Atentament, cubells.
--

Fernando Garcia Hansen

unread,
Apr 11, 2016, 3:23:30 AM4/11/16
to Usuarios Odoo / OpenERP en España
Hola Cubells,

Hice lo siguiente,

Paro el servicio odoo

voy a la carpeta l10n_es y hago git pull (solo de esa carpeta)

hago sudo su odoo

arranco el servicio odoo con el siguiente comando

python /opt/odoo/odoo-server/openerp-server -c /etc/odoo-server.conf --update=all

Y efectivamente el problema se arregla, ya puedo hacer el IVA

Como la cosa parece que funciona, vuelvo a hacer el proceso pero actualizando todas las carpetas, la del propio odoo y todos los addons que había incluido en esta instalacion.

Emito una factura

Me pone como numero de la factura el número del asiento, es decir que ya no separa la secuencia de asientos, de la secuencia de las facturas.

Voy a ver la configuración de los diarios, y no me deja entrar en el diario de ventas, me sale este error.

AttributeError: El campo `invoice_sequence_id` no existe

Error de contexto:
Vista `account.journal.form`
[view_id: 418, xml_id: account.view_account_journal_form, model: account.journal, parent_id: n/a]

Yo quería actualizar la instalación para solucionar un problema, pero ahora me encuentro con una instalación inservible, con otro problema mas a arreglar, entrando en un bucle de problemas.

A esto me refiero cuando digo que si actualizas odoo se bloquea y adios.



El domingo, 10 de abril de 2016, 11:36:00 (UTC+2), Fernando Garcia Hansen escribió:

cubells

unread,
Apr 11, 2016, 3:45:01 AM4/11/16
to openerp-s...@googlegroups.com
El 11/04/16 a les 09:23, Fernando Garcia Hansen ha escrit:
> Hola Cubells,
>
> Hice lo siguiente,
>
> Paro el servicio odoo
>
> voy a la carpeta l10n_es y hago git pull (solo de esa carpeta)
>
> hago sudo su odoo
>
> arranco el servicio odoo con el siguiente comando
>
> python /opt/odoo/odoo-server/openerp-server -c /etc/odoo-server.conf
> --update=all
>
> Y efectivamente el problema se arregla, ya puedo hacer el IVA
>

Perfecto. Tenía yo razón.

> Como la cosa parece que funciona, vuelvo a hacer el proceso pero
> actualizando todas las carpetas, la del propio odoo y todos los addons
> que había incluido en esta instalacion.
>
> Emito una factura
>
> Me pone como numero de la factura el número del asiento, es decir que ya
> no separa la secuencia de asientos, de la secuencia de las facturas.
>
> Voy a ver la configuración de los diarios, y no me deja entrar en el
> diario de ventas, me sale este error.
>
> AttributeError: El campo `invoice_sequence_id` no existe
>


Has contemplado la posibilidad de que sea problema de configuración?

El orden en el que se cargan los addons es muy importante (la variable
addons_path del fichero de configuración)

Depende también de lo que tengas instalado.

Como no sé cómo lo tienes configurado y qué tienes instalado, no puedo
decirte más. Deberás de averiguarlo tú mismo o darnos más información
del log de error de odoo y de cómo lo tienes montado.


> Error de contexto:
> Vista `account.journal.form`
> [view_id: 418, xml_id: account.view_account_journal_form, model: account.journal, parent_id: n/a]
>
>
> Yo quería actualizar la instalación para solucionar un problema, pero ahora me encuentro con una instalación inservible, con otro problema mas a arreglar, entrando en un bucle de problemas.
>

Yo no diría "instalación inservible". Si consigues configurar
adecuadamente tu instalación, simplemente has de reiniciar.

Si te sirve de ayuda, mis instalaciones NO tienen tu problema y tengo el
código al día. Por lo tanto, no és odoo ni la localización española el
problema.


--
Atentament, cubells.
--

Fernando Garcia Hansen

unread,
Apr 11, 2016, 4:36:40 AM4/11/16
to Usuarios Odoo / OpenERP en España
Hola Cubells,

Muchas gracias por tu ayuda y tu paciencia.

Efectivamente, tenía una cosa mal en el fichero de configuracion:

Primero lee los addons de odoo y luego los customizados, yo borraba el l10n_es de la carpeta de odoo para que no los lea, pero al actualizar esto no sirve.

Ahora le cambié el orden para que lea primero los addons buenos. 

Y obtengo este resultado:

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.


Se bloquea y adios.


Seguramente habrá una solución. Y aparecerá otro problema, y otra solución y así ....


Agradezco tu ayuda pero me parece que esto va  ser una tarea infinita para mi. No dudo que a ti te funcione.


Saludos y gracias.










El domingo, 10 de abril de 2016, 11:36:00 (UTC+2), Fernando Garcia Hansen escribió:

cubells

unread,
Apr 11, 2016, 4:40:20 AM4/11/16
to openerp-s...@googlegroups.com
El 11/04/16 a les 10:36, Fernando Garcia Hansen ha escrit:
> Hola Cubells,
>
> Muchas gracias por tu ayuda y tu paciencia.
>
> Efectivamente, tenía una cosa mal en el fichero de configuracion:
>
> Primero lee los addons de odoo y luego los customizados, yo borraba el
> l10n_es de la carpeta de odoo para que no los lea, pero al actualizar
> esto no sirve.
>
> Ahora le cambié el orden para que lea primero los addons buenos.
>
> Y obtengo este resultado:
>
>
> 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.


con esa información no podemos ayudarte. Por qué no adjuntas las últimas
lineas dels fichero de log de odoo?

Yo lo tengo en:

$ tail -fn 50 /var/log/odoo/openerp-server.log

Y tú?


--
Atentament, cubells.
--

Fernando Garcia Hansen

unread,
Apr 11, 2016, 4:51:36 AM4/11/16
to Usuarios Odoo / OpenERP en España
Gracias Cubells,

Ya destruí la máquina.

Lo probaré en otro momento actualizando solo el módulo que me interesa para que los otros no me rompan nada. Mientras calcularé el iva a mano, como llevo haciendo cuatro años.

Que tiempos aquellos de los programas de windows. Era otra cosa. No había dolor, no había sufrimiento.

Saludos y gracias.

El domingo, 10 de abril de 2016, 11:36:00 (UTC+2), Fernando Garcia Hansen escribió:

mariluz...@gmail.com

unread,
Sep 28, 2016, 7:02:13 AM9/28/16
to Usuarios Odoo / OpenERP en España
Hola, Cubells,

Me ocurre exactamente lo mismo que le ocurría a Fernando y mi log muestra lo siguiente:


Error de contexto:
Vista `account.journal.form`
[view_id: 359, xml_id: account.view_account_journal_form, model: account.journal, parent_id: n/a]
2016-09-28 10:55:21,159 8923 ERROR ERP_prueba openerp.http: Exception during JSON request handling.
Traceback (most recent call last):
  File "/opt/odoo/odoo-server/openerp/http.py", line 544, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/opt/odoo/odoo-server/openerp/http.py", line 581, in dispatch
    result = self._call_function(**self.params)
  File "/opt/odoo/odoo-server/openerp/http.py", line 317, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/service/model.py", line 118, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/http.py", line 314, in checked_call
    return self.endpoint(*a, **kw)
  File "/opt/odoo/odoo-server/openerp/http.py", line 810, in __call__
    return self.method(*args, **kw)
  File "/opt/odoo/odoo-server/openerp/http.py", line 410, in response_wrap
    response = f(*args, **kw)
  File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 944, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 936, in _call_kw
    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/api.py", line 268, in wrapper
    return old_api(self, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/models.py", line 1545, in fields_view_get
    xarch, xfields = View.postprocess_and_fields(cr, uid, self._name, etree.fromstring(result['arch']), view_id, context=ctx)
  File "/opt/odoo/odoo-server/openerp/api.py", line 268, in wrapper
    return old_api(self, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_ui_view.py", line 839, in postprocess_and_fields
    self.raise_view_error(cr, user, message, view_id, context)
  File "/opt/odoo/odoo-server/openerp/api.py", line 268, in wrapper
    return old_api(self, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_ui_view.py", line 362, in raise_view_error
    raise AttributeError(message)

AttributeError: El campo `invoice_sequence_id` no existe

Error de contexto:
Vista `account.journal.form`
[view_id: 359, xml_id: account.view_account_journal_form, model: account.journal, parent_id: n/a]
2016-09-28 10:55:21,160 8923 INFO ERP_prueba werkzeug: 127.0.0.1 - - [28/Sep/2016 10:55:21] "POST /web/dataset/call_kw/account.journal/fields_view_get HTTP/1.1" 200 -
2016-09-28 10:55:57,617 8923 INFO ERP_prueba werkzeug: 127.0.0.1 - - [28/Sep/2016 10:55:57] "POST /longpolling/poll HTTP/1.1" 200 -
2016-09-28 10:56:07,290 8923 INFO ERP_prueba werkzeug: 127.0.0.1 - - [28/Sep/2016 10:56:07] "POST /longpolling/poll HTTP/1.1" 200 -
2016-09-28 10:56:07,300 8923 INFO ERP_prueba werkzeug: 127.0.0.1 - - [28/Sep/2016 10:56:07] "POST /longpolling/poll HTTP/1.1" 200 -
2016-09-28 10:56:07,330 8923 ERROR ERP_prueba openerp.sql_db: bad query: UPDATE "im_chat_presence" SET "status"='online',"last_poll"='2016-09-28 10:56:07',"write_uid"=1,"write_date"=(now() at time zone 'UTC') WHERE id IN (1)
Traceback (most recent call last):

  File "/opt/odoo/odoo-server/openerp/sql_db.py", line 234, in execute
    res = self._obj.execute(query, params)
TransactionRollbackError: could not serialize access due to concurrent update

2016-09-28 10:56:07,363 8923 INFO ERP_prueba openerp.service.model: SERIALIZATION_FAILURE, retry 1/5 in 0.9649 sec...

Espero que sirva para que me puedas ayudar y de paso a Fernando.

Saludos,
Mari Luz

mariluz...@gmail.com

unread,
Sep 28, 2016, 7:36:13 AM9/28/16
to Usuarios Odoo / OpenERP en España
Hola a todos!

Ya encontré el problema:

Al incluir en el path de addons las direcciones de los custom o de l10n-spain tiene que tener comas separando los distintos paths, PERO NO INCLUIR ESPACIOS entre los paths. SOLO separarlos por coma de la siguiente forma:

addons_path=/opt/odoo/odoo-server/addons,/opt/odoo/custom/addons,/opt/odoo/odoo-server/l10n-spain


SALUDOS!
Mari Luz

danielv...@gmail.com

unread,
Sep 1, 2017, 6:51:20 AM9/1/17
to Usuarios Odoo / OpenERP en España
Me había ilusionado con esto, pero yo ya lo tenía sin espacios.

Me da por pensar que lo que te ha pasado es que lo habrías solucionado antes y al reiniciar odoo se han aplicado tus cambios.

Yo he probado lo de poner "max_cron_threads = 1" en el "/etc/odoo/openerp-server.conf" y no me funciona.

Empiezo a plantearme que se debe a los crons que he hecho ajenos a odoo o a tener multi-dbs

Sin solución para mi :(

P.D: que odio le tengo a no poder debugear bien las cosas :S
Reply all
Reply to author
Forward
0 new messages