Mojolicious controller and WebSocket lifetimes regress with #1642 integration
維護者通常 1 天內回覆
評估
研究方向
Start with the failing upstream tests t/mojolicious/app.t (assertion near line 703, 'controller has been destroyed') and t/mojolicious/websocket_lite_app.t (assertion near line 322, missing server push). The issue says the work depends on the unmerged #1642 cleanup, so first confirm its final commit. Done means both tests pass again with focused PerlOnJava regression coverage added. Expect JVM reachability and GC-level reasoning, and check with maintainers before starting.
由索引模型根據 Issue 內容生成。
描述
Summary
The #1642 cleanup changes appear to introduce two Mojolicious runtime regressions in addition to the DOM behavior being fixed by that work. Please triage after #1642 is merged or its implementation settles; this report records integration evidence and avoids duplicating the weak-reference cleanup fix.
Reproduction and evidence
In a disposable integration checkout merging PerlOnJava3 PR #1777 (47e9bfb78f1ac790143838fafcf92f852147bc2b) with the #1642 work in PerlOnJava5 PR #1746 (46d9200e5553bc645fe38b4ee341433aff8ae958), the upstream Mojolicious tests fail:
t/mojolicious/app.t: assertion at line 703 reportscontroller has been destroyed(system Perl passes all 458 assertions).t/mojolicious/websocket_lite_app.t: assertion at line 322 reportsServer pushmessage not received; expectedpush, got an empty value (system Perl passes all 35 assertions).
Both tests pass on the unmerged PerlOnJava3 #1777 branch using the same Mojolicious source and dependencies. In the integration checkout they fail after the #1642 changes are merged. The focused t/mojo/dom.t test passes in the integration checkout, consistent with the intended DOM cleanup improvement.
The integration build was b124844c9 (test-only merge commit); neither review branch was changed. The full upstream test run used IO::Compress 2.223. The colorized log-format failure in t/mojo/log.t is environment-dependent and is not part of this report.
Expected behavior
A controller used by the active request remains alive through response handling, and a WebSocket server push is delivered to the connected client.
Requested follow-up
After #1642 lands, reproduce these two failures on its final commit, inspect whether the new aggregate cleanup / reachability behavior is reclaiming objects still owned by active requests or WebSocket callbacks, and add focused PerlOnJava regression coverage for each confirmed behavior. The existing upstream tests already provide precise reproductions.
- 主要語言
- Perl
- 星號
- 65
- 分支
- 8
- 平均合併
- 6 小時 33 分鐘
- 30 天內合併 PR
- 178
環境準備
- 提供 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
fglock/PerlOnJava 的其他 Issue
-
area:runtime documentation enhancement
難度 2/5 1-3 小時 新手友好度 72/100
fglock/PerlOnJava#1579 ·
維護者通常 1 天內回覆
-
Preserve scalar slots assigned through localized glob aliases可能已有人在做 關聯的 PR 仍在進行中或已合併。 未關閉area:runtime bug
難度 4/5 3-5 天 新手友好度 35/100
fglock/PerlOnJava#1939 ·
維護者通常 1 天內回覆
-
難度 4/5 3-5 天 新手友好度 35/100
fglock/PerlOnJava#1885 ·
維護者通常 1 天內回覆
-
area:performance enhancement
難度 5/5 一週以上 新手友好度 20/100
fglock/PerlOnJava#1863 · 3 則留言 ·
維護者通常 1 天內回覆
-
area:memory area:performance area:runtime bug
難度 4/5 3-5 天 新手友好度 52/100
fglock/PerlOnJava#1860 · 3 則留言 ·
維護者通常 1 天內回覆
查看 fglock/PerlOnJava 的全部 Issue
相似的 Issue
-
easy first-contributor first-contributors good first issue help wanted perl shell up-for-grabs
難度 1/5 1 小時以內 新手友好度 88/100
fork-commit-merge/fork-commit-merge#8461 ·
維護者通常 1 天內回覆
-
bug
難度 2/5 1-3 小時 新手友好度 62/100
維護者通常 1 天內回覆
-
1.severity: security
難度 2/5 1-3 小時 新手友好度 64/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 75/100
gugod/App-perlbrew#880 · 2 則留言 ·
-
難度 1/5 1 小時以內 新手友好度 90/100
beyondgrep/ack3#413 · 1 則留言 ·