Subject: Re: bug#10432: TOUCH COMMAND CORE DUMPS

From: Eric Blake <[email-masked]>
Date: Wed, 04 Jan 2012 11:16:15 -0700

tag 10432 fixed
retitle 10432 old touch command dumps core on Solaris
thanks

On 01/04/2012 10:58 AM, John Monko wrote:
>      Version 5.97 of 'touch' command core dumps:
> 
> -bash-3.00$ /opt/sfw/bin/touch --version

Although you didn't state it, the naming convention /opt/sfw is typical
for pre-built binary coreutils versions running on Solaris machines.
Assuming I'm right, which version of Solaris are you running on?

> touch (GNU coreutils) 5.97

That is extremely old.  We are now at 8.14, and soon to release 8.15.

Meanwhile, we know of several issues where coreutils compiled for older
Solaris (which lacked the futimens() syscall) then run on new Solaris
(where the syscall was added) have entered into infinite loops, because
the old version compiled against a replacement function that ended up
resolving to the system function rather than the coreutils replacement
in the newer Solaris, but where the system function made a call back to
another function name provided by coreutils, causing infinite recursion
leading to stack overflow and hence a core dump.  The NEWS describes
these changes:

8.11:
  touch built on Solaris 9 would segfault when run on Solaris 10
  [bug introduced in coreutils-8.8]
8.7:
  cp, install, mv, and touch no longer crash when setting file times
  on Solaris 10 Update 9 [Solaris PatchID 144488 and newer expose a
  latent bug introduced in coreutils 8.1, and possibly a second latent
  bug going at least as far back as coreutils 5.97]

and since this sounds like it matches your symptoms, I'm closing out
this bug report.  We can reopen it if you can provide more details that
there is still a live issue, but I suspect that merely upgrading to
newer coreutils will solve things for you.

-- 
Eric Blake   [email-masked]    +1-919-301-3266
Libvirt virtualization library http://libvirt.org