# The error `push.service` **user**: the script can change it: the error says what happened in the experiment's names, and what to write instead. **environment**: something the run needs is missing or different where it runs (a package, a file, a device, the network): the error names what to install, fetch or attach. Where MIME gives it, with what its message says happened and what its action says to do (`{…}` is filled in from the experiment): - in `mime/push/_client.py`: - what happened: (built where it is given, so not read here) - what to do: `push to a service by its name, 'mime push --to zenodo-sandbox'` - in `mime/push/_client.py`: - what happened: `{…} asks push to wait {…} s ({…}), longer than push waits` - what to do: `run the same command again later, 'mime push --to ': what was uploaded and verified is not sent again` - in `mime/push/_client.py`: - what happened: `{…} answered {…} {…} with {…} {…} times` - what to do: `run the same command again later, 'mime push --to ': what was uploaded and verified is not sent again` - in `mime/push/_client.py`: - what happened: `the answer of {…} to {…} {…} was lost ({…}), so whether it was done is not known, and push does not send it again` - what to do: `run the same command again, 'mime push --to ': it reads the draft first, and what was uploaded and verified is not sent again` - in `mime/push/_client.py`: - what happened: `{…} answered {…} {…} in {…}, not {…}, the type it was asked for: without that header the same address can answer in the legacy deposit shape, which holds one licence, so push reads nothing from it` - what to do: `run the same command again, 'mime push --to '; if it says this again, a proxy between here and the service drops the Accept header` - in `mime/push/_client.py`: - what happened: `{…} answered {…} {…} with a redirect ({…}), which push never follows: a token goes to the service's own host only` - what to do: `run the same command again later, 'mime push --to '` - in `mime/push/_client.py`: - what happened: `{…} answered {…} {…} with {…}: {…}` - what to do: `run the same command again later, 'mime push --to ': what was uploaded and verified is not sent again` - in `mime/push/_client.py`: - what happened: `{…} answered {…} as done, and listed errors: {…}` - what to do: `run the same command again, 'mime push --to '; if it says this again, look at the draft on the service's site` - in `mime/push/_client.py`: - what happened: `{…} is no longer on {…} (deleted on the site, or published there, while push ran?)` - what to do: `run the same command again, 'mime push --to --publish', which reads the record first and publishes nothing twice` - in `mime/push/_client.py`: - what happened: `{…} is no longer on {…} (deleted on the site while push ran?)` - what to do: `run the same command again, 'mime push --to ', which makes a new draft where the old one is gone` - in `mime/push/_client.py`: - what happened: `{…} answered a published file's download with a redirect to {…}, which is not an https:// address` - what to do: `run the same command again later, 'mime push --to --publish': it checks the record and publishes nothing again` - in `mime/push/_client.py`: - what happened: `a published file of {…} could not be downloaded from where it is stored ({…})` - what to do: `run the same command again later, 'mime push --to --publish': it checks the record and publishes nothing again` - in `mime/push/_client.py`: - what happened: `{…} answered with {…} in a shape push does not read ({…} expected): the records API may have changed` - what to do: `run the same command again, 'mime push --to '; if it says this again, report it with 'mime push --to --status'` - in `mime/push/_draft.py`: - what happened: (built where it is given, so not read here) - what to do: `push to a service by its name, 'mime push --to zenodo-sandbox'` - in `mime/push/_draft.py`: - what happened: `MIME_OFFLINE is set, so push sends nothing to {…}` - what to do: `unset MIME_OFFLINE to let push go online, then 'mime push --to ' again` - in `mime/push/_draft.py`: - what happened: `{…} answered the DOI's reservation for the draft {…} with no DOI` - what to do: `run the same command again, 'mime push --to '` - in `mime/push/_draft.py`: - what happened: `{…}, a production service, reserved {…}, under DataCite's test prefix: push stops rather than give a production record a DOI that does not resolve` - what to do: `look at the draft, 'mime push --to zenodo --status', and discard it, 'mime push --to zenodo --discard'` - in `mime/push/_draft.py`: - what happened: `the published record {…} is no longer on {…} (deleted there, or a tombstone now), so a new version of it cannot be made` - what to do: `look at its page, {…}; to start again as a new concept, delete push's record, {…}, and run 'mime push --to {…}'` - in `mime/push/_draft.py`: - what happened: `{…}: {…} uploads failed: {…}` - what to do: `run the same command again later, 'mime push --to ': what was uploaded and verified is not sent again` - in `mime/push/_draft.py`: - what happened: `read again after the uploads, the draft {…} is {…}` - what to do: `look at the draft on the service's site, then run the same command again, 'mime push --to '` - in `mime/push/_draft.py`: - what happened: `read again after the uploads, the draft {…} does not hold the plan's files: {…} differ` - what to do: `run the same command again, 'mime push --to '` - in `mime/push/_publish.py`: - what happened: `the record {…} on {…}, published, cannot be read back` - what to do: `run the same command again, 'mime push --to {…} --publish': it checks the record and publishes nothing again` Reading an error and reaching its full traceback: [reading an error](../reading_errors.md). Every code: [the index](index.md).