[BUG] 出现MDO extra data lock 异常
- Dominant language
- Java
- Stars
- 4.4k
- Forks
- 613
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 6
Description
### 问题描述
在生产环境切换fastjson2之后我发现项目的堆外内存出现平滑曲线上升
### 环境信息
*请填写以下信息:*
- OS信息: [e.g.:CentOS 4Core 3.10GHz 8 GB]
- JDK信息: [e.g.:
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)]
- 版本信息:[e.g.:Fastjson2 2.0.49]
### 重现步骤
因项目中存在部分日志打印使用JSON.toJsonString
### 相关日志输出
通过 pmap 查看虚拟内存信息 对比两个小时前后的内存变化发现,多出部分没有被回收的内存

使用gdb 工具对相关内存地址进行检查发现大部分都是这部分异常

看起来是每次都会加载Fastjson创建的代理类 在fastjson1版本好像也存在这个问题
Contributor guide
Research direction
Start with the JSON.toJsonString call described in the reproduction steps and compare fastjson2 with fastjson1 under the reported production workload. Use pmap and gdb to inspect whether proxy-class-related memory grows over time; a useful result would reproduce the growth and identify whether fastjson2 retains those allocations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100