If a git repack remote/origin/master doesn't fix the issue, check your umask (umask 0002) to avoid any writing permission issue, as mentioned in "git: can't push (unpacker error)".
Beside that, "Unpacker error Git-pushing from bare repo to staging server" summarize all the other points to check.