Re: File permission problems with new cygwin dll
On Fri, Oct 18, 2002 at 12:19:29AM +0200, Pavel Tsekov wrote: On Thu, 17 Oct 2002, Christopher Faylor wrote: On Thu, Oct 17, 2002 at 03:17:11PM +1300, Ross Smith wrote: If you take any command-line program that writes to stdout -- plain old hello world will do fine -- compile it with gcc, and run it several times with somefile, then you get a file containing several copies of hello world, as you'd expect. But if you compile it with Visual C++ instead, then instead of appending to the file, it just overwrites the beginning of the file every time. Should be fixed in cvs. I'm generating a snapshot. The problem was caused by this change from Pavel Tsekov: http://sources.redhat.com/ml/cygwin-cvs/2002-q3/msg00064.html I had a nagging feeling that this was a problem when it was checked in. My fix still keeps this patch but it resets file pointers before execing a new process. That seems to work. I should have been more careful. My mistake is that I didn't understand why the file pointer should be moved on open () back then. Removing this code fixed an obivious bug and seemed reasonable. Now as I looked at the code you've checked in dtable.cc, everything seems clear. Sorry :( Hey, I wasn't pointing fingers! I should have made that very clear. I approved the checkin and I should understand the code pretty thoroughly. I should have remembered why the file pointer code was in open. I'm glad that we did things this way. Your patch makes cygwin slightly faster and I *think* that handling the problem in exec makes things even more correct than they were prior to your patch. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: File permission problems with new cygwin dll
On Thu, 17 Oct 2002, Christopher Faylor wrote: On Thu, Oct 17, 2002 at 03:17:11PM +1300, Ross Smith wrote: If you take any command-line program that writes to stdout -- plain old hello world will do fine -- compile it with gcc, and run it several times with somefile, then you get a file containing several copies of hello world, as you'd expect. But if you compile it with Visual C++ instead, then instead of appending to the file, it just overwrites the beginning of the file every time. Should be fixed in cvs. I'm generating a snapshot. The problem was caused by this change from Pavel Tsekov: http://sources.redhat.com/ml/cygwin-cvs/2002-q3/msg00064.html I had a nagging feeling that this was a problem when it was checked in. My fix still keeps this patch but it resets file pointers before execing a new process. That seems to work. I should have been more careful. My mistake is that I didn't understand why the file pointer should be moved on open () back then. Removing this code fixed an obivious bug and seemed reasonable. Now as I looked at the code you've checked in dtable.cc, everything seems clear. Sorry :( -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: File permission problems with new cygwin dll
On Thu, Oct 17, 2002 at 03:17:11PM +1300, Ross Smith wrote: If you take any command-line program that writes to stdout -- plain old hello world will do fine -- compile it with gcc, and run it several times with somefile, then you get a file containing several copies of hello world, as you'd expect. But if you compile it with Visual C++ instead, then instead of appending to the file, it just overwrites the beginning of the file every time. Should be fixed in cvs. I'm generating a snapshot. The problem was caused by this change from Pavel Tsekov: http://sources.redhat.com/ml/cygwin-cvs/2002-q3/msg00064.html I had a nagging feeling that this was a problem when it was checked in. My fix still keeps this patch but it resets file pointers before execing a new process. That seems to work. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: File permission problems with new cygwin dll
On Thu, Oct 17, 2002 at 11:09:31AM +1300, Ross Smith wrote: I just upgraded to the new cygwin dll and gcc, and I seem to be running into some of the same problems reported by others. (Yes, I know ntsec is now enabled by default.) First problem: chmod doesn't work. Whenever I try to use it, I just get chmod: changing permissions of `foo': Invalid argument. As a guess, that would probably be an indication that your /etc/passwd is out of sync with your Windows account. Rerunning mkpasswd may help. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
RE: File permission problems with new cygwin dll
It didn't fix the sigsegv problem with gdb, but I was also having problems with gcc producing .exe files that didn't have execute permissions. -Rolf -Original Message- From: Christopher Faylor [mailto:[EMAIL PROTECTED]] Sent: Wednesday, October 16, 2002 7:26 PM To: [EMAIL PROTECTED] Subject: Re: File permission problems with new cygwin dll On Wed, Oct 16, 2002 at 07:23:25PM -0400, Rolf Campbell wrote: That fixed all of my problems! mkpasswd -du mywindowslogin /etc/passwd, and then gcc started producing programs that were executable again. Wow. I'm amazed. I didn't expect that it would fix those kind of problems. I'm glad that it did. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
RE: File permission problems with new cygwin dll
From: Christopher Faylor [mailto:[EMAIL PROTECTED]] On Thu, Oct 17, 2002 at 11:09:31AM +1300, Ross Smith wrote: I just upgraded to the new cygwin dll and gcc, and I seem to be running into some of the same problems reported by others. (Yes, I know ntsec is now enabled by default.) First problem: chmod doesn't work. Whenever I try to use it, I just get chmod: changing permissions of `foo': Invalid argument. As a guess, that would probably be an indication that your /etc/passwd is out of sync with your Windows account. Rerunning mkpasswd may help. Thanks. After some trial and error with the mkpasswd options, I managed to get passwd group files that worked. However, I've had to revert to the old cygwin dll after all, because of another bug. There's some strange breakage that makes redirection with not work with non-cygwin programs. If you take any command-line program that writes to stdout -- plain old hello world will do fine -- compile it with gcc, and run it several times with somefile, then you get a file containing several copies of hello world, as you'd expect. But if you compile it with Visual C++ instead, then instead of appending to the file, it just overwrites the beginning of the file every time. This just started with the new dll, so it's something to do with the changes between 1.3.12-4 and 1.3.13-2. -- Ross Smith .. Pharos Systems, Auckland, New Zealand This has been a test of the emergency broadcasting system. If this had been a real emergency, we would have all fled in terror, and you would not have been notified. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/