]> git.kaiwu.me - njs.git/commit
Modules: fixed qjs engine after bellard/quickjs@458c34d2.
authorDmitry Volyntsev <xeioex@nginx.com>
Wed, 2 Jul 2025 06:01:57 +0000 (23:01 -0700)
committerDmitry Volyntsev <xeioexception@gmail.com>
Wed, 2 Jul 2025 20:01:50 +0000 (13:01 -0700)
commitc367f7e2fd2bf0147e950131f4b7887d178110f6
treee81fba947ee30ac86795181a2be8625446d67e56
parent34b80511acfd44a5cbbbce835d7540081e5d7527
Modules: fixed qjs engine after bellard/quickjs@458c34d2.

Object leaks:
       ADDRESS REFS SHRF          PROTO CONTENT
0x512000007fc0    1 [module]
nginx: quickjs.c:1967: JS_FreeRuntime: Assertion `list_empty(&rt->gc_obj_list)' failed.

After bellard/quickjs@458c34d2 modules are treated as GC objects and
tracked in rt->gc_obj_list. Intermediary module object loaded in
ngx_qjs_clone() using JS_ReadObject() needed to be freed for proper
ref_count accounting.
nginx/ngx_js.c