X-Spam-Check-By: sourceware.org Message-ID: Date: Fri, 3 Aug 2007 23:09:32 +0200 From: Daniel To: cygwin AT cygwin DOT com Subject: Re: Cygwin coreutils assertion failed In-Reply-To: <46B32AD1.1010903@byu.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <46B32AD1 DOT 1010903 AT byu DOT net> X-Google-Sender-Auth: f2fa43418baf0e67 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 Hi Eric Thanks for the detailed and quick response. Usually such bug reports are never answered. The cause you describe sounds too bad and the occurrence is too rare (only once) that I would bother going after this. Instead I'll try to compile Emacs under Cygwin, which has caused me enough headaches already. Thanks for the maintaining work! Regards, Daniel On 8/3/07, Eric Blake wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > http://cygwin.com/acronyms/#PPIOSPE - redirecting to the list. > > According to Daniel on 8/3/2007 12:29 AM: > > Hi Eric, > > > > I'm running Windows XP Professional with Cygwin 2.510.2.2. > > No, you aren't. You loaded cygwin using setup.exe version 2.510.2.2, but > cygwin itself is at version 1.5.24. Also, coreutils is now at 6.9-4, > while you only have 6.9-3; you may want to consider upgrading. > > > I have a > > > > tail -n 1000 -F -s 0.1 ~/putty.log > > > > running all the time since many weeks. Tonight it crashed with the message: > > > > assertion "0 <= seconds" failed: file > > "/home/eblake/coreutils-6.9-3/src/coreutils-6.9/lib/xnanosleep.c", > > line 57 > > bash: [3120: 1] tcsetattr: Inappropriate ioctl for device > > Hangup > > (129) > > Well, calling xnanosleep with negative time (where seconds is a variable > of type double) certainly implies a bug. The question is why the time was > negative. > > Even worse, in the source for tail, xnanosleep is called in only one > place, inside a while(1) loop, with a value initialized to 0.1 outside of > the loop by your choice of -s option but never assigned within the loop. > It is either stack corruption (perhaps due to faulty memory), or else the > double sleep value is being stored only in a register and the register is > not properly being restored after some context switch. Without > disassembling tail, I don't know whether the sleep_interval was stored on > the stack or in a register; but since it is the only use of floating point > in tail.c, I would suspect that the compiler did not need to spill it out > of registers onto the stack. Either way, it does not sound like a > pleasant bug, nor does it seem like something that is caused directly by > coreutils. > > - -- > Don't work too hard, make some time for fun as well! > > Eric Blake ebb9 AT byu DOT net > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.5 (Cygwin) > Comment: Public key at home.comcast.net/~ericblake/eblake.gpg > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFGsyrQ84KuGfSFAYARAo0uAJ9GcNpLMEuV8tI353Kq93Ij4evSTACguokW > EnKD+iOjFDJXh4GV5HEGJ1E= > =D0SN > -----END PGP SIGNATURE----- > -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/