Skip to content

Unable to (Re)install Widevine CDM library #628

@renato-alves-barros

Description

@renato-alves-barros

In Kodi, whenever I try to (Re)install the Widevine CDM library from within the inputstreamhelper plugin, I see the following error in kodi.log

2025-11-03 22:16:37.840 T:1132  warning <general>: [script.module.inputstreamhelper] Download failed with error HTTP Error 400: Bad Request

2025-11-03 22:16:40.828 T:1132    error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'TypeError'>
                                                   Error Contents: argument of type 'int' is not iterable
                                                   Traceback (most recent call last):
                                                     File "/home/pi/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/utils.py", line 86, in _http_request
                                                       response = urlopen(request, timeout=time_out)  # pylint: disable=consider-using-with
                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/usr/lib/python3.11/urllib/request.py", line 216, in urlopen
                                                       return opener.open(url, data, timeout)
                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/usr/lib/python3.11/urllib/request.py", line 525, in open
                                                       response = meth(req, response)
                                                                  ^^^^^^^^^^^^^^^^^^^
                                                     File "/usr/lib/python3.11/urllib/request.py", line 634, in http_response
                                                       response = self.parent.error(
                                                                  ^^^^^^^^^^^^^^^^^^
                                                     File "/usr/lib/python3.11/urllib/request.py", line 563, in error
                                                       return self._call_chain(*args)
                                                              ^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/usr/lib/python3.11/urllib/request.py", line 496, in _call_chain
                                                       result = func(*args)
                                                                ^^^^^^^^^^^
                                                     File "/usr/lib/python3.11/urllib/request.py", line 643, in http_error_default
                                                       raise HTTPError(req.full_url, code, msg, hdrs, fp)
                                                   urllib.error.HTTPError: HTTP Error 400: Bad Request

Apparently there is something wrong with the URL:

$ cat /home/pi/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper/config.py | grep LACROS_LATEST
LACROS_LATEST = "https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Lacros&num=1"

Because If I manually use the urlopen from urllib.request against that URL, I get the exact same 400 bad request error:

>>> from urllib.request import Request, urlopen
>>> response = urlopen("https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Lacros")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.11/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/urllib/request.py", line 525, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/urllib/request.py", line 634, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/urllib/request.py", line 563, in error
    return self._call_chain(*args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/urllib/request.py", line 496, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/usr/lib/python3.11/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request

Perhaps this URL is no longer the correct one?
Appreciate any help with this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    armRelated to ARM architecturebug

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions