Update database error

Hi everyone,

I am trying to update trytond from 5.6.4 to 5.6.5 but when I update the database I get following:

$ trytond-admin -v -c trytond.conf -d vertikal -u ir -vvv
Wed Aug 19 17:46:29 2020] INFO:server:using log.conf as logging configuration file
Wed Aug 19 17:46:30 2020] INFO:trytond.backend.postgresql.database:connection to "vertikal" succeeded
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:ir:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:res:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:country:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:currency:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:log_action:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:tests:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:user_role:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:party:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:company:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:party_lastname:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:party_pa:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:account:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:party_type:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:product:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:rrhh:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:account_product:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:domum:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:domum_account_pa:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:rrhh_pa_208:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:stock:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:account_invoice:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:domum_vertikal:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:rrhh_pa_208_planilla:registering classes
Wed Aug 19 17:46:31 2020] INFO:trytond.modules:account_invoice_stock:registering classes
Wed Aug 19 17:46:32 2020] INFO:trytond.modules:cash_bank:registering classes
Wed Aug 19 17:46:32 2020] INFO:trytond.modules:cash_bank_reconciliation:registering classes
Wed Aug 19 17:46:32 2020] INFO:trytond.modules:purchase:registering classes
Wed Aug 19 17:46:32 2020] INFO:trytond.modules:sale:registering classes
Wed Aug 19 17:46:32 2020] INFO:trytond.modules:domum_invoice_bulk:registering classes
Wed Aug 19 17:46:32 2020] INFO:trytond.pool:init pool for "vertikal"
Wed Aug 19 17:46:32 2020] INFO:trytond.modules:ir
Wed Aug 19 17:46:32 2020] INFO:trytond.pool:setup pool for "vertikal"
Wed Aug 19 17:46:32 2020] INFO:trytond.modules:ir:register ir.configuration
Wed Aug 19 17:46:32 2020] WARNING:py.warnings:/usr/lib/python3/dist-packages/apport/report.py:13: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import fnmatch, glob, traceback, errno, sys, atexit, locale, imp

Traceback (most recent call last):
  File "/srv/samba/develop/repositorio/5.6/trytond-5.6.5/bin/trytond-admin", line 23, in <module>
    admin.run(options)
  File "/srv/samba/develop/repositorio/5.6/trytond-5.6.5/trytond/admin.py", line 53, in run
    activatedeps=options.activatedeps)
  File "/srv/samba/develop/repositorio/5.6/trytond-5.6.5/trytond/pool.py", line 162, in init
    lang=lang, activatedeps=activatedeps)
  File "/srv/samba/develop/repositorio/5.6/trytond-5.6.5/trytond/modules/__init__.py", line 427, in load_modules
    _load_modules(update)
  File "/srv/samba/develop/repositorio/5.6/trytond-5.6.5/trytond/modules/__init__.py", line 397, in _load_modules
    load_module_graph(graph, pool, update, lang)
  File "/srv/samba/develop/repositorio/5.6/trytond-5.6.5/trytond/modules/__init__.py", line 238, in load_module_graph
    cls.__register__(module)
  File "/srv/samba/develop/repositorio/5.6/trytond-5.6.5/trytond/model/modelsql.py", line 217, in __register__
    super(ModelSQL, cls).__register__(module_name)
  File "/srv/samba/develop/repositorio/5.6/trytond-5.6.5/trytond/model/model.py", line 120, in __register__
    model_id = Model_.register(cls, module_name)
  File "/srv/samba/develop/repositorio/5.6/trytond-5.6.5/trytond/ir/model.py", line 111, in register
    where=ir_model.id == model_id))
  File "/srv/samba/develop/repositorio/5.6/trytond-5.6.5/trytond/backend/postgresql/database.py", line 69, in execute
    cursor.execute(self, sql, args)
  File "/home/framirez/venv3/lib/python3.6/site-packages/psycopg2cffi/_impl/cursor.py", line 30, in check_closed_
    return func(self, *args, **kwargs)
  File "/home/framirez/venv3/lib/python3.6/site-packages/psycopg2cffi/_impl/cursor.py", line 263, in execute
    self._pq_execute(self._query, conn._async)
  File "/home/framirez/venv3/lib/python3.6/site-packages/psycopg2cffi/_impl/cursor.py", line 696, in _pq_execute
    self._pq_fetch()
  File "/home/framirez/venv3/lib/python3.6/site-packages/psycopg2cffi/_impl/cursor.py", line 757, in _pq_fetch
    raise self._conn._create_exception(cursor=self)
psycopg2cffi._impl.exceptions.InternalError: cannot execute UPDATE in a read-only transaction

This does not happen if I update in 5.6.4

Any clue about this?

Thank you

I think it is a bug introduced by trytond: 31782945a446
Here is Issue 9546: Transaction always readonly with psycopg2cffi - Tryton issue tracker which should fix it.
By the way, it is quite rare to use psycopg2cffi instead of psycopg2. It is mainly only to use with PyPy instead of cPython.

Thank you @ced, I uninstalled psycopg2cffi from my venv and it is solved now using psycopg2

But does the proposed patch fix the issue with psycopg2cffi?

Yes, I reinstalled psycopg2cffi and applied the patch and it fix it.

1 Like