Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Oct 2017 03:22:47 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 222891] /usr/bin/tar exits with INTERNAL ERROR: Function 'archive_read_disk_open'
Message-ID:  <bug-222891-8-OtWRETjCKD@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-222891-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-222891-8@https.bugs.freebsd.org/bugzilla/>

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

papowell@astart.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |papowell@astart.com

--- Comment #2 from papowell@astart.com ---
Created attachment 187040
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D187040&action=
=3Dedit
Details of the sourrce code

I have reported this error for FreeBSD 11.0 and it is still present.

Do the following:
+ cd /
+ /usr/bin/tar -vczf files.tgz -T /tmp/rmis_save.tmp49784
a etc/rc.conf
a etc/hosts
a etc/ntp.conf
a etc/crontab
a etc/resolv.conf
a etc/nsswitch.conf
a etc/syslog.conf
a etc/newsyslog.conf
tar: etc/namedb/named.conf: 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
t

This can be tracked down to code in
/usr/src/contrib/libarchive/libarchive/archive_read_disk_posix.c

line 874 or 2673
        case TREE_REGULAR:
            lst =3D tree_current_lstat(t);
            if (lst =3D=3D NULL) {
                archive_set_error(&a->archive, errno,
                    "%s: Cannot stat",
                    tree_current_path(t));
                tree_enter_initial_dir(t);
                return (ARCHIVE_FAILED);
************** This should return a status which will cause the
************** either the archive to fail or the file
************** to be skipped (FreeBSD 10.3 behaviour)
            }

I would provide a bug fix but I am uncertain of how to cause the file to be
skipped.

--=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-222891-8-OtWRETjCKD>