Hi Doug,
On 7/5/20 11:19 am, Doug Henderson via Cygwin wrote:
<snip>
I think this is the essence of your problem. It looks like you are mapping
you temporary directory outside the cygwin directory tree, Not sure how you
are doing it. For me, I have TMP=/tmp and TEMP=/tmp in my cygwin
environment. In my windows environment, i.e, when running cmd.exe, TEMP and
TMP point to C:\Users\Doug\AppData\Local\Temp.
I expect you will find that the windows permissions for your temp directory
is different from the default /tmp.
Check this using lsacl (A bash script found somewhere in this mailing
list.) Or the file properties from windows explorer.
In my case:
$ ls -ld /tmp
drwxrwxrwt+ 1 Admin None 0 May 6 18:51 /tmp/
$ ls -ld $(cygpath -u 'C:\Users\Doug\AppData\Local\Temp' )
drwxrwx---+ 1 Doug SYSTEM 0 May 6 18:50
/cygdrive/c/Users/Doug/AppData/Local/Temp/
$ lsacl /tmp
[u::rwx,g::rwx,o::rwx/u::rwx,g::r-x,o::r-x] /tmp
$ lsacl $(cygpath -u 'C:\Users\Doug\AppData\Local\Temp' )
[u::rwx,g::rwx,g:Administrators:rwx,m::rwx,o::---/u::rwx,g::rwx,g:SYSTEM:rwx,g:Administrators:rwx,m::rwx,o::---]
/cygdrive/c/Users/Doug/AppData/Local/Temp
I suggest you change your temporary directory to ./tmp, or align the
permissions.
Thanks. Yes, I am mapping my directory outside the cygwin directory
tree, via /etc/fstab.
I will certainly check the perms and see if they make a
difference. However, you must admit, it is weird that running as.exe
with path /usr/bin/as.exe does not break like running the same exe
with path /usr/x86_64-pc-cygwin/bin/as.exe, out of the same /tmp
directory, is inexplicable.
And even if perms are involved, it's quite unexpected that spawning a
Cygwin executable would behave in a very undesirable way. Whilst I am
able to recover the situation with ctrl-d or ctrl-c in a console
window (command prompt or ConEmu), under mintty, I get a total lock
up if I try ctrl-d or ctrl-c. I can only recover my mintty session by
avoiding ctrl-d/c and selectively killing processes via taskmgr (I
think child of bash first, then the hung /usr/x86_64-pc-cygwin/bin/
process).
I'll accept that my experience must be accounted for as an extreme
corner case. But I feel satsified that I have documented it here, in
case some silent observers have been experiencing like issues, and not
reporting them. On the face of it, those users might have thought it
was a problem with mintty, which I don't believe it is.
And I want to clarify, I don't think Cygwin's DLL code is at fault at
all. If my understanding is correct, there are all sorts of code
segments in the DLL where an adjustment has to be made because a
Windows API function does not behave consistently, or as per its
documentation. I suspect this is an unidentified equivalent.
--
Regards,
Shaddy
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple