Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Sep 2016 16:05:35 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 213092] tar(1) continues to run and error after non-existent file
Message-ID:  <bug-213092-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D213092

            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-bugs@FreeBSD.org
          Reporter: sega01@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=3D205358

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 libarc=
hive
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!

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-213092-8>