Skip to content

git.exe crashes on exit in mi_thread_init on windows 2.40.1.vfs.0.0 #578

Closed
@andygo-msft

Description

@andygo-msft

Setup

  • Which version of microsoft/git are you using? Is it 32-bit or 64-bit?
$ git --version --build-options

git version 2.40.1.vfs.0.0
cpu: x86_64
built from commit: 27f6460705d34dd1692da5b8c9c26401dd2d5a89
sizeof-long: 4
sizeof-size_t: 8
shell-path: /bin/sh
feature: fsmonitor--daemon

Are you using Scalar or VFS for Git?

Scalar

If VFS for Git, then what version?

$ gvfs version

N/A
  • Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit?
$ cmd.exe /c ver

Microsoft Windows [Version 10.0.19045.2846]

Win10 22H2 64 bit
  • Any other interesting things about your environment that might be related
    to the issue you're seeing?

JIT debugger enabled

Details

  • Which terminal/shell are you running Git from? e.g Bash/CMD/PowerShell/other

CMD.EXE

This was automatically invoked by something, I believe VS:

C:\Program Files\Git\mingw64\bin\git.exe  -c "gc.auto=0" -c "credential.helper=manager" -c "core.askpass=C:/Program Files/Git/mingw64/bin\git-askpass.exe" --no-pager rev-list --topo-order --use-bitmap-index --header HEAD --

another example that happened with VS running after changing branches at the cmd line:

C:\Program Files\Git\mingw64\bin\git.exe  -c "gc.auto=0" -c "credential.helper=manager" -c "core.askpass=C:/Program Files/Git/mingw64/bin\git-askpass.exe" -c "core.abbrev=40" --no-pager reflog
  • What did you expect to occur after running these commands?

exit w/o a crash that starts the JIT debugger

  • What actually happened instead?

the JIT debugger is invoked. windbgx cannot attach because the process is exiting. VS did attach successfully and showed an AV at this stack:

bcryptprimitives.dll!AesRNGState_generate() Unknown
bcryptprimitives.dll!GenRandomAes�() Unknown
bcryptprimitives.dll!MSCryptGenRandom() Unknown
bcrypt.dll!BCryptGenRandom() Unknown
bcrypt.dll!BCryptGenRandom() Unknown
git.exe!mi_random_init_ex() Line 325 C++
git.exe!_mi_heap_init() Line 282 C++
git.exe!mi_thread_init() Line 437 C++
git.exe!_mi_malloc_generic() Line 423 C++
git.exe!mingw_getenv() Line 2359 C++
git.exe!run_post_command_hook() Line 451 C++
msvcrt.dll!doexit() Unknown
msvcrt.dll!__CRTDLL_INIT() Unknown
ntdll.dll!LdrpCallInitRoutine() Unknown
ntdll.dll!LdrShutdownProcess�() Unknown
ntdll.dll!RtlExitUserProcess() Unknown
KernelBase.dll!DefaultHandler�() Unknown
KernelBase.dll!CtrlRoutine() Unknown
kernel32.dll!BaseThreadInitThunk�() Unknown
ntdll.dll!RtlUserThreadStart�() Unknown

  • If the problem was occurring with a specific repository, can you specify
    the repository?

    • Public repo: insert URL here
    • Windows monorepo
    • Office monorepo
    • Other Microsoft-internal repo: Substrate
    • Other internal repo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions