The real reason was a boring one and seemingly unrelated to that file. I just ran out of disk space. Still though, that’s not exactly a helpful error is it
Funny tangent. I remember windows HRESULTS containing E_SUCCESS (error success) and something along the lines of S_FAILURE (success failure) I’m a little fuzzy on that second one though, so someone else can correct me if I have the wrong name for it.
Lot of && in that message. The success reason may not be related to the copy failure reason but to another part of the commands?
Without seeing the command it isn’t really possible to tell.
What does it matter what came before or after the offending command? Clearly,
/usr/bin/ar
says it’s unable to copy a file because ofSuccess
, which is a bullshit error message whithin or without [Edit:a pipe&&
].In C/C++, it’s very common for a function to return an integer corresponding to any errors that occured within the function, including a “success” error code, because it has to return something, otherwise it’s undefined.
I’m not sure that’s what happened here but that’s why “successful” errors are a thing. Somewhere it got misinterpreted maybe.
https://www.man7.org/linux/man-pages/man1/bash.1.html
Lists A list is a sequence of one or more pipelines separated by one of the operators ;, &, &&, or ||, and optionally terminated by one of ;, &, or <newline>.
Of these list operators, && and || have equal precedence, followed by ; and &, which have equal precedence. A sequence of one or more newlines may appear in a list instead of a semicolon to delimit commands. .... AND and OR lists are sequences of one or more pipelines separated by the && and || control operators, respectively. AND and OR lists are executed with left associativity. An AND list has the form command1 && command2 **command2 is executed if, and only if, command1 returns an exit status of zero (success).**
So, command 1 returns success, but command 2 fails. The FAILED comment at the beginning of the error message is the message to parse, one part succeeded, the other failed.
Not using && and running your command by line will show where the error is.
To be fair, most people who try to copy success fail.