Odoo 11 - Python MemoryError

1.7k views Asked by At

I had a stable version of odoo 11 on windows server with wamp and apache apache2.4.9.

I've updated the wamp server and apache to 2.4.46 to anable http2.

Since that moment I'm getting a lot of issue and error.

The most important and urgent issue is the memory error: enter image description here

In the log I can see first of all an error due:

full connection pool

So I've increased the db_maxconn = 90 after this I'm still getting the error on connection pool and also the following error:

2020-10-14 09:35:14,107 5456 INFO odoo.addons.base.ir.ir_http: Exception during request Authentication.
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\base\ir\ir_http.py", line 108, in _authenticate
    request.session.check_security()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 1062, in check_security
    if not security.check_session(self):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\security.py", line 21, in check_session
    with odoo.registry(session.db).cursor() as cr:
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\modules\registry.py", line 484, in cursor
    return self._db.cursor()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 634, in cursor
    return Cursor(self.__pool, self.dbname, self.dsn, serialized=serialized)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 178, in __init__
    self._cnx = pool.borrow(dsn)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 517, in _locked
    return fun(self, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\sql_db.py", line 580, in borrow
    raise PoolError('The Connection Pool Is Full')
psycopg2.pool.PoolError: The Connection Pool Is Full


Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 647, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 307, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 87, in reraise
    raise value
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 703, in dispatch
    return self._json_response(result)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 635, in _json_response
    body = json.dumps(response, default=ustr)
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\json\__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\json\encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\json\encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
MemoryError

This is not clear where come from:

2020-10-13 22:15:58,011 1932 ERROR odoo.addons.website.models.ir_http: 500 Internal Server Error:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\base\ir\ir_http.py", line 208, in _dispatch
    result = request.dispatch()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 826, in dispatch
    r = self._call_function(**self.params)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 339, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 332, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 933, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 512, in response_wrap
    response = f(*args, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\website_sale\controllers\main.py", line 255, in shop
    products = Product.search(domain, limit=ppg, offset=pager['offset'], order=self._get_search_order(post))
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 1422, in search
    res = self._search(args, offset=offset, limit=limit, order=order, count=count)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3705, in _search
    order_by = self._generate_order_by(order, query)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3675, in _generate_order_by
    order_by_elements = self._generate_order_by_inner(self._table, order_spec, query)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3629, in _generate_order_by_inner
    self._check_qorder(order_spec)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\models.py", line 3509, in _check_qorder
    raise UserError(_('Invalid "order" specified. A valid "order" specification is a comma-separated list of valid field names (optionally followed by asc/desc for the direction)'))
odoo.exceptions.UserError: ('Invalid "order" specified. A valid "order" specification is a comma-separated list of valid field names (optionally followed by asc/desc for the direction)', '')

And this repeated many times:

2020-10-14 03:50:32,771 1932 ERROR ? odoo.service.server: Exception happened during processing of request from ('127.0.0.1', 63119)
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\socketserver.py", line 317, in _handle_request_noblock
    self.process_request(request, client_address)
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\socketserver.py", line 650, in process_request
    t.start()
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\threading.py", line 846, in start
    _start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
2020-10-14 03:50:32,818 1932 INFO werkzeug: 176.201.97.171 - - [14/Oct/2020 03:50:32] "GET /website/image/product.image/1492/image/90x90 HTTP/1.1" 500 -
2020-10-14 03:50:32,864 1932 ERROR odoo.service.server: Exception happened during processing of request from ('127.0.0.1', 63116)
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\site-packages\werkzeug\serving.py", line 209, in run_wsgi
    execute(self.server.app)
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\site-packages\werkzeug\serving.py", line 197, in execute
    application_iter = app(environ, start_response)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\server.py", line 252, in app
    return self.app(e, s)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\wsgi_server.py", line 164, in application
    return werkzeug.contrib.fixers.ProxyFix(application_unproxied)(environ, start_response)
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\site-packages\werkzeug\contrib\fixers.py", line 152, in __call__
    return self.app(environ, start_response)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\wsgi_server.py", line 154, in application_unproxied
    result = handler(environ, start_response)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 1313, in __call__
    return self.dispatch(environ, start_response)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 1287, in __call__
    return self.app(environ, start_wrapped)
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\site-packages\werkzeug\wsgi.py", line 600, in __call__
    return self.app(environ, start_response)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 1477, in dispatch
    result = ir_http._dispatch()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\website_sale\models\ir_http.py", line 15, in _dispatch
    return super(IrHttp, cls)._dispatch()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\auth_signup\models\ir_http.py", line 19, in _dispatch
    return super(Http, cls)._dispatch()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\web_editor\models\ir_http.py", line 21, in _dispatch
    return super(IrHttp, cls)._dispatch()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\http_routing\models\ir_http.py", line 391, in _dispatch
    result = super(IrHttp, cls)._dispatch()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\utm\models\ir_http.py", line 20, in _dispatch
    response = super(IrHttp, cls)._dispatch()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\base\ir\ir_http.py", line 212, in _dispatch
    return cls._handle_exception(e)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\website\models\ir_http.py", line 158, in _handle_exception
    return super(Http, cls)._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\base\ir\ir_http.py", line 182, in _handle_exception
    return request._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 767, in _handle_exception
    return super(HttpRequest, self)._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 307, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\pycompat.py", line 87, in reraise
    raise value
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\base\ir\ir_http.py", line 208, in _dispatch
    result = request.dispatch()
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 826, in dispatch
    r = self._call_function(**self.params)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 339, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\service\model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 332, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 933, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 512, in response_wrap
    response = f(*args, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\website\controllers\main.py", line 455, in content_image
    return Binary().content_image(**kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\http.py", line 512, in response_wrap
    response = f(*args, **kw)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\addons\web\controllers\main.py", line 1058, in content_image
    content = odoo.tools.image_resize_image(base64_source=content, size=(width or None, height or None), encoding='base64', filetype='PNG')
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\image.py", line 77, in image_resize_image
    image = image_resize_and_sharpen(image, size)
  File "C:\Program Files (x86)\Odoo 11.0\server\odoo\tools\image.py", line 97, in image_resize_and_sharpen
    image = image.convert('RGBA')
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\site-packages\PIL\Image.py", line 860, in convert
    self.load()
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\site-packages\PIL\ImageFile.py", line 188, in load
    self.load_prepare()
  File "C:\Program Files (x86)\Odoo 11.0\python\lib\site-packages\PIL\ImageFile.py", line 261, in load_prepare
    self.im = Image.core.new(self.mode, self.size)
    MemoryError

the following is my odoo.conf file:

[options]
db_maxconn = 90
limit_memory_hard = None
limit_memory_soft = None
limit_request = None
limit_time_cpu = None
limit_time_real = None
limit_time_real_cron = None
list_db = True
log_db = False
log_db_level = warning
log_handler = :INFO
log_level = info
logfile = C:\Program Files (x86)\Odoo 11.0\server\odoo.log
logrotate = False
longpolling_port = 8072
max_cron_threads = 2
osv_memory_age_limit = 1.0
osv_memory_count_limit = False
pg_path = C:\Program Files (x86)\Odoo 11.0\PostgreSQL\bin
pidfile = False
proxy_mode = True
reportgz = False
server_wide_modules = web
syslog = False
test_commit = False
test_enable = False
test_file = False
test_report_directory = False
translate_modules = ['all']
unaccent = False
without_demo = False
workers = None

During the error, the Python (32 bit) windows process was consuming 322,9MB of RAM and the system total Ram cosumed was at 58% so there was 42% of free RAM

And this is my server hardware:

Processor: Intel Xeon CPU E5-2640 v4 @2.40Ghz 2.40 GHz
Memory (RAM): 4.00 GB
Windows Server 2012 64bit

any suggestion on the error cause?

0

There are 0 answers