click chroot create and destroy don't check status of chroot before executing the subcommand
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
click (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Here's my use case:
1) create chroot
2) use it
3) destroy it
During the use it phase I have left over mounts, so when I destroy it it fails to remove it from the fs but actually destroys the reference to the chroot as when I try to delete it again after manually unmounting it says it doesn't exist and when I try to create it says the filepath already exists.
$ sudo click chroot -aarmhf -f ubuntu-sdk-13.10 destroy
[sudo] password for sergiusens:
Traceback (most recent call last):
File "/usr/bin/click", line 86, in <module>
sys.
File "/usr/bin/click", line 82, in main
return mod.run(args)
File "/usr/lib/
return args.func(parser, args)
File "/usr/lib/
return chroot.destroy()
File "/usr/lib/
shutil.
File "/usr/lib/
_rmtree_
File "/usr/lib/
onerror(
File "/usr/lib/
os.rmdir(name, dir_fd=topfd)
OSError: [Errno 16] Device or resource busy: 'home'
sergiusens@
> do
> sudo umount "$i"
> done
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
sergiusens@
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount: /var/lib/
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
sergiusens@
Traceback (most recent call last):
File "/usr/bin/click", line 86, in <module>
sys.
File "/usr/bin/click", line 82, in main
return mod.run(args)
File "/usr/lib/
return args.func(parser, args)
File "/usr/lib/
return chroot.destroy()
File "/usr/lib/
"Chroot %s does not exist" % self.full_name)
click.chroot.
sergiusens@
Traceback (most recent call last):
File "/usr/bin/click", line 86, in <module>
sys.
File "/usr/bin/click", line 82, in main
return mod.run(args)
File "/usr/lib/
return args.func(parser, args)
File "/usr/lib/
return chroot.create()
File "/usr/lib/
os.
File "/usr/lib/
mkdir(name, mode)
FileExistsError: [Errno 17] File exists: '/var/lib/
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: click 0.4.21.1
ProcVersionSign
Uname: Linux 3.13.0-23-generic x86_64
ApportVersion: 2.14.1-0ubuntu2
Architecture: amd64
CurrentDesktop: Unity
Date: Mon Apr 14 14:29:26 2014
InstallationDate: Installed on 2013-09-10 (216 days ago)
InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Release amd64 (20130424)
SourcePackage: click
UpgradeStatus: Upgraded to trusty on 2013-09-10 (216 days ago)
Status changed to 'Confirmed' because the bug affects multiple users.