This question has been flagged
1 Reply
4745 Views

I've written an application that interacts with an Odoo sass-14 database via the XML-RPC API. Most of the time reading, writing, creating and deleting objects all works fine without issue. However, lately I have been randomly getting the following error when trying to update an object. The error does not occur consistently. I see it in the logs once in a while, and when I try to reproduce it, it doesn't occur. This is the error:


    Traceback (most recent call last):

      File "/home/odoo/src/odoo/saas-14/odoo/service/wsgi_server.py", line 56, in xmlrpc_return

        result = odoo.http.dispatch_rpc(service, method, params)

      File "/home/odoo/src/odoo/saas-14/odoo/http.py", line 118, in dispatch_rpc

        result = dispatch(method, params)

      File "/home/odoo/src/odoo/saas-14/odoo/service/model.py", line 38, in dispatch

        res = fn(db, uid, *params)

      File "/home/odoo/src/odoo/saas-14/odoo/service/model.py", line 157, in execute_kw

        return execute(db, uid, obj, method, *args, **kw or {})

      File "/home/odoo/src/odoo/saas-14/odoo/service/model.py", line 101, in wrapper

        return f(dbname, *args, **kwargs)

      File "/home/odoo/src/odoo/saas-14/odoo/service/model.py", line 164, in execute

        res = execute_cr(cr, uid, obj, method, *args, **kw)

      File "/home/odoo/src/odoo/saas-14/odoo/service/model.py", line 153, in execute_cr

        return odoo.api.call_kw(recs, method, args, kw)

      File "/home/odoo/src/odoo/saas-14/odoo/api.py", line 681, in call_kw

        return call_kw_multi(method, model, args, kwargs)

      File "/home/odoo/src/odoo/saas-14/odoo/api.py", line 672, in call_kw_multi

        result = method(recs, *args, **kwargs)

      File "/home/odoo/src/odoo/saas-14/addons/mail/models/mail_thread.py", line 271, in write

        for record in track_self)

      File "/home/odoo/src/odoo/saas-14/addons/mail/models/mail_thread.py", line 271, in <genexpr>

        for record in track_self)

      File "/home/odoo/src/odoo/saas-14/addons/mail/models/mail_thread.py", line 270, in <genexpr>

        initial_values = dict((record.id, dict((key, getattr(record, key)) for key in tracked_fields))

      File "/home/odoo/src/odoo/saas-14/odoo/fields.py", line 873, in __get__

        self.determine_value(record)

      File "/home/odoo/src/odoo/saas-14/odoo/fields.py", line 959, in determine_value

        self.compute_value(recs)

      File "/home/odoo/src/odoo/saas-14/odoo/fields.py", line 939, in compute_value

        self._compute_value(records)

      File "/home/odoo/src/odoo/saas-14/odoo/fields.py", line 930, in _compute_value

        getattr(records, self.compute)()

      File "/home/odoo/src/odoo/saas-14/addons/sale/models/sale.py", line 28, in _amount_all

        for line in order.order_line:

      File "/home/odoo/src/odoo/saas-14/odoo/fields.py", line 873, in __get__

        self.determine_value(record)

      File "/home/odoo/src/odoo/saas-14/odoo/fields.py", line 975, in determine_value

        record._prefetch_field(self)

      File "/home/odoo/src/odoo/saas-14/odoo/models.py", line 3082, in _prefetch_field

        result = records.read([f.name for f in fs], load='_classic_write')

      File "/home/odoo/src/odoo/saas-14/odoo/models.py", line 3022, in read

        self._read_from_database(stored, inherited)

      File "/home/odoo/src/odoo/saas-14/odoo/models.py", line 3150, in _read_from_database

        cr.execute(query_str, params)

      File "/home/odoo/src/odoo/saas-14/odoo/sql_db.py", line 153, in wrapper

        raise psycopg2.OperationalError(msg)

    OperationalError: Unable to use a closed cursor.


The application is a Laravel PHP app that is running via a worker daemon monitored by supervisord. When the error does occur, it seems to always be at the same spot in the application when I am updating the `order_line` information for a `sale.order`.


Does anyone have any idea what might be causing this error? It's been very hard to track down since it does not occur consistently.

Avatar
Discard
Best Answer

I face this problem and when i put the default configuration of my odoo config file its work fine.

Because the odoo-config file was changed somehow i work with odoo v11

Avatar
Discard