jerryscript-project / jerryscript

Ultra-lightweight JavaScript engine for the Internet of Things.
https://jerryscript.net
Apache License 2.0
6.93k stars 671 forks source link

Null pointer deference on release. ICE on debug: Assertion 'object_p != NULL && name_p != NULL' failed at jerry-core/ecma/base/ecma-helpers.c(ecma_create_named_data_property):526 #5097

Open anbu1024 opened 1 year ago

anbu1024 commented 1 year ago

The latest version commit: 05dbbd134c3b9e2482998f267857dd3722001cd7

Build platform: Ubuntu 20.04

Test case:

class Foo extends ([]).constructor {
    #g;
}
new Foo();

If we build jerry with release configurations, a null pointer reference occured.

backstrace

==2237779==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000 (pc 0x566be4f5 bp 0xff87e6d8 sp 0xff87e6d0 T0)
==2237779==The signal is caused by a READ memory access.
==2237779==Hint: address points to the zero page.
    #0 0x566be4f4 in ecma_ref_ecma_string (release_05dbbd/bin/jerry+0xf24f4)
    #1 0x566a84dc in ecma_create_property.lto_priv.0 (release_05dbbd/bin/jerry+0xdc4dc)
    #2 0x566a8717 in ecma_create_named_data_property (release_05dbbd/bin/jerry+0xdc717)
    #3 0x5664a213 in vm_loop (release_05dbbd/bin/jerry+0x7e213)
    #4 0x56658991 in vm_execute (release_05dbbd/bin/jerry+0x8c991)
    #5 0x56659eae in vm_run (release_05dbbd/bin/jerry+0x8deae)
    #6 0x5665a15b in opfunc_init_class_fields (release_05dbbd/bin/jerry+0x8e15b)
    #7 0x5669676b in ecma_op_function_construct (release_05dbbd/bin/jerry+0xca76b)
    #8 0x566599ad in vm_execute (release_05dbbd/bin/jerry+0x8d9ad)
    #9 0x56659eae in vm_run (release_05dbbd/bin/jerry+0x8deae)
    #10 0x566ca815 in jerry_run (release_05dbbd/bin/jerry+0xfe815)
    #11 0x565dd92e in main (release_05dbbd/bin/jerry+0x1192e)
    #12 0xf75e8ed4 in __libc_start_main (/lib/i386-linux-gnu/libc.so.6+0x1aed4)
    #13 0x565de3d4 in _start (release_05dbbd/bin/jerry+0x123d4)

If we build jerry with debug configurations, a assertion error occured.

build options

python tools/build.py --debug

error msg:

ICE: Assertion 'object_p != NULL && name_p != NULL' failed at jerry-core/ecma/base/ecma-helpers.c(ecma_create_named_data_property):526.
Error: JERRY_FATAL_FAILED_ASSERTION
Aborted (core dumped)