Skip to content

Assertion Error on JS_FreeRuntime #277

@Qbtly

Description

@Qbtly
Version

3b45d15

Build platform

Ubuntu 22.04.3

Build steps
CONFIG_ASAN=y make qjs
Test case
function a() {
    return {};
}
var o = new Proxy(this, new Proxy(new Proxy(this, new Proxy(this, {get: 0})), {get: a}));

print(o);
Execution steps
./qjs poc.js
Output
TypeError: not a function
    at print (native)
    at <eval> (/js/poc.js:6)

qjs: quickjs.c:1997: void JS_FreeRuntime(JSRuntime *): Assertion `list_empty(&rt->gc_obj_list)' failed.
AddressSanitizer:DEADLYSIGNAL
=================================================================
==2332589==ERROR: AddressSanitizer: ABRT on unknown address 0x03e8002397ad (pc 0x7fd25e9fb9fc bp 0x0000002397ad sp 0x7fff9c40ed50 T0)
    #0 0x7fd25e9fb9fc in __pthread_kill_implementation nptl/pthread_kill.c:44:76
    #1 0x7fd25e9fb9fc in __pthread_kill_internal nptl/pthread_kill.c:78:10
    #2 0x7fd25e9fb9fc in pthread_kill nptl/pthread_kill.c:89:10
    #3 0x7fd25e9a7475 in gsignal signal/../sysdeps/posix/raise.c:26:13
    #4 0x7fd25e98d7f2 in abort stdlib/abort.c:79:7
    #5 0x7fd25e98d71a in __assert_fail_base assert/assert.c:92:3
    #6 0x7fd25e99ee95 in __assert_fail assert/assert.c:101:3
    #7 0x5613a97c3c22 in JS_FreeRuntime /quickjs/quickjs.c:1997:5
    #8 0x5613a97bc592 in main /quickjs/qjs.c:562:5
    #9 0x7fd25e98ed8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #10 0x7fd25e98ee3f in __libc_start_main csu/../csu/libc-start.c:392:3
    #11 0x5613a96fb6f4 in _start (/quickjs/qjs+0x4c6f4) (BuildId: 4466830005a83e88bca3c9bb84fc0eb15d5a5115)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: ABRT nptl/pthread_kill.c:44:76 in __pthread_kill_implementation
==2332589==ABORTING

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions