Skip to Content
Menu
This question has been flagged
1 Reply
2651 Views

Hi, I'm running Odoo 16 community edition and after adding additional media to a product, when I click Save Manually, I have the following Odoo Server Error.
This error also shows when adding the image through the shop product editor.

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1579, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 134, in retrying
    result = func()
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1608, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1805, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_http.py", line 235, in _dispatch
    response = super()._dispatch(endpoint)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 144, in _dispatch
    result = endpoint(**request.params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 698, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 42, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 461, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 448, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/product/models/product_template.py", line 445, in write
    res = super(ProductTemplate, self).write(vals)
  File "/usr/lib/python3/dist-packages/odoo/addons/mail/models/mail_thread.py", line 315, in write
    result = super(MailThread, self).write(values)
  File "/usr/lib/python3/dist-packages/odoo/addons/mail/models/mail_activity_mixin.py", line 241, in write
    return super(MailActivityMixin, self).write(vals)
  File "/usr/lib/python3/dist-packages/odoo/addons/website/models/mixins.py", line 220, in write
    return super(WebsitePublishedMixin, self).write(values)
  File "/usr/lib/python3/dist-packages/odoo/addons/rating/models/rating_mixin.py", line 104, in write
    result = super(RatingMixin, self).write(values)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3737, in write
    field.write(self, value)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 4225, in write
    return self.write_batch([(records, value)])
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 4246, in write_batch
    return self.write_real(records_commands_list, create)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 4425, in write_real
    flush()
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 4387, in flush
    comodel.create(to_create)
  File "", line 2, in create
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 410, in _model_create_multi
    return create(self, arg)
  File "/usr/lib/python3/dist-packages/odoo/addons/website_sale/models/product_image.py", line 71, in create
    return super().create(normal_vals) + super(ProductImage, context_without_template).create(variant_vals_list)
  File "", line 2, in create
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 410, in _model_create_multi
    return create(self, arg)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_fields.py", line 665, in create
    recs = super().create(vals_list)
  File "", line 2, in create
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 410, in _model_create_multi
    return create(self, arg)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3936, in create
    records = self._create(data_list)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 4173, in _create
    field.create([
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 2448, in create
    new_value = self._image_process(value)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 2480, in _image_process
    return base64.b64encode(image_process(img,
  File "/usr/lib/python3/dist-packages/odoo/tools/image.py", line 264, in image_process
    image = ImageProcess(source, verify_resolution)
  File "/usr/lib/python3/dist-packages/odoo/tools/image.py", line 90, in __init__
    self.image = image_fix_orientation(self.image)
  File "/usr/lib/python3/dist-packages/odoo/tools/image.py", line 377, in image_fix_orientation
    exif = getexif()
  File "/usr/lib/python3/dist-packages/PIL/PngImagePlugin.py", line 977, in getexif
    return super().getexif()
  File "/usr/lib/python3/dist-packages/PIL/Image.py", line 1320, in getexif
    root = xml.etree.ElementTree.fromstring(xmp_tags)
  File "/usr/lib/python3.9/xml/etree/ElementTree.py", line 1347, in XML
    parser.feed(text)
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 5

The above server error caused the following client error:
null

Any ideas on what this is about and how to fix it?

Avatar
Discard

can you post the image you use ?

Author

Hi Nicolas. Thank you for your comment. I was using a png image over 300 kb, and meanwhile I found that Odoo was recommending to load a lower sized image. So I converted this to jpg (with around 50kb) and it already worked.

You can find the image that didn't work at:
https://ibb.co/JC1xW4K

You can find the image that worked at: https://www.relationalgames.com/web/image/product.image/5/image_1024/Caixa%20Papo%20a%20Papo?unique=dc629ad.

Best Answer

Re-save the image in any picture editor as a jpeg or png, and let me know how it goes.

Avatar
Discard
Related Posts Replies Views Activity
1
Aug 24
190
3
Nov 22
2382
1
Sep 17
15051
2
Mar 15
9909
0
Feb 24
453