Windows 11 26H1: minimal `#lang racket/gui` program crashes with first-chance AV in `CoreMessaging.dll`
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Área
- desktop, operating-systems
Línea de trabajo
Comienza ejecutando el programa mínimo #lang racket/gui de ./repro.rkt en Windows 11 26H1 build 28000.1643 y, después, revisa las evidencias de ProcDump y WinDbg del issue. Compara la ruta de inicio de la GUI y de despacho de mensajes con el fallo reportado de CoreMessaging.dll; se considera terminado cuando se haya identificado el límite que lo desencadena y se haya documentado o validado una solución reproducible o una limitación específica de la plataforma.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Racket version: 9.1 [cs] x64
OS: Windows 11 x64, version 26H1, build 28000.1643
Minimal repro
#lang racket/gui
(define f (new frame% [label "test"] [width 300] [height 200]))
(send f show #t)
Observed behavior
GRacket.exe and Racket.exe exit immediately when running this program on the above Windows build.
Event Viewer reports a crash in CoreMessaging.dll. I have seen both 0xc0000005 and 0xc000041d at the process level, but the earliest observed fault during debugging is a first-chance access violation.
I captured both a first-chance dump with ProcDump and a live WinDbg session with full page heap enabled for GRacket.exe.
- ProcDump command used:
procdump -ma -e 1 -x ./dumps GRacket.exe ./repro.rkt - Live debugging setup:
- full page heap enabled for GRacket.exe
- WinDbg attached from process start
- sxe av
- crash reproduced immediately
What seems established from the dump/debug session:
The earliest observed fault is a first-chance access violation in CoreMessaging.dll, not a later secondary crash after obvious earlier corruption.
The faulting instruction is:
CoreMessaging!Microsoft::CoreUI::Messaging::MessageSession::Callback_DeliverMessage+0x263
movups xmm0, xmmword ptr [rax]
At the fault:
rax = 0
r8 points to readable memory
rcx = [r8+0x90] is readable
Relevant stack top:
CoreMessaging!Microsoft::CoreUI::Messaging::MessageSession::Callback_DeliverMessage
CoreMessaging!Microsoft::CoreUI::Messaging::MessageSession::Callback_DeliverMessageBatch
CoreMessaging!Microsoft::CoreUI::Messaging::CrossProcessReceivePort$AlpcReceiveSource::Callback_ProcessBuffer
CoreMessaging!Microsoft::CoreUI::Messaging::AlpcServerThunk::Callback_ProcessAsynchronousBuffer
CoreMessaging!AlpcConnection::HandleSubsequentBufferInBatch
CoreMessaging!AlpcConnection::Callback_HandleRequest
CoreMessaging!AlpcConnection::Callback_HandleReceivedBuffer
CoreMessaging!AlpcConnection::Callback_ProcessIncoming
CoreMessaging!Microsoft::CoreUI::Messaging::CrossProcessReceivePort$AlpcReceiveSource::OnReceive
CoreMessaging!Microsoft::CoreUI::Dispatch::OffThreadReceiver::Callback_OnDispatch
CoreMessaging!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchLoop
CoreMessaging!Microsoft::CoreUI::Dispatch::EventLoop::Callback_RunCoreLoop
CoreMessaging!Microsoft::CoreUI::Dispatch::UserAdapter::DrainCoreMessagingQueue
CoreMessaging!Microsoft::CoreUI::Dispatch::UserAdapter::OnUserDispatch
CoreMessaging!Microsoft::CoreUI::Dispatch::UserAdapter::DoWork
CoreMessaging!Microsoft::CoreUI::Dispatch::UserAdapter::WindowProc
user32!UserCallWinProcCheckWow
user32!DispatchClientMessage
user32!_fnDWORD
ntdll!KiUserCallbackDispatcherContinue
win32u!NtUserPeekMessage
user32!PeekMessageW
Disassembly around the fault:
movq r8,xmm6
mov rcx,qword ptr [r8+90h]
psrldq xmm6,8
movq rax,xmm6
movups xmm0,xmmword ptr [rax]
This seems to show that CoreMessaging expects a non-null pointer-sized value extracted from xmm6, but the extracted value is null and is dereferenced immediately.
I also reproduced the same first-chance fault with full page heap enabled. In this configuration, the failure still occurs at the same CoreMessaging instruction, and I did not see the fault move earlier to a more conventional user-mode heap-corruption site.
Because of that, ordinary user-mode heap corruption seems less likely, but I cannot tell from the dump alone whether the root cause is a Windows 26H1 CoreMessaging/TextInput regression, or something in the GUI startup path that triggers an unexpected state which this Windows build does not handle safely.
Modules loaded around the relevant path include:
IMM32.dll
MSCTF.dll
textinputframework.dll
CoreMessaging.dll
CoreUIComponents.dll
Representative first-chance exception record:
ExceptionAddress: CoreMessaging!Microsoft::CoreUI::Messaging::MessageSession::Callback_DeliverMessage+0x263
ExceptionCode: c0000005
Attempt to read from address 0000000000000000
Representative register state at the fault:
rax=0000000000000000
r8=0000000000771bb0
rip=CoreMessaging!Microsoft::CoreUI::Messaging::MessageSession::Callback_DeliverMessage+0x263
Representative faulting instruction:
movups xmm0, xmmword ptr [rax]
This looks like a stable first-chance null dereference in CoreMessaging.dll during GUI startup / message dispatch on Windows 11 26H1 build 28000.1643.
I am not yet claiming that this definitively proves a Windows-only bug. What I think the current evidence supports is narrower: a minimal racket/gui program reliably reaches a CoreMessaging code path that dereferences a null pointer-sized value on this Windows build.
- Lenguaje dominante
- Racket
- Estrellas
- 5.2k
- Forks
- 705
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 15
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de racket/racket
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 2 días
-
Scribble bug with solutionAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
racket/racket#5508 · 5 comentarios ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 2 días
Todos los issues de racket/racket
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
projectbluefin/testsuite#1019 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
solongate/agent-security#147 ·
Los mantenedores suelen responder en 1 día
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
priority: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 61/100
storytold/photocraft#9704 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
用户目录有单引号时,热加载时YAML解析崩溃Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
dsh-market/dsh-market#1027 · 1 comentario ·
Los mantenedores suelen responder en 1 día