Subject: bug#6053: cp, ls, and mv bug: unknown error (252)

From: Jim Meyering <[email-masked]>
Date: Tue, 08 Jun 2010 22:51:06 +0200

Callahan, Patrick M. wrote:
> Pádraig Brady wrote:
>> Callahan, Patrick M. wrote:
>> > When using coreutils binaries either built from sources or installed
>> > from the Porting And Archive Centre for HP-UX we see errors of the type
>> > below when copying (cp), listing (ls), or moving (mv) files or
>> > directories on Quantum's StorNext file system (cvfs).  When we build
>> > "--without-acl" we do not see these errors.
>> >
>> >> mv SEG_5_1* ~/release-input/dev-to-integration
>> > mv: preserving permissions for
>> > `/usr/people/archive/release-input/dev-to-integation/SEG_5_1.txt':
>> > Unknown error (252)

Thanks for the details.
Do you care about ACLs?
If not, then building --without-acl should be fine.

If you do require that ACLs be preserved in general,
then more work will be required.  The code in question is
probably part of gnulib, in copy-acl.c.  There, we already
ignore failure due to conditions that imply lack of support:

    if ((errno == ENOSYS || errno == EOPNOTSUPP)
    ...
    if ((errno == ENOSYS || errno == EINVAL || errno == ENOTSUP)

But that the errno value in question, 252, does not map
to a strerror string is ominous.  Could it be that your version
of HP-UX's C library is lacking patches that might provide that?

You could get in a debugger and determine where
to add "|| errno == 252" to solve what appears to be
an HP-UX-and/or-cvfs-specific problem.

However, such a change is not appropriate for others,
and I doubt it will be worthwhile to attempt an
upstream workaround.