This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: [Fwd: Re: Problems with Cygwin-1.7.8 (or snapshot) and TeXLive 2010]
On Mar 7 10:18, Christopher Faylor wrote:
> On Mon, Mar 07, 2011 at 02:50:38PM +0100, Corinna Vinschen wrote:
> >> 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.
>
> This is one of those functions which has a __stdcall only in the header
> file and not in the .cc file. I know it's grasping at straws but did you
> try adding all of the appropriate parameters to the .cc file?
Yes. I tried that, too, just like to remove it entirely, as well as
to remove the regparm stuff. Nothing changes the fact that I get a
487 error.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat