Error: stack overflow when RequireExplicitMapping = true
还没有人认领这个 Issue。
评估
调研方向
首先使用 Mapster 7.2.0、7.3.0 或 7.4-pre 运行最小 C# 复现,并检查与 RequireExplicitMapping 及递归 Source[]/Destination[] 成员一起使用的 Compile() 路径。跟踪映射配置在没有 MaxDepth 的情况下如何处理递归类型;当 Compile() 不再引发 StackOverflowException,同时两个必需的映射设置仍保持启用时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Hi! This code generates StackOverlowException while calling method Compile() on versions 7.2.0 , 7.3.0 and 7.4-pre:
using Mapster;
var config = new TypeAdapterConfig
{
RequireExplicitMapping = true, // comment this to remove StackOverlowException
RequireDestinationMemberSource = true
};
config.NewConfig<Source, Destination>()/*.MaxDepth(10)*/;
config.Compile(); // StackOverlowException here
public class Source
{
public string? Identifier { get; set; }
public Source[]? Inner { get; set; }
}
public class Destination
{
public string? Identifier { get; set; }
public Destination[]? Inner { get; set; }
}
I found two workarounds to avoid this problem:
- remove "RequireExplicitMapping = true" at TypeAdapterConfig initialization
- set MaxDepth for mapping confuguration (see commented example above)
But both solutions are not suitable for me. Is this behavior a bug and how else can it be avoided?
- 主要语言
- C#
- 星标
- 5.2k
- 派生
- 411
- 平均合并
- 1 天 8 小时
- 30 天内合并 PR
- 4
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
MapsterMapper/Mapster 的其他 Issue
-
.NET Matrix未关闭
难度 2/5 1-3 小时 新手友好度 72/100
MapsterMapper/Mapster#1003 ·
-
难度 3/5 1-2 天 新手友好度 58/100
MapsterMapper/Mapster#1024 · 1 条评论 ·
-
[Mapster Tool] Add support for global:: to disambiguate type names in generated mappers可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭improvement
难度 3/5 1-2 天 新手友好度 65/100
MapsterMapper/Mapster#1020 · 5 条评论 ·
-
Mapster.Tool - PropertySettingBuilder.Map(member, mapFunc, targetPropertyName) method is not working as expected!可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 3/5 1-2 天 新手友好度 68/100
MapsterMapper/Mapster#1017 · 6 条评论 ·
-
难度 3/5 1-2 天 新手友好度 57/100
MapsterMapper/Mapster#1007 · 5 条评论 ·
查看 MapsterMapper/Mapster 的全部 Issue
相似的 Issue
-
bug mcp misleading small
难度 2/5 1-3 小时 新手友好度 77/100
维护者通常 1 天内回复
-
accessibility help wanted macos
难度 2/5 1-3 小时 新手友好度 70/100
dorlugasigal/annotator#42 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
AvaloniaUI/Avalonia#22568 ·
维护者通常 2 天内回复
-
[bug] 截图失败日志冲爆硬盘未关闭
难度 2/5 1-3 小时 新手友好度 63/100
babalae/better-genshin-impact#3846 · 2 条评论 ·
维护者通常 2 天内回复
-
要トリアージ 辞書
难度 1/5 1 小时以内 新手友好度 68/100
维护者通常 1 天内回复