Java objects created from Frida are never garbage collected, leading to a guaranteed memory leak and eventual crash
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- java, javascript
- 领域
- devtools
调研方向
首先,在 Frida REPL 中使用 Java.array、$dispose() 和 Runtime.gc() 复现分配循环。然后跟踪这些入口背后的 Java 对象生命周期,以确定为什么已 dispose 的数组仍然保持可达。完成的标准是,复现的数组可以被回收,并且重复分配不再导致报告中的内存增长或最终 OOM。
由索引模型根据 Issue 内容生成。
描述
In the example below, I allocate 1000 int[] objects, immediately calling $dispose() on each one. I then force garbage collection. These objects are never deallocated, as seen in the screenshot.
I have also tried setting the variable to undefined, calling delete foo, etc. In practice, such allocations will eventually cause an OOM exception, crashing the app I am attached to. No amount of memory pressure or GC invocations ever deallocates any of these objects.
$ frida -U -n TestApp
____
/ _ | Frida 15.1.13 - A world-class dynamic instrumentation toolkit
| (_| |
> _ | Commands:
/_/ |_| help -> Displays the help system
. . . . object? -> Display information about 'object'
. . . . exit/quit -> Exit
. . . .
. . . . More info at https://frida.re/docs/home/
[Android Emulator 5554::TestApp]-> var foo;
[Android Emulator 5554::TestApp]-> for (let i = 0; i < 1000; i++) { foo = Java.array('int', [4,5,6]); foo.$dispose();}
[Android Emulator 5554::TestApp]-> var rt = Java.use('java.lang.Runtime');
[Android Emulator 5554::TestApp]-> rt.getRuntime().gc()
[Android Emulator 5554::TestApp]->

- 主要语言
- JavaScript
- 星标
- 413
- 派生
- 173
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
frida/frida-java-bridge 的其他 Issue
-
Types is missing `deoptimizeMethod`可能已有人在做 @Electric1447 于 172 天前认领。 未关闭
难度 1/5 1 小时以内 新手友好度 65/100
frida/frida-java-bridge#386 ·
-
[v7.0.11+] Process crash on accessing object["<init>"] with JVMTI available可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 62/100
frida/frida-java-bridge#384 · 2 条评论 · 2 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 42/100
frida/frida-java-bridge#409 ·
-
ensureClassInitialized() no longer initializes on ART since 7983e815 — hooks on uninitialized classes install successfully but never dispatch可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 4/5 3-5 天 新手友好度 52/100
frida/frida-java-bridge#408 ·
-
难度 5/5 一周以上 新手友好度 20/100
frida/frida-java-bridge#404 ·
查看 frida/frida-java-bridge 的全部 Issue
相似的 Issue
-
[Bug]: [MCP/CLI] Bare loopback IP addresses (127.0.0.1:port) and hosts with ports fail to navigate due to erroneous scheme inference可能已有人在做 @alok-108 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
microsoft/playwright#43263 ·
维护者通常 1 天内回复
-
bug traffic
难度 2/5 1 小时以内 新手友好度 74/100
-
难度 2/5 1-3 小时 新手友好度 65/100
processing/p5.sound.js#123 ·
-
难度 1/5 1-3 小时 新手友好度 82/100
PhilflowIO/dav-mcp#146 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
career-ops-hq/career-ops#4910 · 2 条评论 ·
维护者通常 2 天内回复