X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Tue, 26 Apr 2011 09:43:25 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: untarring symlinks with ../ fails randomly Message-ID: <20110426074325.GP3324@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20110424121145 DOT GB30696 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Apr 25 14:59, Lester Ingber wrote: > Corinna Vinschen cygwin.com> writes: > > > > > On Apr 24 17:14, Dima Pasechnik wrote: > > > Dear all, > > > reposting, as the message did not get through to the mailing list yesterday: > > > > > > The issue I have is exactly as described in > > > http://sourceware.org/ml/cygwin/2011-04/msg00299.html > > > I can reproduce this on a very similar Windows 7 host. > > > (To be precise, it seems hard to predict when creating symlinks fails; > > > I could say > > > that perhaps 20% of them, on average, are not created correctly (i.e. > > > I get files of size 0 instead)). > > > > A simple testcase in plain C to reproduce the issue would be fine. > > Did you try to create the symlinks under strace? It should contain > > some valuable hint from the function "symlink_worker". > > > > Corinna > > > > The problem seems to be with untar, not tar per se. Just today, I did `tar cp` > a directory of a few hundred links under Cygwin. Under an unbuntu machine I > recovered all files and links just fine. Under Cygwin, all files were 0 and > permissions were "----------" instead of "lrwxrwxrwx" as in the original > directory. (Yesterday, half the links were 0. After compiling tar-12.6 from > gnu.org I still got 8 0's. I then moved that tar to tar-1.26 yesterday.) I > include an excerpt of the log of `tar xfp` doing this with strace just for one > file, index.html. Thanks for the strace. However, it doesn't show any problem with Cygwin. What can be seen here is just that... > 199 1012793 [main] tar 7272 symlink_info::check: 0xC0000034 = > NtQueryInformationFile (\??\C:\cygwin\home\ingber\www-ssl\index.html.exe.lnk) > 188 1012981 [main] tar 7272 symlink_info::check: 0 = symlink.check > (C:\cygwin\home\ingber\www-ssl\index.html, 0x28B590) (0x3000A) ...there is no file called index.html yet, and ... > 305 1014830 [main] tar 7272 fhandler_base::open: (\?? > \C:\cygwin\home\ingber\www-ssl\index.html, 0x100A01) > 1307 1016137 [main] tar 7272 alloc_sd: uid -1, gid -1, attribute 80000000 ...next tar does *not* try to create a symlink, but a file of size 0 with permissions 000 instead. So the problem here seems to be in tar. Obviously I can't tell why tar tries to create a file rather than a symlink. There's nothing else to gain from this strace. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple