dkms_info fails with exception when parsing modalias

Bug #1799649 reported by Robert Liu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox Provider - Base
Fix Released
High
Unassigned

Bug Description

When I ran dkms_info on my machine, it failed with an exception.

Here is the log:
$ /usr/lib/plainbox-provider-checkbox/bin/dkms_info --format json
[000051ms] Started
[000051ms] Querying dkms database
[000065ms] Looking for packages that provide: /usr/src/drm-4.15-4.18.12/dkms.conf
[000112ms] Looking for kernel modules in /var/lib/dkms/drm-4.15/4.18.12/4.15.0-34-generic/x86_64/module
[000113ms] Looking at inserted kernel modules
[000113ms] Inspecting module ttm
[000116ms] Looking for modalias objects matching
[000116ms] Inspecting module backport
[000119ms] Inspecting module chash
[000121ms] Inspecting module i915
[000124ms] Looking for modalias objects matching
[000124ms] Looking for modalias files in /sys/devices
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/guacamole/core.py", line 248, in eat
    return self._dispatch()
  File "/usr/lib/python3/dist-packages/guacamole/core.py", line 298, in _dispatch
    result = ingredient.dispatch(self.context)
  File "/usr/lib/python3/dist-packages/guacamole/ingredients/cmdtree.py", line 152, in dispatch
    return self._dispatch(context, 0)
  File "/usr/lib/python3/dist-packages/guacamole/ingredients/cmdtree.py", line 165, in _dispatch
    retval = command.invoked(context)
  File "/usr/lib/plainbox-provider-checkbox/bin/dkms_info", line 549, in invoked
    dkms_pkg = DkmsPackage(dkms_name, dkms_ver)
  File "/usr/lib/plainbox-provider-checkbox/bin/dkms_info", line 274, in __init__
    self.install_mods = self._list_install_modules()
  File "/usr/lib/plainbox-provider-checkbox/bin/dkms_info", line 345, in _list_install_modules
    install_mods[m] = match_patterns(tuple(aliases))
  File "/usr/lib/plainbox-provider-checkbox/bin/dkms_info", line 137, in match_patterns
    hw_modaliases = get_system_modaliases()
  File "/usr/lib/plainbox-provider-checkbox/bin/dkms_info", line 90, in get_system_modaliases
    (modalias_type, modalias_string) = data.split(":", 1)
ValueError: not enough values to unpack (expected 2, got 1)

Then I found some of modalias files are empty. For instance:
$ cat /sys/devices/LNXSYSTM\:00/LNXSYBUS\:00/INT34D7\:00/modalias
I don't know if it's normal or there is bug with the driver. But I think it would be better to have a check before parsing it.

Revision history for this message
Robert Liu (robertliu) wrote :
Changed in plainbox-provider-checkbox:
importance: Undecided → High
Changed in plainbox-provider-checkbox:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.