[BUG] java.lang.OutOfMemoryError
- Dominant language
- Java
- Stars
- 4.4k
- Forks
- 613
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 6
Description
### 问题描述
*简要描述您碰到的问题。*
Exception in thread "ASYNC-1" java.lang.OutOfMemoryError
at com.alibaba.fastjson2.JSONWriterUTF16.ensureCapacity(JSONWriterUTF16.java:1559)
at com.alibaba.fastjson2.JSONWriterUTF16.writeString(JSONWriterUTF16.java:357)
at com.alibaba.fastjson2.writer.ObjectWriterImplMap.write(ObjectWriterImplMap.java:479)
at com.alibaba.fastjson2.writer.ObjectWriterImplList.write(ObjectWriterImplList.java:371)
at com.alibaba.fastjson2.writer.ObjectWriterImplMap.write(ObjectWriterImplMap.java:548)
at com.alibaba.fastjson.JSON.toJSONString(JSON.java:1537)
at com.metaverse.lib.smith.utils.JsonStd.toString(JsonStd.java:38)
at com.metaverse.lib.smith.net.RequestImpl.setBody(RequestImpl.java:188)
at com.metaverse.lib.smith.net.RequestImpl.setReflectField(RequestImpl.java:238)
at com.metaverse.lib.smith.net.Request.impl(Request.java:60)
at com.metaverse.lib.smith.net.Request.lambda$execute$3(Request.java:37)
at com.metaverse.lib.smith.utils.Retry.get(Retry.java:74)
at com.metaverse.lib.smith.net.Request.execute(Request.java:37)
at com.metaverse.lib.smith.net.Request.execute(Request.java:33)
at com.metaverse.utils.GitlablUtils.commitFileToGitlabBaseSimple(GitlablUtils.java:297)
at com.metaverse.utils.GitlablUtils.commitFileToGitlabBaseMultiBranch(GitlablUtils.java:231)
at com.metaverse.utils.GitlablUtils.commitFileToGitlabBase(GitlablUtils.java:338)
at com.metaverse.utils.GitlablUtils.commitFileToGitlabBaseByStruct(GitlablUtils.java:532)
at com.metaverse.utils.GitlablUtils.lambda$retryUploadGitlabByCommitFileParam$2(GitlablUtils.java:670)
at com.metaverse.utils.GitlablUtils.RetryCycleFunctionDelegate(GitlablUtils.java:545)
at com.metaverse.utils.GitlablUtils.retryUploadGitlabByCommitFileParam(GitlablUtils.java:668)
at com.metaverse.tasks.JobNewGitlabCommit.run(JobNewGitlabCommit.java:84)
at com.metaverse.lib.smith.task.job.ctx.JobConsumer.run(JobConsumer.java:53)
at com.metaverse.lib.smith.task.job.ctx.JobConsumer.lambda$work$5(JobConsumer.java:198)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
### 环境信息
*请填写以下信息:*
- OS信息: [e.g.:Windows10 64G Memory]
- JDK信息: [e.g.:Openjdk 17]
- 版本信息:[e.g.:Fastjson2 2.x.x]
### 重现步骤
*如何操作可以重现该问题:*
大量的数据,超过500m
```
Contributor guide
Research direction
Start by examining JSONWriterUTF16.ensureCapacity and writeString, then trace the serialization path through ObjectWriterImplMap, ObjectWriterImplList, JSON.toJSONString, and the reported JsonStd.toString call. Reproduce with data exceeding 500 MB and determine whether the issue can be addressed within the reported serialization path; done means the case no longer exhausts memory or has a documented, verified limitation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100