This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
[Fwd: Re: Problems with Cygwin-1.7.8 (or snapshot) and TeXLive 2010]
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin-developers at cygwin dot com
- Date: Mon, 7 Mar 2011 14:50:38 +0100
- Subject: [Fwd: Re: Problems with Cygwin-1.7.8 (or snapshot) and TeXLive 2010]
- Reply-to: cygwin-developers at cygwin dot com
> On Mar 7 11:11, Corinna Vinschen wrote:
> [...]
> Ok, I found a simpler testcase. If you have the texmf-bin package
> installed, just try this:
>
> $ cd /var/lib/texmf/web2c
> $ rm -f aleph.*
> $ aleph -ini -jobname=aleph -progname=aleph *aleph.ini > /dev/null
> $ ls -l aleph.*
>
> and you'll see that the aleph.* files have not 0644, but other, wrong
> permissions.
>
> As I expected the aforementioned patch is the culprit, but in an
> entirely unexpected way. Basically, the patch adds a bool parameter to
> the functions get_file_sd. If it's true, the Win32 function
> GetSecurityInfo is called, just like before, if it's false, the native
> NT function NtQuerySecurityObject is called instead.
>
> Now, for some reason, on XP, but not on Windows 7, the call to
> GetSecurityInfo suddenly fails with an error 487, ERROR_INVALID_ADDRESS.
> Apart from the fact that it's not always called anymore, nothing has
> changed in the way GetSecurityInfo is called!
>
> I tried various changes, but to no avail. I have not the faintest clue
> why GetSecurityInfo suddenly fails on XP. The only way I can get
> GetSecurityInfo to work on XP is by removing the additional bool
> parameter :-(
Can anybody explain to me what happened lately? Is it a coincidence
that we had (at least?) two changes in the last couple of months which
trigger a 487 error on XP for no apparent reason?
How is it possible that an additional parameter to the calling function
can trigger an ERROR_INVALID_ADDRESS in a subsequently called Win32
function, even if this parameter is just a bool value not eve used in
the Win32 call?!?
Just for the records, I tested to remove the __stdcall and the regparm
from get_file_sd. I tried to replace the type bool with the Win32
typer BOOL and the native NT type BOOLEAN. I rearranged the code.
Nothing helps, except removing the additional parameter to get_file_sd.
I don't get this.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat