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]

Re: Side-by-side configuration is incorrect reported as permission denied


On 08/12/2012 01:35 PM, Earnie Boyd wrote:
On Sun, Aug 12, 2012 at 1:56 PM, Pawel Jasinski wrote:
If you can find a nice Linux errno which maps from ERROR_SXS_CANT_GEN_ACTCTX
to something other than EACCES I'd be happy to change Cygwin.
Sorry I was not clear. The point was not to use linux error code. what
I was trying to say is linux does not follow POSIX only error codes
policy.
Such a policy is impractical. Your point was POSIX only, wasn't it?
You can add cygwin specific error codes.
Although I believe I understand some of the issues of POSIX or POSIX-like compliance in reporting errnos, etc. I still wish to address the following.
Cygwin doesn't have the access required to execute the process because
of some reason.
Exactly.
It is up to you to examine the reason.
Yes and no, IMHO. You (meaning Cygwin) have immensely more information about what's going on than I (the user) do! You are the best person in the whole world at this time to report what went wrong so that I can fix the problem and return to profitability. And you're gonna hoard that info???
Why should we be bothered with anything other than EACCESS?
Like I said, because you have much more information about what's going on, specifically what you were doing and where in the series of calls and instructions that lead you to an error. True some other sub-system may have errored out and perhaps didn't even give you much to go on, but in general you'd have more information about what went wrong than the user.
When you reported the issue the first action you took was to determine why you couldn't
execute a Windows program. That was the correct action,
As the actual person who reported the issue I can assure you that my first action was most definitely not to determine why I couldn't execute a Windows program. The reason seemed clear - or at least was clearly reported to me although the reason was actually erroneous. I truly thought it was a permission problem. I checked the permission bits and wondered what was going on because according to Cygwin I *HAD* permissions to execute the file. I thought perhaps it was on a share or maybe the Windows permissions matrix was weirdly configured, etc. When none of that panned out I got the bright idea to try it in cmd, which gave me the better error message. Then I scratched my head and wondered by Cygwin didn't simply report that error message (that I assume CreateProcess passed back to it - however I don't write Windows code) and simply and dutifully report back the text of the error message the OS gave it. Many other users would not have thought to try that.

Now I know that there are POSIX error codes and people tend to check error numbers and you want to put the closest match of a POSIX errno to the Windows error message. But why couldn't you just print to stderr the error message that Windows returned perhaps in addition to setting syserr to "Permission denied"?
hammering this list with your wishes isn't gaining you sympathy from those that
use and support it.
I don't know. He has my sympathy. My pity too... :-)
--
Andrew DeFaria <http://defaria.com>
The other day I was playing poker with Tarot cards. I got a full house and four people died.



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


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