After chatting with xnox on IRC, he discovered that the output of
catting /proc/modules in 4.15 now depends on who is doing the catting.

So `cat /proc/modules` as a normal user will return null references
while `sudo cat /proc/modules` will return the actual memory offsets,
accurately.

For example:
ubuntu@xwing:~$ sudo cat /proc/modules |grep e1000e
e1000e 249856 0 - Live 0xffffffffc0225000
ptp 20480 2 igb,e1000e, Live 0xffffffffc00a9000
ubuntu@xwing:~$ cat /proc/modules |grep e1000e
e1000e 249856 0 - Live 0x          (null)
ptp 20480 2 igb,e1000e, Live 0x          (null)

So for the cert tooling, this should be a simple fix then, just to
ensure that the module script runs as root.

** Changed in: plainbox-provider-checkbox (Ubuntu)
       Status: Confirmed => Triaged

** Changed in: plainbox-provider-checkbox (Ubuntu)
       Status: Triaged => In Progress

** Changed in: plainbox-provider-checkbox (Ubuntu)
       Status: In Progress => Fix Committed

** Changed in: plainbox-provider-checkbox (Ubuntu)
       Status: Fix Committed => In Progress

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1757143

Title:
  /proc/modules has Null references causing python parsing issues

Status in linux package in Ubuntu:
  Incomplete
Status in plainbox-provider-checkbox package in Ubuntu:
  In Progress

Bug description:
  EDIT: this originally looked like some sort of regression in the
  module_resource script of plainbox-provider-resource, however, on
  diving in a bit it seems the root cause is that /proc/modules in 4.15
  is different than in previous kernels.

  This is a line from 4.15's /proc/modules data:
  e1000e 249856 0 - Live 0x (null)

  And this is the same module info from 4.13:
  e1000e 249856 0 - Live 0x0000000000000000

  That null character at the end appears to be causing the script to
  choke.

  For that reason, because /proc/modules has somehow changed to include
  null references (0xNULL is invalid, where 0x0000000 is parsable), I've
  added a kernel task to this bug.

  
  Original Summary:

  I ran into this issue (and came across some further glitches) while
  running canonical-certification-server on Ubuntu Server 18.04 on s390x
  (having 16.04 full selected in canonical-certification-server user
  interface):

  $ /usr/lib/plainbox-provider-resource-generic/bin/module_resource
  Traceback (most recent call last):
    File "/usr/lib/plainbox-provider-resource-generic/bin/module_resource", 
line 73, in <module>
      sys.exit(main())
    File "/usr/lib/plainbox-provider-resource-generic/bin/module_resource", 
line 62, in main
      for module in modules:
    File "/usr/lib/plainbox-provider-resource-generic/bin/module_resource", 
line 57, in get_modules
      yield get_module(line)
    File "/usr/lib/plainbox-provider-resource-generic/bin/module_resource", 
line 49, in get_module
      "offset": int(offset, 16)}
  ValueError: invalid literal for int() with base 16: '0x'

  result file is attached to the ticket, as well as the console log ...

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1757143/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to