Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assertion 'JERRY_CONTEXT (jmem_heap_allocated_size) == 0' failed at jerryscript/jerry-core/jmem/jmem-heap.c(jmem_heap_finalize):108. #5062

Open
Ye0nny opened this issue Apr 6, 2023 · 0 comments · May be fixed by #5190
Labels
fuzzing Related to fuzz testing of the engine memory leak

Comments

@Ye0nny
Copy link

Ye0nny commented Apr 6, 2023

JerryScript revision

Commit: 1a2c047
Version: v3.0.0

Build platform

Ubuntu 20.04.5 LTS (Linux 5.4.0-144-generic x86_64)

Build steps
python ./tools/build.py --clean --debug --compile-flag=-m32 --compile-flag=-fno-omit-frame-pointer --compile-flag=-fno-common --compile-flag=-fsanitize=address --compile-flag=-g --strip=off --lto=off --error-messages=on --system-allocator=on --logging=on --line-info=on --stack-limit=20
Test case
// poc.js
( async ( ) => { for await ( const b of n ) { continue ;
Execution steps & Output
$ ./jerryscript/build/bin/jerry poc.js

^

Unhandled exception: SyntaxError: Unexpected end of input [poc.js:2:1]
ICE: Assertion 'JERRY_CONTEXT (jmem_heap_allocated_size) == 0' failed at jerryscript/jerry-core/jmem/jmem-heap.c(jmem_heap_finalize):108.
Error: JERRY_FATAL_FAILED_ASSERTION
Aborted
Backtrace
#0  0xf7fcfd99 in __kernel_vsyscall ()
#1  0xf7ca4276 in raise () from /lib32/libc.so.6
#2  0xf7c8c3f7 in abort () from /lib32/libc.so.6
#3  0x083ecca3 in jerry_port_fatal (code=JERRY_FATAL_FAILED_ASSERTION) at jerryscript/jerry-port/common/jerry-port-process.c:29
#4  0x08260d02 in jerry_fatal (code=JERRY_FATAL_FAILED_ASSERTION) at jerryscript/jerry-core/jrt/jrt-fatals.c:63
#5  0x08260d64 in jerry_assert_fail (assertion=0x84351c0 <str> "JERRY_CONTEXT (jmem_heap_allocated_size) == 0", file=0x8435220 <str> "jerryscript/jerry-core/jmem/jmem-heap.c", function=0x84352a0 <__func__.jmem_heap_finalize> "jmem_heap_finalize", line=108) at jerryscript/jerry-core/jrt/jrt-fatals.c:83
#6  0x0825ef5f in jmem_heap_finalize () at jerryscript/jerry-core/jmem/jmem-heap.c:108
#7  0x0825eab1 in jmem_finalize () at jerryscript/jerry-core/jmem/jmem-allocator.c:171
#8  0x08128c76 in jerry_cleanup () at jerryscript/jerry-core/api/jerryscript.c:240
#9  0x08122416 in main (argc=<optimized out>, argv=<optimized out>) at jerryscript/jerry-main/main-desktop.c:264

Credits:
@Ye0nny, @EJueon of the seclab-yonsei.

@LaszloLango LaszloLango added memory leak fuzzing Related to fuzz testing of the engine labels Nov 22, 2024
gergocs added a commit to gergocs/jerryscript that referenced this issue Dec 9, 2024
gergocs added a commit to gergocs/jerryscript that referenced this issue Dec 9, 2024
gergocs added a commit to gergocs/jerryscript that referenced this issue Dec 9, 2024
gergocs added a commit to gergocs/jerryscript that referenced this issue Dec 9, 2024
gergocs added a commit to gergocs/jerryscript that referenced this issue Dec 11, 2024
gergocs added a commit to gergocs/jerryscript that referenced this issue Dec 11, 2024
gergocs added a commit to gergocs/jerryscript that referenced this issue Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fuzzing Related to fuzz testing of the engine memory leak
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants