X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_54,SPF_PASS X-Spam-Check-By: sourceware.org Message-ID: <4A8D913B.7030801@tlinx.org> Date: Thu, 20 Aug 2009 11:08:59 -0700 From: Linda Walsh User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: findutils-4.5.4-1 problem (updatedb crashing) References: <08B768A95A4E469CB9E03A528139AF31 AT marianPC> In-Reply-To: <08B768A95A4E469CB9E03A528139AF31@marianPC> X-Stationery: 0.4.10 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 marian wrote: > This problem has already been reported on 7/22/2009 9:37 PM, but I > think to have found the reason for it. > assertion "ent->fts_info == FTS_NSOK || state.type != 0" failed: file > "/usr/src/findutils-4.5.4-1/src/findutils-4.5.4/find/ftsfind.c", line > 475, function: consider_visiting. > I have downloaded the sources tarball for findutils-4.5.4-1 and checked > line 475 of ftsfind.c. The block of code line 475 is part of, follows: > > /* Cope with the usual cases. */ > if (ent->fts_info == FTS_NSOK > || ent->fts_info == FTS_NS /* e.g. symlink loop */) (THIS IS LINE 475) --- The comment indicates a possible reason though. Maybe something in your file system is generating an infinite loop? Can you run 'find . ' on the filesystems you are indexing and does it 'finish'/run to completion? Send the output to a file...maybe run it using 2 separate Bash windows, in 1 window. Let's say you are only indexing '/' in your updatedb script, so in the first bash window, run: find / >/tmp/allfiles.txt 2>/tmp/allfiles_err.txt& tail -f /tmp/allfiles_err.txt In the 2nd window, then run: tail -f /tmp/allfiles.txt See if it really can find all the files on your disk and not get into some sort of infinite loop -- you might be able to notice the loop in window #2 as it 'speeds by' if you start seeing the pathname growing longer and longer and it seems to have repeated elements in it. An easy way to cause this is using 'linkd'. I know 'grep'(and fgrep/egrep) will detect infinte loops and die gracefully, but pcregrep doesn't and will keep building out the pathname until the pathname gets too long and it fails. Maybe find doesn't handle something gracefully? Just a WAG (Wild-Ass-Guess)....based on the comment. Does your updatedb have the option to follow symlinks enabled? (find with "-L" would follow such links) -- that might generate the same type of infinite loop. Hope that's helpful... linda -- 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