PR# 20026 Windows 25.02: GC access violation while marking thread-relative once root used by dynamic cURL/API

Problem Report Summary
Submitter: andersoxie
Category: Compiler
Priority: High
Date: 2026/07/26
Class: Bug
Severity: Critical
Number: 20026
Release: 25.02
Confidential: No
Status: Open
Responsible:
Environment: win
Synopsis: Windows 25.02: GC access violation while marking thread-relative once root used by dynamic cURL/API

Description
EiffelStudio 25.02.9.8723 Enterprise, win64
Windows 11
Thread concurrency enabled
Void-safe system
Reproduced in W_code and finalized F_code
Bundled dynamic Eiffel cURL library
Exit code: 3221225477 / 0xC0000005

A GC cycle triggered during string allocation crashes in internal_marking.
The GC is scanning a thread once-set reference. In this build, once index
231 maps to SHARED_DYNAMIC_API_LOADER.api_loader. The stored address does
not point to a valid Eiffel object; it points into memory containing a
previously allocated response payload. Static cURL eliminates the crash
without changing application behavior.

It is unclear whether the thread-relative once reference is not updated
correctly by the GC, or whether the bundled dynamic cURL/API-wrapper
integration corrupts the root. Please investigate both the runtime once
root handling and the dynamic API-wrapper implementation.
To Reproduce

										
Problem Report Interactions