Having the joy and “pleasure” of patching a bunch of AEM/CQ 5.6.1 instances at work recently, I ran into a weird issue where the hotfixes would refuse to install on a particular development machine.
Any attempt to install the packages would result in the following error, regardless of whether or not the upload is done via the CRX PackMgr UI, or via Curl.
{"success":false,"msg":"package file parameter missing"}
I would have assumed that it was a bad package if it wasn’t for the fact that it worked OK on other machines, so started looking for other factors.
$ df -h /tmp Filesystem Size Used Avail Use% Mounted on /dev/xvdb 30G 29G 88K 100% /tmp
Turns out, the /tmp volume was full on this machine thanks to a lovely collection of heap dumps being stored there. This leads to CQ being unable to write to it’s configured temporary location (which might differ on your install, check for -Djava.io.tmpdir) which is used to store the file between uploading and installing.
Clearing the tmp volume resolves the issue. You might also get this error if your tmp volume can’t be written for any other reason, such as a permissions issue or broken filesystem/mount.