https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213092
Bug ID: 213092 Summary: tar(1) continues to run and error after non-existent file Product: Base System Version: CURRENT Hardware: amd64 OS: Any Status: New Severity: Affects Only Me Priority: --- Component: bin Assignee: freebsd-b...@freebsd.org Reporter: seg...@go-beyond.org CC: freebsd-amd64@FreeBSD.org CC: freebsd-amd64@FreeBSD.org I suspect this fix is what caused the behavior: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205358 Prior, I was using the broken functionality as a feature: tar -cf - file file file-may-be-here file file, and it was fine up till 10.3. Now in 11.0-RELEASE, it breaks. But it's ugly. # ls foo that this # tar cvf - 404 > /dev/null tar: 404: Cannot stat: No such file or directory tar: Error exit delayed from previous errors. # echo $? 1 That's all fine and dandy. I think it could be reasonable behavior. What I don't like is this. # tar cvf - foo that this 404 that this 404 that this > /dev/null a foo a foo/bar a that a this tar: 404: Cannot stat: No such file or directory tar: INTERNAL ERROR: Function 'archive_read_disk_open' invoked with archive structure in state 'header', should be in state 'new/closed': Unknown error: -1 tar: INTERNAL ERROR: Function 'archive_read_disk_open' invoked with archive structure in state 'header', should be in state 'new/closed': Unknown error: -1 tar: INTERNAL ERROR: Function 'archive_read_disk_open' invoked with archive structure in state 'header', should be in state 'new/closed': Unknown error: -1 tar: INTERNAL ERROR: Function 'archive_read_disk_open' invoked with archive structure in state 'header', should be in state 'new/closed': Unknown error: -1 tar: INTERNAL ERROR: Function 'archive_read_disk_open' invoked with archive structure in state 'header', should be in state 'new/closed': Unknown error: -1 tar: Error exit delayed from previous errors. # echo $? 1 It at least returns 1, but it doesn't stop execution. It seems to get into a pretty yucky state. I think maybe tar isn't handling the return from libarchive properly? I think tar should quit immediately on a failure like this, rather than spinning its wheels in a weird state. In order to see the libarchive error, you have to give tar at least one more file argument after a file that doesn't exist. Thank you! -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ freebsd-amd64@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-amd64 To unsubscribe, send any mail to "freebsd-amd64-unsubscr...@freebsd.org"