.NET Wasi.Sdk执行垃圾回收抛异常,是否为本地配置问题?
.NET WASI SDK 触发GC时抛出断言异常
使用.NET WASI SDK时,无论垃圾回收是后台自动运行还是显式调用GC.Collect(),都会触发断言异常。已在官方代码仓库提交问题但未获回应,且存在类似问题已超过一年。
本地仅安装了最新版wasmtime,创建.NET 8控制台应用并添加最新版dotnet-wasi-sdk NuGet包,运行极简代码就会报错。奇怪的是,更复杂的业务代码可以正常运行,但只要执行垃圾回收就会崩溃,怀疑是本地配置或设置问题,求可行的解决方案。
错误信息
[wasm_trace_logger] * Assertion at /home/runner/work/dotnet-wasi-sdk/dotnet-wasi-sdk/modules/runtime/src/mono/mono/metadata/sgen-stw.c:77, condition `info->client_info.stack_start >= info->client_info.info.stack_start_limit && info->client_info.stack_start < info->client_info.info.stack_end' not met
触发代码
namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { GC.Collect(); } } }
环境信息
- .NET版本:8、7
- Wasi.Sdk版本:0.1.4-preview.10020、0.1.1
- wasmtime-cli版本:19.0.2 (040ec9209 2024-04-11)
复现说明
问题代码已上传至公开仓库,可直接复现该异常。
内容的提问来源于stack exchange,提问作者Herman Schoenfeld
相关产品推荐
相关产品推荐

