this post was submitted on 15 Jan 2025
120 points (98.4% liked)

Programmer Humor

32900 readers
1678 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[–] masterofn001@lemmy.ca 7 points 2 days ago (1 children)

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.

[–] bleistift2@sopuli.xyz 2 points 2 days ago* (last edited 2 days ago) (2 children)

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 of Success, which is a bullshit error message whithin or without [Edit: ~~a pipe~~ &&].

[–] TimeSquirrel@kbin.melroy.org 7 points 2 days ago

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.

[–] masterofn001@lemmy.ca 3 points 2 days ago* (last edited 2 days ago)

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 .

   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.