This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

1.5.11 win9x instability


I have been experiencing intermittent instability on win98se, but tried the same tests on another 98 box with similar problems, so I am confident that cygwin is the culprit. (my machine is solid outside of cygwin).
I use the call to "find" below in one of my projects (webpack), and every once in a while it it will return a large negative number, rather than the length of the file (which is what it is intended to do). This only happens under cygwin.
So I wrote this simplified testcase, which is also unstable, though I have not been able to replicate the unexpected filesize issue, instead it always gives me a "broken pipe" error after "sufficient" iterations.

Also, (and I assume this is related), hitting ctrl-c during this script will do all sorts of unexpected things, ranging from "broken pipe" to cygwin page faulting, showing an error window that won't go away, thus needing a (usually hard) reboot. Other example errors from ctrl-c include (but are not limited to):
"/cygdrive/d/home/bin/findtest: fork: Resource temporarily unavailable" and:
"141 [main] bash 1023809 fork_copy: user/cygwin data pass 3 failed, 0x7BE890..0x7C0000, done 0, windows pid 4294111903, Win32 error 1067 /cygdrive/d/home/bin/findtest: fork: Resource temporarily unavailable"
(The expected behaviour is that you just get returned to the cygwin command prompt.)

So if you don't want to run the testcase for ages to catch the intermittent problem, just hit ctrl-c and watch the fireworks instead :)

The testcase below will run for a while and eventually stop (maybe after 2 minutes, maybe after 2 hours) with "broken pipe" (save this to a script and run it giving it the name of any file on the command line - eg. "findtest myfile":

#!/bin/bash
x=`find "$1" -printf "%s"`
y=$x
echo "$1 is $x bytes"
while [ $x = $y ]
do
    y=`find "$1" -printf "%s"`
    echo -n "$y "
done
echo "Now $1 is $y bytes!"
exit 0

(end testcase)
If someone gets this this testcase to catch the original problem (the filesize not being what is expected) I would be interested.
btw, I tried with the current cygwin (1.5.10) and also several of the latest snapshots with no change. cygcheck.out is attached.

Regards, Errol

http://www.kludgesoft.com/webpack.html

Attachment: cygcheck.out
Description: Text document

--
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/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]