4

When I want to print any report I got this message : wkhtmltopdf failed (error code: -8). Message: b"

This problem only for Odoo 12 version but for the previous versions it work well .. this link will show the warning message : Wkhtmltopdf warning

And this is the log :

Traceback (most recent call last):
  File "/home/nebil/.environments/Odoo12/lib/python3.6/site-packages/werkzeug/serving.py", line 205, in run_wsgi
    execute(self.server.app)
  File "/home/nebil/.environments/Odoo12/lib/python3.6/site-packages/werkzeug/serving.py", line 193, in execute
    application_iter = app(environ, start_response)
  File "/home/nebil/Documents/odoo/odoo/service/server.py", line 350, in app
    return self.app(e, s)
  File "/home/nebil/Documents/odoo/odoo/service/wsgi_server.py", line 128, in application
    return application_unproxied(environ, start_response)
  File "/home/nebil/Documents/odoo/odoo/service/wsgi_server.py", line 117, in application_unproxied
    result = odoo.http.root(environ, start_response)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 1317, in __call__
    return self.dispatch(environ, start_response)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 1290, in __call__
    return self.app(environ, start_wrapped)
  File "/home/nebil/.environments/Odoo12/lib/python3.6/site-packages/werkzeug/wsgi.py", line 599, in __call__
    return self.app(environ, start_response)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 1485, in dispatch
    result = ir_http._dispatch()
  File "/home/nebil/Documents/odoo/addons/auth_signup/models/ir_http.py", line 19, in _dispatch
    return super(Http, cls)._dispatch()
  File "/home/nebil/Documents/odoo/addons/web_editor/models/ir_http.py", line 22, in _dispatch
    return super(IrHttp, cls)._dispatch()
  File "/home/nebil/Documents/odoo/addons/http_routing/models/ir_http.py", line 394, in _dispatch
    result = super(IrHttp, cls)._dispatch()
  File "/home/nebil/Documents/odoo/odoo/addons/base/models/ir_http.py", line 207, in _dispatch
    return cls._handle_exception(e)
  File "/home/nebil/Documents/odoo/odoo/addons/base/models/ir_http.py", line 177, in _handle_exception
    return request._handle_exception(exception)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 773, in _handle_exception
    return super(HttpRequest, self)._handle_exception(exception)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 312, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/home/nebil/Documents/odoo/odoo/tools/pycompat.py", line 87, in reraise
    raise value
  File "/home/nebil/Documents/odoo/odoo/addons/base/models/ir_http.py", line 203, in _dispatch
    result = request.dispatch()
  File "/home/nebil/Documents/odoo/odoo/http.py", line 832, in dispatch
    r = self._call_function(**self.params)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 344, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/nebil/Documents/odoo/odoo/service/model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 337, in checked_call
    result = self.endpoint(*a, **kw)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 938, in __call__
    return self.method(*args, **kw)
  File "/home/nebil/Documents/odoo/odoo/http.py", line 517, in response_wrap
    response = f(*args, **kw)
  File "/home/nebil/Documents/odoo/addons/sale/controllers/portal.py", line 150, in portal_order_page
    return self._show_report(model=order_sudo, report_type=report_type, report_ref='sale.action_report_saleorder', download=download)
  File "/home/nebil/Documents/odoo/addons/portal/controllers/portal.py", line 280, in _show_report
    report = getattr(report_sudo, method_name)([model.id], data={'report_type': report_type})[0]
  File "/home/nebil/Documents/odoo/odoo/addons/base/models/ir_actions_report.py", line 686, in render_qweb_pdf
    set_viewport_size=context.get('set_viewport_size'),
  File "/home/nebil/Documents/odoo/odoo/addons/base/models/ir_actions_report.py", line 418, in _run_wkhtmltopdf
    raise UserError(message % (str(process.returncode), err[-1000:]))
odoo.exceptions.UserError: ("Wkhtmltopdf failed (error code: -8). Message: b''", '') - - -

Please help me ..

Nebil Aydi
  • 53
  • 7

1 Answers1

7

I found a solution for this problem. Try this:

sudo apt install ttf-mscorefonts-installer
sudo fc-cache -f -v

The problem come from the fonts. In Odoo12, default font for Bootstrap 4 is Noto Color Emoji and because of that, when you generate a report, wkhtmltopdf will crash. After this package you will have this font. If problem persist, try to install also - http://download.odoo.com/fonts/Roboto-Regular.ttf Tell me if it works. You can track this issue right here - https://github.com/odoo/odoo/issues/27487

Arcas Gabriel
  • 267
  • 3
  • 9
  • Wonderful ..Thank you very much :) – Nebil Aydi Nov 30 '18 at 07:53
  • For me, the MS fonts package brought more trouble than its worth. Various issues raised later, related to broken repositories etc. Instead installing MS fonts package and dealing with its licencing and other problems, **you could simply just install Roboto**. One click install and no more problems. – ruuter May 13 '19 at 12:06