[Bug 1821261] Re: nfsiostat broken and exits with traceback

Matthew Ruffell 1821261 at bugs.launchpad.net
Fri Mar 29 03:04:49 UTC 2019


Builds have been done in a ppa, and can be pulled for testing here:
https://launchpad.net/~mruffell/+archive/ubuntu/nfs-utils-testing

autopkgtests pass for all builds.

** Description changed:

- nfsiostat, in nfs-common-1.3.4-2, is broken in bionic, cosmic and disco.
+ [Impact]
  
- When you run the command nfsiostat, either as root or a regular user,
+  * nfsiostat, in nfs-common-1.3.4-2, is broken in bionic, cosmic and
+ disco.
+ 
+  * nfsiostat will not run at all, and is unusuable when users run the
+ command. Users should be able to run the command and see output of their
+ nfs mounts.
+ 
+  * The bug is caused by the 'list' reserved word being used as a
+ variable name in list_nfs_mounts(), and is explained here:
+ https://askubuntu.com/questions/1123319/nfsiostat-failing-
+ on-18-04/1123336#1123336?s=a1e9150fbf284e849efe6fe084e7c7b8
+ 
+ [Test Case]
+ 
+ * When you run the command nfsiostat, either as root or a regular user,
  the following traceback is printed:
  
  $ nfsiostat
  Traceback (most recent call last):
-   File "/usr/sbin/nfsiostat", line 640, in <module>
-     iostat_command(prog)
-   File "/usr/sbin/nfsiostat", line 593, in iostat_command
-     devices = list_nfs_mounts(origdevices, mountstats)
-   File "/usr/sbin/nfsiostat", line 495, in list_nfs_mounts
-     for device, descr in list(mountstats.items()):
+   File "/usr/sbin/nfsiostat", line 640, in <module>
+     iostat_command(prog)
+   File "/usr/sbin/nfsiostat", line 593, in iostat_command
+     devices = list_nfs_mounts(origdevices, mountstats)
+   File "/usr/sbin/nfsiostat", line 495, in list_nfs_mounts
+     for device, descr in list(mountstats.items()):
  TypeError: 'list' object is not callable
  
- This is caused by the 'list' reserved word being used as a variable name
- in list_nfs_mounts(), and is explained here:
- https://askubuntu.com/questions/1123319/nfsiostat-failing-
- on-18-04/1123336#1123336?s=a1e9150fbf284e849efe6fe084e7c7b8
+ * Instead, the correct behaviour is not crash, and do something like the
+ following on a system with no current nfs mounts:
  
- I will send a patch to upstream shortly.
+ $ nfsiostat
+ No NFS mount points were found
+ 
+ [Regression Potential]
+ 
+  * There is only one file modified, which is the nfsiostat python
+ script. There is no other changes to any other executable in the
+ package. Since nfsiostat was in complete failure before, the fix makes
+ it work again, there should not be any cause for concern regarding
+ regressions.
+ 
+  * In the event of a regression, worst case scenario is that users are impacted in getting the status of their nfs mounts, while still being able to freely mount and use such devices, since they are handled by other packages.
+  
+  * I have built and tested all versions of packages in a ppa, which you can find here:
+  https://launchpad.net/~mruffell/+archive/ubuntu/nfs-utils-testing
+ 
+ [Other Info]
+  
+  * The impacted code is present in xenial and trusty, since it was merged into upstream in 2009. However, due to how the function works, the program executes fine and does not crash.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to nfs-utils in Ubuntu.
https://bugs.launchpad.net/bugs/1821261

Title:
  nfsiostat broken and exits with traceback

Status in nfs-utils package in Ubuntu:
  In Progress
Status in nfs-utils source package in Bionic:
  New
Status in nfs-utils source package in Cosmic:
  New
Status in nfs-utils source package in Disco:
  In Progress

Bug description:
  [Impact]

   * nfsiostat, in nfs-common-1.3.4-2, is broken in bionic, cosmic and
  disco.

   * nfsiostat will not run at all, and is unusuable when users run the
  command. Users should be able to run the command and see output of
  their nfs mounts.

   * The bug is caused by the 'list' reserved word being used as a
  variable name in list_nfs_mounts(), and is explained here:
  https://askubuntu.com/questions/1123319/nfsiostat-failing-
  on-18-04/1123336#1123336?s=a1e9150fbf284e849efe6fe084e7c7b8

  [Test Case]

  * When you run the command nfsiostat, either as root or a regular
  user, the following traceback is printed:

  $ nfsiostat
  Traceback (most recent call last):
    File "/usr/sbin/nfsiostat", line 640, in <module>
      iostat_command(prog)
    File "/usr/sbin/nfsiostat", line 593, in iostat_command
      devices = list_nfs_mounts(origdevices, mountstats)
    File "/usr/sbin/nfsiostat", line 495, in list_nfs_mounts
      for device, descr in list(mountstats.items()):
  TypeError: 'list' object is not callable

  * Instead, the correct behaviour is not crash, and do something like
  the following on a system with no current nfs mounts:

  $ nfsiostat
  No NFS mount points were found

  [Regression Potential]

   * There is only one file modified, which is the nfsiostat python
  script. There is no other changes to any other executable in the
  package. Since nfsiostat was in complete failure before, the fix makes
  it work again, there should not be any cause for concern regarding
  regressions.

   * In the event of a regression, worst case scenario is that users are impacted in getting the status of their nfs mounts, while still being able to freely mount and use such devices, since they are handled by other packages.
   
   * I have built and tested all versions of packages in a ppa, which you can find here:
   https://launchpad.net/~mruffell/+archive/ubuntu/nfs-utils-testing

  [Other Info]
   
   * The impacted code is present in xenial and trusty, since it was merged into upstream in 2009. However, due to how the function works, the program executes fine and does not crash.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/1821261/+subscriptions



More information about the foundations-bugs mailing list