18027: Fix crash when reporting error during --unmount.
authorTom Clegg <tom@curii.com>
Fri, 3 Sep 2021 14:26:36 +0000 (10:26 -0400)
committerTom Clegg <tom@curii.com>
Fri, 3 Sep 2021 14:26:36 +0000 (10:26 -0400)
Traceback (most recent call last):
  File "/usr/bin/arv-mount", line 10, in <module>
    arvados_fuse.command.Mount(args).run()
  File "/usr/share/python3/dist/python3-arvados-fuse/lib/python3.7/site-packages/arvados_fuse/command.py", line 172, in run
    recursive=self.args.unmount_all)
  File "/usr/share/python3/dist/python3-arvados-fuse/lib/python3.7/site-packages/arvados_fuse/unmount.py", line 162, in unmount
    sys.stderr.write(fusermount_output)
TypeError: write() argument must be str, not bytes

Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

services/fuse/arvados_fuse/unmount.py

index dbfea1f90449cb14f3c12df15e6b37001b131bcc..12d047a8f35d00fc682e846ba20bce466b93dd21 100644 (file)
@@ -159,7 +159,7 @@ def unmount(path, subtype=None, timeout=10, recursive=False):
         if attempted:
             # Report buffered stderr from previous call to fusermount,
             # now that we know it didn't succeed.
-            sys.stderr.write(fusermount_output)
+            sys.stderr.buffer.write(fusermount_output)
 
             delay = 1
             if deadline: