bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bug#7324: coreutils on Solaris 10


From: Eric Blake
Subject: Re: bug#7324: coreutils on Solaris 10
Date: Wed, 03 Nov 2010 11:25:15 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.12) Gecko/20101027 Fedora/3.1.6-1.fc14 Mnenhy/0.8.3 Thunderbird/3.1.6

[adding bug-gnulib]

On 11/03/2010 10:51 AM, Eric Blake wrote:
>> The problem appears to be happening when trying to set the times on
>> the new file.
>>
>> I suspect it's an updated patch which Oracle has provided, which has
>> broken this.
> 
> Thanks for the report.  Have you tried with the latest snapshot?
> http://lists.gnu.org/archive/html/coreutils/2010-11/msg00004.html
> since it includes some recent gnulib fixes for at least some Solaris 10
> bugs?
> 
> Also, can you provide a truss report of a failing command, so we can see
> exactly how Oracle has broken futimens/utimensat, assuming that you are
> correct that it is a bug in setting file times?

I've confirmed the failure on:

$ uname -a
SunOS xxx 5.10 Generic_142900-06 sun4u sparc SUNW,Sun-Fire-V440 Solaris

via gnulib's test-fdutimensat:

../../gltests/test-fdutimensat.c:56: assertion failed
/bin/bash: line 5: 25716 Abort                   EXEEXT=''
srcdir='../../gltests' MAKE='make' ${dir}$tst
FAIL: test-fdutimensat
skipping test: setting fd time not supported on this file system
SKIP: test-futimens

$ truss gltests/test-fdutimensat
...
futimesat(-3041965, "test-fdutimensat.tlink/", 0x00000000) Err#20 ENOTDIR
lstat("test-fdutimensat.tlink/", 0xFFBFE06C)    Err#20 ENOTDIR
openat(-3041965, "test-fdutimensat.tlink", O_WRONLY) = 3
fcntl(3, F_DUP2FD, 0x00000003)                  = 3
futimesat(-3041965, "test-fdutimensat.tlink", 0xFFBFE0E4) = 0
fcntl(3, F_DUP2FD, 0x00000003)                  = 3
lstat("test-fdutimensat.tlink", 0xFFBFE06C)     = 0
fstat64(2, 0xFFBFD520)                          = 0
../../gltests/test-fdutimensat.cwrite(2, " . . / . . / g l t e s t"..,
32)      = 32
:56write(2, " : 5 6", 3)                                = 3
: assertion failed
write(2, " :   a s s e r t i o n  ".., 19)      = 19
sigaction(SIGABRT, 0x00000000, 0xFFBFE3E0)      = 0
sigaction(SIGABRT, 0xFFBFE290, 0xFFBFE330)      = 0
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
lwp_kill(1, SIGABRT)                            = 0
    Received signal #6, SIGABRT [default]
      siginfo: SIGABRT pid=27650 uid=84137 code=-1



It looks like Solaris 10 may have broken their hack where
futimesat(fd,NULL,time) could set the timestamps of an open fd, which
coreutils is relying on since futimens and utimensat do not exist on
that platform.

I'm looking into it further, but wanted to send this out now.

-- 
Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]