Hi Corinna,

Thank you for taking a look so quickly -- I can confirm your patch
fixes things for me; the installer now runs to completion and the
Cygwin64 Terminal + other installed tools all function correctly.

Best,
Kevin

On Tue, Feb 13, 2024 at 8:25 AM Corinna Vinschen
<corinna-cyg...@cygwin.com> wrote:
>
> On Feb 13 11:09, Corinna Vinschen via Cygwin wrote:
> > On Feb 12 14:38, Kevin Ushey via Cygwin wrote:
> > > For reference, I first bumped into this when using Git Bash as bundled
> > > with Git for Windows, but it sounds like the underlying issue may be
> > > in Cygwin. See https://github.com/git-for-windows/git/issues/4808 for
> > > more details.
> >
> > There is, however, the stacktrace from your above issue report on
> > github, which makes more sense, and, incidentally, occurs in code
> > following cygwin_split_path in the .text segment:
> >
> > (gdb) bt
> > #0  0x00000002101eeaf3 in memmem () from [...]
> > #1  0x0000000210095d91 in cwdstuff::override_win32_cwd(bool, unsigned int) 
> > ()
> >    from [...]
> > #2  0x000000021009642e in cwdstuff::set(path_conv*, char const*) () from 
> > [...]
> > #3  0x0000000210047025 in dll_crt0_1(void*) () from [...]
> > #4  [...]
> >
> > This points to something going wrong during startup, while trying
> > to evaluate the global pointer to the hidden ntdll.dll struct we
> > called, for want of an official expression, FAST_CWD structure.
> >
> > If we can rely on frame 1, a call to memmem crashes, that would
> > mean the crash occurs in find_fast_cwd_pointer().
> >
> > > Does any of this sound familiar? Is there anything else I can do to
> > > get more information here; e.g. are there builds of Cygwin with debug
> > > symbols published somewhere, or should I try producing my own debug
> > > build?
> >
> > Well, you could have mentioned that this is on AArch64.  Fortunately
> > you did in the github case, but next time, please tell us here, too.
> >
> > I assume you can't run any Cygwin binary, even from outside the
> > installer?
> >
> > Other than that, the only thing you really could do at this point is to
> > check Cygwin's find_fast_cwd_pointer() function and go through this
> > function step by step, diving into the assembler code this function
> > inspects trying to find out which of the memmem calls fails and how to
> > fix it.  And send a patch eventually.
> >
> > However, there isn't much point there as long as this is an insider
> > build.  In the past, the code often changed and was uncritical in the
> > next official release.
> >
> > One thing we can do is to skip the find_fast_cwd_pointer() code entirely
> > when running on AArch64, but it's a bit annoying, given this wasn't
> > necessary in previous AArch64 builds.
>
> I've just pushed a (temporary?) patch to do just that.  This will be
> in the test build cygwin-3.6.0-0.37.g4e77fa9b8bf4 which will be
> installable via Cygwin's installer in an hour or two.
>
> Please try if this works for you and report back.  You can use this
> DLL as workaround for the time being then.
>
>
> Corinna

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

Reply via email to