Сервер Odoo аварийно завершает работу после обновления системных пакетов
У меня серьезные проблемы. Я использую Odoo 10, 11, 12, 13 и 14 CE на одном сервере с Postgresql 12 ubuntu 20.04 и Nginx в качестве обратного прокси. Все экземпляры работали нормально с момента последнего обновления системы. Я обновил свой сервер с помощью «apt update», он попросил перезагрузку. Я перезагрузил сервер. Теперь все мои экземпляры выдают ошибки. Некоторые при запуске баз данных, некоторые при создании новых баз данных. Ошибки одинаковы на всех версиях. Каждая ошибка имеет"Extra content at the end of the document, line 24, column 9"
проблемы с типом. Ошибка при создании базы данных в Odoo 13 и Odoo 14.
2021-07-01 21:25:13,774 392124 ERROR urdu odoo.modules.registry: Failed to load registry
Traceback (most recent call last):
File "/opt/odoo13/odoo/tools/convert.py", line 712, in parse
self._tag_root(de)
File "/opt/odoo13/odoo/tools/convert.py", line 674, in _tag_root
f(rec)
File "/opt/odoo13/odoo/tools/convert.py", line 577, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/opt/odoo13/odoo/models.py", line 4146, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/opt/odoo13/odoo/models.py", line 4060, in _load_records_create
return self.create(values)
File "<decorator-gen-32>", line 2, in create
File "/opt/odoo13/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 475, in create
return super(View, self).create(vals_list)
File "<decorator-gen-3>", line 2, in create
File "/opt/odoo13/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo13/odoo/models.py", line 3821, in create
fields[0].determine_inverse(batch_recs)
File "/opt/odoo13/odoo/fields.py", line 1122, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 299, in _inverse_arch
view.write(data)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 493, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo13/odoo/models.py", line 3610, in write
real_recs._validate_fields(set(vals) - set(inverse_fields))
File "/opt/odoo13/odoo/models.py", line 1201, in _validate_fields
check(self)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 385, in _check_xml
view_arch = etree.fromstring(view.arch.encode('utf-8'))
File "src/lxml/lxml.etree.pyx", line 3213, in lxml.etree.fromstring (src/lxml/lxml.etree.c:79003)
File "src/lxml/parser.pxi", line 1848, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:118334)
File "src/lxml/parser.pxi", line 1736, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:117014)
File "src/lxml/parser.pxi", line 1102, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:111258)
File "src/lxml/parser.pxi", line 595, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:105102)
File "src/lxml/parser.pxi", line 706, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:106810)
File "src/lxml/parser.pxi", line 635, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:105664)
File "<string>", line 24
lxml.etree.XMLSyntaxError: Extra content at the end of the document, line 24, column 9
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/odoo13/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/odoo13/odoo/modules/loading.py", line 364, in load_modules
report=report, models_to_check=models_to_check)
File "/opt/odoo13/odoo/modules/loading.py", line 225, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "/opt/odoo13/odoo/modules/loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "/opt/odoo13/odoo/tools/convert.py", line 736, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/opt/odoo13/odoo/tools/convert.py", line 803, in convert_xml_import
obj.parse(doc.getroot())
File "/opt/odoo13/odoo/tools/convert.py", line 721, in parse
exc_info[2]
File "/opt/odoo13/odoo/tools/pycompat.py", line 13, in reraise
raise value.with_traceback(tb)
File "/opt/odoo13/odoo/tools/convert.py", line 712, in parse
self._tag_root(de)
File "/opt/odoo13/odoo/tools/convert.py", line 674, in _tag_root
f(rec)
File "/opt/odoo13/odoo/tools/convert.py", line 577, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/opt/odoo13/odoo/models.py", line 4146, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/opt/odoo13/odoo/models.py", line 4060, in _load_records_create
return self.create(values)
File "<decorator-gen-32>", line 2, in create
File "/opt/odoo13/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 475, in create
return super(View, self).create(vals_list)
File "<decorator-gen-3>", line 2, in create
File "/opt/odoo13/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo13/odoo/models.py", line 3821, in create
fields[0].determine_inverse(batch_recs)
File "/opt/odoo13/odoo/fields.py", line 1122, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 299, in _inverse_arch
view.write(data)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 493, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo13/odoo/models.py", line 3610, in write
real_recs._validate_fields(set(vals) - set(inverse_fields))
File "/opt/odoo13/odoo/models.py", line 1201, in _validate_fields
check(self)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 385, in _check_xml
view_arch = etree.fromstring(view.arch.encode('utf-8'))
File "src/lxml/lxml.etree.pyx", line 3213, in lxml.etree.fromstring (src/lxml/lxml.etree.c:79003)
File "src/lxml/parser.pxi", line 1848, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:118334)
File "src/lxml/parser.pxi", line 1736, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:117014)
File "src/lxml/parser.pxi", line 1102, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:111258)
File "src/lxml/parser.pxi", line 595, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:105102)
File "src/lxml/parser.pxi", line 706, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:106810)
File "src/lxml/parser.pxi", line 635, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:105664)
odoo.tools.convert.ParseError: "Extra content at the end of the document, line 24, column 9" while parsing /opt/odoo13/odoo/addons/base/data/ir_demo_data.xml:1, near
<odoo>
<record model="ir.actions.act_window" id="demo_force_install_action">
<field name="name">Load demo data</field>
<field name="res_model">ir.demo</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<record model="ir.ui.view" id="demo_force_install_form">
<field name="name">ir.demo.form</field>
<field name="model">ir.demo</field>
<field name="arch" type="xml">
<form>
<div class="row container">
<div class="col-12 text-center">
<div class="card text-white bg-danger mb-3 w-75 ml64">
<div class="card-header">
<span class="fa fa-2x fa-warning" t-translation="off">&nbsp;</span>
<span class="text-white text-uppercase">Danger Zone</span>
</div>
<div class="card-body bg-transparent text-center">
<p>Demo data should only be used on test databases!
Once they are loaded, they cannot be removed!</p>
<p>Please confirm that you want to <b>irreversibly</b> make this database a demo database.</p>
</div>
</div>
</div>
</div>
<footer>
<button special="cancel" string="Oops, no!" class="btn-primary"/>
<button name="install_demo" string="Yes, I understand the risks" type="object" class="btn-secondary"/>
</footer>
</form>
</field>
</record>
</odoo>
2021-07-01 21:25:13,818 392124 ERROR urdu odoo.service.db: CREATE DATABASE failed:
Traceback (most recent call last):
File "/opt/odoo13/odoo/tools/convert.py", line 712, in parse
self._tag_root(de)
File "/opt/odoo13/odoo/tools/convert.py", line 674, in _tag_root
f(rec)
File "/opt/odoo13/odoo/tools/convert.py", line 577, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/opt/odoo13/odoo/models.py", line 4146, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/opt/odoo13/odoo/models.py", line 4060, in _load_records_create
return self.create(values)
File "<decorator-gen-32>", line 2, in create
File "/opt/odoo13/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 475, in create
return super(View, self).create(vals_list)
File "<decorator-gen-3>", line 2, in create
File "/opt/odoo13/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo13/odoo/models.py", line 3821, in create
fields[0].determine_inverse(batch_recs)
File "/opt/odoo13/odoo/fields.py", line 1122, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 299, in _inverse_arch
view.write(data)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 493, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo13/odoo/models.py", line 3610, in write
real_recs._validate_fields(set(vals) - set(inverse_fields))
File "/opt/odoo13/odoo/models.py", line 1201, in _validate_fields
check(self)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 385, in _check_xml
view_arch = etree.fromstring(view.arch.encode('utf-8'))
File "src/lxml/lxml.etree.pyx", line 3213, in lxml.etree.fromstring (src/lxml/lxml.etree.c:79003)
File "src/lxml/parser.pxi", line 1848, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:118334)
File "src/lxml/parser.pxi", line 1736, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:117014)
File "src/lxml/parser.pxi", line 1102, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:111258)
File "src/lxml/parser.pxi", line 595, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:105102)
File "src/lxml/parser.pxi", line 706, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:106810)
File "src/lxml/parser.pxi", line 635, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:105664)
File "<string>", line 24
lxml.etree.XMLSyntaxError: Extra content at the end of the document, line 24, column 9
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/odoo13/odoo/service/db.py", line 62, in _initialize_db
registry = odoo.modules.registry.Registry.new(db_name, demo, None, update_module=True)
File "/opt/odoo13/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/odoo13/odoo/modules/loading.py", line 364, in load_modules
report=report, models_to_check=models_to_check)
File "/opt/odoo13/odoo/modules/loading.py", line 225, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "/opt/odoo13/odoo/modules/loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "/opt/odoo13/odoo/tools/convert.py", line 736, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/opt/odoo13/odoo/tools/convert.py", line 803, in convert_xml_import
obj.parse(doc.getroot())
File "/opt/odoo13/odoo/tools/convert.py", line 721, in parse
exc_info[2]
File "/opt/odoo13/odoo/tools/pycompat.py", line 13, in reraise
raise value.with_traceback(tb)
File "/opt/odoo13/odoo/tools/convert.py", line 712, in parse
self._tag_root(de)
File "/opt/odoo13/odoo/tools/convert.py", line 674, in _tag_root
f(rec)
File "/opt/odoo13/odoo/tools/convert.py", line 577, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/opt/odoo13/odoo/models.py", line 4146, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/opt/odoo13/odoo/models.py", line 4060, in _load_records_create
return self.create(values)
File "<decorator-gen-32>", line 2, in create
File "/opt/odoo13/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 475, in create
return super(View, self).create(vals_list)
File "<decorator-gen-3>", line 2, in create
File "/opt/odoo13/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
File "/opt/odoo13/odoo/models.py", line 3821, in create
fields[0].determine_inverse(batch_recs)
File "/opt/odoo13/odoo/fields.py", line 1122, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 299, in _inverse_arch
view.write(data)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 493, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo13/odoo/models.py", line 3610, in write
real_recs._validate_fields(set(vals) - set(inverse_fields))
File "/opt/odoo13/odoo/models.py", line 1201, in _validate_fields
check(self)
File "/opt/odoo13/odoo/addons/base/models/ir_ui_view.py", line 385, in _check_xml
view_arch = etree.fromstring(view.arch.encode('utf-8'))
File "src/lxml/lxml.etree.pyx", line 3213, in lxml.etree.fromstring (src/lxml/lxml.etree.c:79003)
File "src/lxml/parser.pxi", line 1848, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:118334)
File "src/lxml/parser.pxi", line 1736, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:117014)
File "src/lxml/parser.pxi", line 1102, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:111258)
File "src/lxml/parser.pxi", line 595, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:105102)
File "src/lxml/parser.pxi", line 706, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:106810)
File "src/lxml/parser.pxi", line 635, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:105664)
odoo.tools.convert.ParseError: "Extra content at the end of the document, line 24, column 9" while parsing /opt/odoo13/odoo/addons/base/data/ir_demo_data.xml:1, near
<odoo>
<record model="ir.actions.act_window" id="demo_force_install_action">
<field name="name">Load demo data</field>
<field name="res_model">ir.demo</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<record model="ir.ui.view" id="demo_force_install_form">
<field name="name">ir.demo.form</field>
<field name="model">ir.demo</field>
<field name="arch" type="xml">
<form>
<div class="row container">
<div class="col-12 text-center">
<div class="card text-white bg-danger mb-3 w-75 ml64">
<div class="card-header">
<span class="fa fa-2x fa-warning" t-translation="off">&nbsp;</span>
<span class="text-white text-uppercase">Danger Zone</span>
</div>
<div class="card-body bg-transparent text-center">
<p>Demo data should only be used on test databases!
Once they are loaded, they cannot be removed!</p>
<p>Please confirm that you want to <b>irreversibly</b> make this database a demo database.</p>
</div>
</div>
</div>
</div>
<footer>
<button special="cancel" string="Oops, no!" class="btn-primary"/>
<button name="install_demo" string="Yes, I understand the risks" type="object" class="btn-secondary"/>
</footer>
</form>
</field>
</record>
</odoo>
2021-07-01 21:25:13,830 392124 DEBUG urdu odoo.modules.registry: Multiprocess load registry signaling: [Registry: 1] [Cache: 1]
2021-07-01 21:25:13,834 392124 INFO urdu odoo.modules.loading: loading 1 modules...
2021-07-01 21:25:13,834 392124 DEBUG urdu odoo.modules.loading: loading module base (1/1)
2021-07-01 21:25:13,850 392124 INFO urdu odoo.modules.loading: 1 modules loaded in 0.02s, 0 queries
2021-07-01 21:25:13,851 392124 ERROR urdu odoo.sql_db: bad query: SELECT * FROM ir_model WHERE state='manual'
ERROR: relation "ir_model" does not exist
LINE 1: SELECT * FROM ir_model WHERE state='manual'
^
2021-07-01 21:25:13,853 392124 WARNING urdu odoo.modules.loading: Transient module states were reset
2021-07-01 21:25:13,853 392124 ERROR urdu odoo.modules.registry: Failed to load registry
Traceback (most recent call last):
File "/opt/odoo13/odoo/modules/registry.py", line 60, in __new__
return cls.registries[db_name]
File "/opt/odoo13/odoo/tools/func.py", line 69, in wrapper
return func(self, *args, **kwargs)
File "/opt/odoo13/odoo/tools/lru.py", line 44, in __getitem__
a = self.d[obj].me
KeyError: 'urdu'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/odoo13/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/opt/odoo13/odoo/modules/loading.py", line 369, in load_modules
registry.setup_models(cr)
File "/opt/odoo13/odoo/modules/registry.py", line 249, in setup_models
env['ir.model']._add_manual_models()
File "/opt/odoo13/odoo/addons/base/models/ir_model.py", line 320, in _add_manual_models
cr.execute('SELECT * FROM ir_model WHERE state=%s', ['manual'])
File "/opt/odoo13/odoo/sql_db.py", line 173, in wrapper
return f(self, *args, **kwargs)
File "/opt/odoo13/odoo/sql_db.py", line 250, in execute
res = self._obj.execute(query, params)
psycopg2.ProgrammingError: relation "ir_model" does not exist
LINE 1: SELECT * FROM ir_model WHERE state='manual'
Пример кода ошибки в Odoo 10
2021-07-01 21:33:36,929 417046 ERROR munshi odoo.addons.website.models.ir_http: 500 Internal Server Error:
Traceback (most recent call last):
File "/opt/munshi/addons/website/models/ir_http.py", line 274, in _handle_exception
response = super(Http, cls)._handle_exception(exception)
File "/opt/munshi/odoo/addons/base/ir/ir_http.py", line 169, in _handle_exception
return request._handle_exception(exception)
File "/opt/munshi/odoo/http.py", line 775, in _handle_exception
return super(HttpRequest, self)._handle_exception(exception)
File "/opt/munshi/odoo/addons/base/ir/ir_http.py", line 195, in _dispatch
result = request.dispatch()
File "/opt/munshi/odoo/http.py", line 834, in dispatch
r = self._call_function(**self.params)
File "/opt/munshi/odoo/http.py", line 334, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/munshi/odoo/service/model.py", line 101, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/munshi/odoo/http.py", line 327, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/munshi/odoo/http.py", line 942, in __call__
return self.method(*args, **kw)
File "/opt/munshi/odoo/http.py", line 507, in response_wrap
response = f(*args, **kw)
File "/opt/munshi/addons/website_forum/controllers/main.py", line 128, in questions
Post._generate_order_by(sorting, None)
File "/opt/munshi/odoo/models.py", line 4218, in _generate_order_by
order_by_elements = self._generate_order_by_inner(self._table, order_spec, query)
File "/opt/munshi/odoo/models.py", line 4172, in _generate_order_by_inner
self._check_qorder(order_spec)
File "/opt/munshi/odoo/models.py", line 4052, 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)'))
UserError: (u'Invalid "order" specified. A valid "order" specification is a comma-separated list of valid field names (optionally followed by asc/desc for the direction)', '')
2021-07-01 21:33:36,978 417046 INFO munshi werkzeug: 127.0.0.1 - - [01/Jul/2021 21:33:36] "GET /forum/help-1?filters=all&sorting=create_date%2Bdesc HTTP/1.0" 500 -
2021-07-01 21:33:36,982 417046 ERROR munshi werkzeug: Error on request:
Traceback (most recent call last):
File "/opt/munshi/odoo-venv/lib/python2.7/site-packages/werkzeug/serving.py", line 193, in run_wsgi
execute(self.server.app)
File "/opt/munshi/odoo-venv/lib/python2.7/site-packages/werkzeug/serving.py", line 181, in execute
application_iter = app(environ, start_response)
File "/opt/munshi/odoo/service/wsgi_server.py", line 184, in application
return werkzeug.contrib.fixers.ProxyFix(application_unproxied)(environ, start_response)
File "/opt/munshi/odoo-venv/lib/python2.7/site-packages/werkzeug/contrib/fixers.py", line 152, in __call__
return self.app(environ, start_response)
File "/opt/munshi/odoo/service/wsgi_server.py", line 172, in application_unproxied
result = handler(environ, start_response)
File "/opt/munshi/odoo/http.py", line 1326, in __call__
return self.dispatch(environ, start_response)
File "/opt/munshi/odoo/http.py", line 1300, in __call__
return self.app(environ, start_wrapped)
File "/opt/munshi/odoo-venv/lib/python2.7/site-packages/werkzeug/wsgi.py", line 599, in __call__
return self.app(environ, start_response)
File "/opt/munshi/odoo/http.py", line 1499, in dispatch
result = ir_http._dispatch()
File "/opt/munshi/addons/website_sale/models/ir_http.py", line 15, in _dispatch
return super(IrHttp, cls)._dispatch()
File "/opt/munshi/addons/website/models/ir_http.py", line 219, in _dispatch
resp = super(Http, cls)._dispatch()
File "/opt/munshi/addons/web_editor/models/ir_http.py", line 21, in _dispatch
return super(IrHttp, cls)._dispatch()
File "/opt/munshi/addons/utm/models/ir_http.py", line 20, in _dispatch
response = super(IrHttp, cls)._dispatch()
File "/opt/munshi/odoo/addons/base/ir/ir_http.py", line 199, in _dispatch
return cls._handle_exception(e)
File "/opt/munshi/addons/website/models/ir_http.py", line 327, in _handle_exception
html = request.env['ir.ui.view'].render_template('website.http_error', values)
File "/opt/munshi/odoo/addons/base/ir/ir_ui_view.py", line 1049, in render_template
return self.browse(self.get_view_id(template)).render(values, engine)
File "/opt/munshi/addons/website/models/ir_ui_view.py", line 115, in render
return super(View, self).render(values, engine=engine)
File "/opt/munshi/addons/web_editor/models/ir_ui_view.py", line 26, in render
return super(IrUiView, self).render(values=values, engine=engine)
File "/opt/munshi/odoo/addons/base/ir/ir_ui_view.py", line 1069, in render
return self.env[engine].render(self.id, qcontext)
File "/opt/munshi/odoo/addons/base/ir/ir_qweb/ir_qweb.py", line 53, in render
return super(IrQWeb, self).render(id_or_xml_id, values=values, **context)
File "/opt/munshi/odoo/addons/base/ir/ir_qweb/qweb.py", line 248, in render
self.compile(template, options)(self, body.append, values or {})
File "/opt/munshi/odoo/addons/base/ir/ir_qweb/qweb.py", line 317, in _compiled_fn
raise e
QWebException: None
Traceback (most recent call last):
File "/opt/munshi/odoo/addons/base/ir/ir_qweb/qweb.py", line 341, in get_template
document = options.get('load', self.load)(template, options)
File "/opt/munshi/odoo/addons/base/ir/ir_qweb/ir_qweb.py", line 81, in load
template = env['ir.ui.view'].read_template(name)
File "/opt/munshi/odoo/addons/base/ir/ir_ui_view.py", line 944, in read_template
return self._read_template(self.get_view_id(xml_id))
File "<decorator-gen-9>", line 2, in _read_template
File "/opt/munshi/odoo/tools/cache.py", line 87, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/opt/munshi/odoo/addons/base/ir/ir_ui_view.py", line 935, in _read_template
arch = self.browse(view_id).read_combined(['arch'])['arch']
File "/opt/munshi/custom-addons/it-projects-llc/misc-addons/web_debranding/models/ir_ui_view.py", line 17, in read_combined
res = super(View, self).read_combined(fields=fields)
File "/opt/munshi/odoo/addons/base/ir/ir_ui_view.py", line 658, in read_combined
view_arch = etree.fromstring(view_data['arch'].encode('utf-8'))
File "src/lxml/lxml.etree.pyx", line 3213, in lxml.etree.fromstring (src/lxml/lxml.etree.c:82934)
File "src/lxml/parser.pxi", line 1819, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:124533)
File "src/lxml/parser.pxi", line 1707, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:123074)
File "src/lxml/parser.pxi", line 1079, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:117114)
File "src/lxml/parser.pxi", line 573, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:110510)
File "src/lxml/parser.pxi", line 683, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:112276)
File "src/lxml/parser.pxi", line 613, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:111124)
XMLSyntaxError: Extra content at the end of the document, line 112, column 13
load could not load template
Template: website.layout
2021-07-01 21:34:28,262 417050 DEBUG ? odoo.service.server: WorkerCron (417050) polling for jobs
Мне не удалось устранить неполадку. Пожалуйста, помогите мне. Что я предпринял: Я переустановил все зависимости. Я установил зависимости pip в odoo-venv для каждой версии (Python 2.7, Python 3.6, Python 3.8 и т. д.) с помощью команды ниже.
/path/to/odoo-venv/bin/pythonx -m pip install --no-cache-dir -r требования.текст
Я настроил VPS для тестирования своих кодов, перенес весь свой код на Odoo 10, использовал все конфигурации своего сервера на этом VPS (odoo.conf, сервис systelctl, пользовательские дополнения и т. д.). Я подключил его к своему текущему серверу PostgreSQL, в VPS нет ни проблем, ни ошибок. Затем я сделал то же самое для каждой версии и обнаружил, что с моим кодом, конфигурацией или базами данных все в порядке. Это связано с какой-то обновленной версией пакета, но я не смог найти проблему.
1 ответ
После 3 дней борьбы я успешно нашел виновника зависимости. Это был LXML. Что я сделал.
rm -rf venv
virtualenv -p pythonx venv
source venv/bin/activate
pip install -r requirements.txt
pip uninstall lxml
find .cache -name 'lxml*'
find .cache -name 'lxml*' -delete
pip install lxml
Какая здесь разница.
Это была версия lxml , у меня была lxml-3.7.1, она вызывала проблемы. Я установил последнюю версию и она устранила ошибку. Это может быть рискованно или может вызвать другие проблемы, поскольку Odoo рекомендует lxml-3.7.1 для Python < 3.7, но на данный момент это решило мою проблему, и на данный момент мне этого достаточно. в любом случае, спасибо, что уделили внимание этому вопросу. Более того, любой улучшенный подход любого из вас будет полезен.