GNU bug report logs - #7061
loop on touch (fdutimens)

Previous Next

Package: coreutils;

Reported by: C de-Avillez <hggdh2 <at> ubuntu.com>

Date: Sat, 18 Sep 2010 00:48:02 UTC

Severity: normal

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Jim Meyering <jim <at> meyering.net>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#7061: closed (loop on touch (fdutimens))
Date: Fri, 22 Jul 2011 22:14:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 23 Jul 2011 00:13:04 +0200
with message-id <878vrq55hr.fsf <at> rho.meyering.net>
and subject line Re: bug#7061: loop on touch (fdutimens)
has caused the GNU bug report #7061,
regarding loop on touch (fdutimens)
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
7061: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7061
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: C de-Avillez <hggdh2 <at> ubuntu.com>
To: Bug Coreutils <bug-coreutils <at> gnu.org>
Subject: loop on touch (fdutimens)
Date: Fri, 17 Sep 2010 19:49:45 -0500
[Message part 3 (text/plain, inline)]
Hello,

I just built & ran a quick test on coreutils GIT. I received a SEGV on
touch, and ran it under GDB.

Looks like a loop.

Cheers,

cerdea <at> xango2:/build/buildd/coreutils$ gdb --args src/touch test
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /src/buildd/coreutils/src/touch...done.
(gdb) set pagination off
(gdb) r
Starting program: /src/buildd/coreutils/src/touch test
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x00000000004073dc in fdutimens (fd=0, file=0x0, timespec=0x0) at utimens.c:193
193           if (dup2 (fd, fd) != fd)
(gdb) bt 3 full
#0  0x00000000004073dc in fdutimens (fd=0, file=0x0, timespec=0x0) at utimens.c:193
        adjusted_timespec = {{tv_sec = 0, tv_nsec = 0}, {tv_sec = 0, tv_nsec = 0}}
        ts = 0x0
        adjustment_needed = 0
        st = <error reading variable st (Cannot access memory at address 0x7fffff5fef70)>
#1  0x00000000004072aa in fdutimens (fd=0, file=0x0, timespec=0x0) at utimens.c:269
        result = <value optimized out>
        adjusted_timespec = {{tv_sec = 0, tv_nsec = 0}, {tv_sec = 0, tv_nsec = 0}}
        ts = 0x0
        adjustment_needed = <value optimized out>
        st = {st_dev = 0, st_ino = 0, st_nlink = 0, st_mode = 0, st_uid = 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 0, st_blksize = 0, st_blocks = 0, st_atim = {tv_sec = 0, tv_nsec = 0}, st_mtim = {tv_sec = 0, tv_nsec = 0}, st_ctim = {tv_sec = 0, tv_nsec = 0}, __unused = {0, 0, 0}}
#2  0x00000000004072aa in fdutimens (fd=0, file=0x0, timespec=0x0) at utimens.c:269
        result = <value optimized out>
        adjusted_timespec = {{tv_sec = 0, tv_nsec = 0}, {tv_sec = 0, tv_nsec = 0}}
        ts = 0x0
        adjustment_needed = <value optimized out>
        st = {st_dev = 0, st_ino = 0, st_nlink = 0, st_mode = 0, st_uid = 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 0, st_blksize = 0, st_blocks = 0, st_atim = {tv_sec = 0, tv_nsec = 0}, st_mtim = {tv_sec = 0, tv_nsec = 0}, st_ctim = {tv_sec = 0, tv_nsec = 0}, __unused = {0, 0, 0}}
(More stack frames follow...)
(gdb) bt -5 full
#38527 0x00000000004072aa in fdutimens (fd=0, file=0x0, timespec=0x0) at utimens.c:269
        result = <value optimized out>
        adjusted_timespec = {{tv_sec = 8589924528, tv_nsec = 0}, {tv_sec = 0, tv_nsec = 4197073}}
        ts = 0x0
        adjustment_needed = <value optimized out>
        st = {st_dev = 4197129, st_ino = 140737354130624, st_nlink = 140737488345056, st_mode = 4160562656, st_uid = 32767, st_gid = 4294957064, __pad0 = 32767, st_rdev = 140737354129768, st_size = 255564379, st_blksize = 140737351936210, st_blocks = 0, st_atim = {tv_sec = 140737353950688, tv_nsec = 140733193388033}, st_mtim = {tv_sec = 0, tv_nsec = 1}, st_ctim = {tv_sec = 140737354129768, tv_nsec = 0}, __unused = {140737353950688, 1, 0}}
#38528 0x00000000004072aa in fdutimens (fd=0, file=0x0, timespec=0x0) at utimens.c:269
        result = <value optimized out>
        adjusted_timespec = {{tv_sec = 5, tv_nsec = 0}, {tv_sec = 0, tv_nsec = 140737351981093}}
        ts = 0x0
        adjustment_needed = <value optimized out>
        st = {st_dev = 29848917, st_ino = 2, st_nlink = 140737349750208, st_mode = 0, st_uid = 0, st_gid = 4152746968, __pad0 = 32767, st_rdev = 140737354115432, st_size = 0, st_blksize = 4294967295, st_blocks = 24, st_atim = {tv_sec = 1, tv_nsec = 6336552}, st_mtim = {tv_sec = 0, tv_nsec = 1}, st_ctim = {tv_sec = 0, tv_nsec = 0}, __unused = {140737351953297, 1, 0}}
#38529 0x00000000004024e2 in fdutimensat (fd=0, dir=-100, file=0x7fffffffde74 "test", ts=0x0, atflag=0) at fdutimensat.c:48
        result = 1
#38530 0x0000000000401f21 in touch (argc=2, argv=0x7fffffffdad8) at touch.c:166
        ok = <value optimized out>
        fd = 0
        open_errno = 0
        t = 0x7ffff7929f97
#38531 main (argc=2, argv=0x7fffffffdad8) at touch.c:432
        c = <value optimized out>
        date_set = <value optimized out>
        ok = true
        flex_date = <value optimized out>
(gdb) list
188           if (fd < 0)
189             {
190               errno = EBADF;
191               return -1;
192             }
193           if (dup2 (fd, fd) != fd)
194             return -1;
195         }
196
197       /* Some Linux-based NFS clients are buggy, and mishandle time stamps
(gdb) 


cerdea <at> xango2:/build/buildd/coreutils$ src/touch --version
touch (GNU coreutils) 8.5.154-2dd21
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Paul Rubin, Arnold Robbins, Jim Kingdon,
David MacKenzie, and Randy Smith.
cerdea <at> xango2:/build/buildd/coreutils$ 


-- 
C de-Avillez
IRC: hggdh

This email (and any attachments) is digitally signed using GNUpg
(http://gnupg.org). The public key is available at http://pgp.mit.edu.
The key Id is 0xD3133E56.
[signature.asc (application/pgp-signature, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Jim Meyering <jim <at> meyering.net>
To: 7061-done <at> debbugs.gnu.org
Subject: Re: bug#7061: loop on touch (fdutimens)
Date: Sat, 23 Jul 2011 00:13:04 +0200
tags 7061 + notabug
close 7061
thanks

C de-Avillez wrote:
...
> Indeed, building from a fresh GIT did the trick. I am guessing I
> something got left over from previous builds...
>
> This bug can be closed.

Done.


This bug report was last modified 13 years and 362 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.