Open Bug 969334 Opened 7 years ago Updated 2 years ago
mozinstall should not magically try to find the mount point of the DMG
We've occasionally seen a problem on some OSX nodes that our automation scripts were unable to unmount the Firefox DMG volume after an install. This would block all further unmount operations and we would end up with dozens of mounted firefox dmg's. See the following github issue for more information: https://github.com/mozilla/mozmill-automation/issues/90 While we were not using mozinstall and handled this from within mozmill-automation we used the argument -force We should add this in mozinstall, and it should prevent further occurrence of remaining with unmounted DMG's.
I will take this. Lets see if I can even figure out a working test.
Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Hardware: x86 → All
Actually it's not only the -force option which is missing here. The problem is even larger. As of now we are trying to magically detect the mount point for the DMG file. This can totally fail if there are already mounted DMGs of the same application present. In those cases we even copy the wrong application to the install location!! We have seen this recently on bug 967655. The end result is that if the application at the detected mount point is running, we cannot unmount it. So over time more and more mounted DMGs will be added but never unmounted.
Severity: normal → major
Summary: Add -force argument to mozinstall when unmounting DMG's on OSX → mozinstall should not magically try to find the mount point of the DMG
If a DMG with the same name has already been mounted, the following exception is thrown: /dev/disk3 /Volumes/Stub Traceback (most recent call last): File "/Volumes/data/envs/mozbase/bin/mozinstall", line 9, in <module> load_entry_point('mozInstall==0.10', 'console_scripts', 'mozinstall')() File "/Volumes/data/code/mozbase/mozinstall/mozinstall/mozinstall.py", line 326, in install_cli install_path = install(src, options.dest) File "/Volumes/data/code/mozbase/mozinstall/mozinstall/mozinstall.py", line 121, in install install_dir = _install_dmg(src, dest) File "/Volumes/data/code/mozbase/mozinstall/mozinstall/mozinstall.py", line 257, in _install_dmg for appFile in os.listdir(appDir): mozinstall.mozinstall.InstallError: Failed to install "/Volumes/data/code/mozbase/mozinstall/tests/installer_stubs/firefox.dmg" I will change the install method to use the code we have in mozmill-automation and which has been proven to work over the last three years.
Sorry for the delay here. I will continue as soon as possible. Most likely on Monday.
(In reply to Henrik Skupin (:whimboo) [away 07/19 - 08/01] from comment #4) > Sorry for the delay here. I will continue as soon as possible. Most likely > on Monday. It's Thursday now.
I don't have time at the moment. So I would put this bug back into the bucket. I'm happy to mentor this bug. So if anyone wants to have a look at it before I can have, please go ahead.
Assignee: hskupin → nobody
FWIW, this is what we use in buildbot-land: http://hg.mozilla.org/build/tools/file/8a7c4b4d9536/release/common/unpack-diskimage.sh
Is this bug still relevant now? Or can this be closed?
This problem should still be present, yes.
You need to log in before you can comment on or make changes to this bug.