Skip to content

Assertion context_p->next_scanner_info_p->type == SCANNER_TYPE_BLOCK in parser_push_block_context #5004

Open
@renatahodovan

Description

@renatahodovan
JerryScript revision

0d49696

Build platform

Linux-5.4.0-104-generic-x86_64-with-glibc2.29

Build steps
./tools/build.py --clean --debug --profile=es.next  --error-messages=ON --logging=ON
Test case
for ( let => { }in \) ;
Output
ICE: Assertion 'context_p->next_scanner_info_p->type == SCANNER_TYPE_BLOCK' failed at jerryscript/jerry-core/parser/js/js-parser-statm.c(parser_push_block_context):325.
Error: JERRY_FATAL_FAILED_ASSERTION
AddressSanitizer:DEADLYSIGNAL
=================================================================
==697733==ERROR: AddressSanitizer: ABRT on unknown address 0x03e9000aa585 (pc 0x7f63ad14f03b bp 0x7fff7dce2930 sp 0x7fff7dce26c0 T0)
    #0 0x7f63ad14f03b in raise /build/glibc-sMfBJT/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
    #1 0x7f63ad12e858 in abort /build/glibc-sMfBJT/glibc-2.31/stdlib/abort.c:79:7
    #2 0x806f07 in jerry_port_fatal jerryscript/jerry-port/common/jerry-port-process.c:29:5
    #3 0x6281ca in jerry_fatal jerryscript/jerry-core/jrt/jrt-fatals.c:63:3
    #4 0x627f7a in jerry_assert_fail jerryscript/jerry-core/jrt/jrt-fatals.c:83:3
    #5 0x7dbe7b in parser_push_block_context jerryscript/jerry-core/parser/js/js-parser-statm.c:325:3
    #6 0x7e5596 in parser_parse_for_statement_start jerryscript/jerry-core/parser/js/js-parser-statm.c:1188:21
    #7 0x7d83fa in parser_parse_statements jerryscript/jerry-core/parser/js/js-parser-statm.c:2851:9
    #8 0x650243 in parser_parse_source jerryscript/jerry-core/parser/js/js-parser.c:2280:5
    #9 0x64bcca in parser_parse_script jerryscript/jerry-core/parser/js/js-parser.c:3326:38
    #10 0x4cd866 in jerry_parse_common jerryscript/jerry-core/api/jerryscript.c:412:21
    #11 0x4cd103 in jerry_parse jerryscript/jerry-core/api/jerryscript.c:480:10
    #12 0x805137 in jerryx_source_parse_script jerryscript/jerry-ext/util/sources.c:52:26
    #13 0x80526e in jerryx_source_exec_script jerryscript/jerry-ext/util/sources.c:63:26
    #14 0x4c4cb6 in main jerryscript/jerry-main/main-desktop.c:156:20
    #15 0x7f63ad1300b2 in __libc_start_main /build/glibc-sMfBJT/glibc-2.31/csu/../csu/libc-start.c:308:16
    #16 0x41c53d in _start (jerryscript/build/bin/jerry+0x41c53d)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: ABRT /build/glibc-sMfBJT/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1 in raise
==697733==ABORTING
Backtrace
bt
#0  �[33m__GI_raise�[m (�[36msig=sig@entry�[m=6) at �[32m../sysdeps/unix/sysv/linux/raise.c�[m:50
#1  �[34m0x00007ffff7c33859�[m in �[33m__GI_abort�[m () at �[32mabort.c�[m:79
#2  �[34m0x0000000000806f08�[m in �[33mjerry_port_fatal�[m (�[36mcode�[m=JERRY_FATAL_FAILED_ASSERTION) at �[32mjerryscript/jerry-port/common/jerry-port-process.c�[m:29
#3  �[34m0x00000000006281cb�[m in �[33mjerry_fatal�[m (�[36mcode�[m=JERRY_FATAL_FAILED_ASSERTION) at �[32mjerryscript/jerry-core/jrt/jrt-fatals.c�[m:63
#4  �[34m0x0000000000627f7b�[m in �[33mjerry_assert_fail�[m (�[36massertion�[m=0x896060 <str> "context_p->next_scanner_info_p->type == SCANNER_TYPE_BLOCK", �[36mfile�[m=0x895d60 <str> "jerryscript/jerry-core/parser/js/js-parser-statm.c", �[36mfunction�[m=0x896280 <__func__.parser_push_block_context> "parser_push_block_context", �[36mline�[m=325) at �[32mjerryscript/jerry-core/jrt/jrt-fatals.c�[m:83
#5  �[34m0x00000000007dbe7c�[m in �[33mparser_push_block_context�[m (�[36mcontext_p�[m=0x7fffffffcd20, �[36mis_private�[m=true) at �[32mjerryscript/jerry-core/parser/js/js-parser-statm.c�[m:325
#6  �[34m0x00000000007e5597�[m in �[33mparser_parse_for_statement_start�[m (�[36mcontext_p�[m=0x7fffffffcd20) at �[32mjerryscript/jerry-core/parser/js/js-parser-statm.c�[m:1188
#7  �[34m0x00000000007d83fb�[m in �[33mparser_parse_statements�[m (�[36mcontext_p�[m=0x7fffffffcd20) at �[32mjerryscript/jerry-core/parser/js/js-parser-statm.c�[m:2851
#8  �[34m0x0000000000650244�[m in �[33mparser_parse_source�[m (�[36msource_p�[m=0x7fffffffd3a0, �[36mparse_opts�[m=0, �[36moptions_p�[m=0x7fffffffd4d0) at �[32mjerryscript/jerry-core/parser/js/js-parser.c�[m:2280
#9  �[34m0x000000000064bccb�[m in �[33mparser_parse_script�[m (�[36msource_p�[m=0x7fffffffd3a0, �[36mparse_opts�[m=0, �[36moptions_p�[m=0x7fffffffd4d0) at �[32mjerryscript/jerry-core/parser/js/js-parser.c�[m:3326
#10 �[34m0x00000000004cd867�[m in �[33mjerry_parse_common�[m (�[36msource_p�[m=0x7fffffffd3a0, �[36moptions_p�[m=0x7fffffffd4d0, �[36mparse_opts�[m=0) at �[32mjerryscript/jerry-core/api/jerryscript.c�[m:412
#11 �[34m0x00000000004cd104�[m in �[33mjerry_parse�[m (�[36msource_p�[m=0x617000000080 "for ( let   => { }       in delete class _  { }    < delete this         + ( [ , , ,  ]     )   ? . # false       & { }    ( )    --   >= void { }        & import ( super   | { }      && super   && th"..., �[36msource_size�[m=679, �[36moptions_p�[m=0x7fffffffd4d0) at �[32mjerryscript/jerry-core/api/jerryscript.c�[m:480
#12 �[34m0x0000000000805138�[m in �[33mjerryx_source_parse_script�[m (�[36mpath_p�[m=0x7fffffffde38 "/run/user/1001/fuzzinator/697673/697731-FileWriterDecorator-06c47c6053774cc39b6720fbfbc28b09/0.js") at �[32mjerryscript/jerry-ext/util/sources.c�[m:52
#13 �[34m0x000000000080526f�[m in �[33mjerryx_source_exec_script�[m (�[36mpath_p�[m=0x7fffffffde38 "/run/user/1001/fuzzinator/697673/697731-FileWriterDecorator-06c47c6053774cc39b6720fbfbc28b09/0.js") at �[32mjerryscript/jerry-ext/util/sources.c�[m:63
#14 �[34m0x00000000004c4cb7�[m in �[33mmain�[m (�[36margc�[m=2, �[36margv�[m=0x7fffffffdb08) at �[32mjerryscript/jerry-main/main-desktop.c�[m:156

Found by Fuzzinator with grammarinator.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugUndesired behaviourfuzzingRelated to fuzz testing of the engineparserRelated to the JavaScript parser

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions