Skip to content

Assertion context_p->token.type == LEXER_LITERAL && (context_p->token.lit_location.type == LEXER_IDENT_LITERAL || context_p->token.lit_location.type == LEXER_STRING_LITERAL) in lexer_compare_literal_to_string #4997

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
"use strict";
function testDCE(){ if  (class { 0 = super 0 =  } ;}
Output
ICE: Assertion 'context_p->token.type == LEXER_LITERAL && (context_p->token.lit_location.type == LEXER_IDENT_LITERAL || context_p->token.lit_location.type == LEXER_STRING_LITERAL)' failed at jerryscript/jerry-core/parser/js/js-lexer.c(lexer_compare_literal_to_string):3544.
Error: JERRY_FATAL_FAILED_ASSERTION
AddressSanitizer:DEADLYSIGNAL
=================================================================
==3265841==ERROR: AddressSanitizer: ABRT on unknown address 0x03e90031d531 (pc 0x7f27e8efd03b bp 0x7ffdbdd53e30 sp 0x7ffdbdd53bc0 T0)
    #0 0x7f27e8efd03b in raise /build/glibc-sMfBJT/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
    #1 0x7f27e8edc858 in abort /build/glibc-sMfBJT/glibc-2.31/stdlib/abort.c:79:7
    #2 0x89ef3f in jerry_port_fatal jerryscript/jerry-port/common/jerry-port-process.c:29:5
    #3 0x66b742 in jerry_fatal jerryscript/jerry-core/jrt/jrt-fatals.c:63:3
    #4 0x66b4da in jerry_assert_fail jerryscript/jerry-core/jrt/jrt-fatals.c:83:3
    #5 0x826bee in lexer_compare_literal_to_string jerryscript/jerry-core/parser/js/js-lexer.c:3542:3
    #6 0x6e636f in scanner_primary_to_post_primary_expression jerryscript/jerry-core/parser/js/js-scanner.c:75:51
    #7 0x6d18d3 in scanner_scan_primary_expression jerryscript/jerry-core/parser/js/js-scanner.c:254:14
    #8 0x6c4428 in scanner_scan_all jerryscript/jerry-core/parser/js/js-scanner.c:2461:15
    #9 0x698fe5 in parser_parse_source jerryscript/jerry-core/parser/js/js-parser.c:2167:3
    #10 0x69629a in parser_parse_script jerryscript/jerry-core/parser/js/js-parser.c:3326:38
    #11 0x4ced00 in jerry_parse_common jerryscript/jerry-core/api/jerryscript.c:412:21
    #12 0x4ce473 in jerry_parse jerryscript/jerry-core/api/jerryscript.c:480:10
    #13 0x89cc1f in jerryx_source_parse_script jerryscript/jerry-ext/util/sources.c:52:26
    #14 0x89cd6e in jerryx_source_exec_script jerryscript/jerry-ext/util/sources.c:63:26
    #15 0x4c4d84 in main jerryscript/jerry-main/main-desktop.c:156:20
    #16 0x7f27e8ede0b2 in __libc_start_main /build/glibc-sMfBJT/glibc-2.31/csu/../csu/libc-start.c:308:16
    #17 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
==3265841==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  �[34m0x000000000089ef40�[m in �[33mjerry_port_fatal�[m (�[36mcode�[m=JERRY_FATAL_FAILED_ASSERTION) at �[32mjerryscript/jerry-port/common/jerry-port-process.c�[m:29
#3  �[34m0x000000000066b743�[m in �[33mjerry_fatal�[m (�[36mcode�[m=JERRY_FATAL_FAILED_ASSERTION) at �[32mjerryscript/jerry-core/jrt/jrt-fatals.c�[m:63
#4  �[34m0x000000000066b4db�[m in �[33mjerry_assert_fail�[m (�[36massertion�[m=0x926900 <str> "context_p->token.type == LEXER_LITERAL && (context_p->token.lit_location.type == LEXER_IDENT_LITERAL || context_p->token.lit_location.type == LEXER_STRING_LITERAL)", �[36mfile�[m=0x9256a0 <str> "jerryscript/jerry-core/parser/js/js-lexer.c", �[36mfunction�[m=0x9269e0 <__func__.lexer_compare_literal_to_string> "lexer_compare_literal_to_string", �[36mline�[m=3544) at �[32mjerryscript/jerry-core/jrt/jrt-fatals.c�[m:83
#5  �[34m0x0000000000826bef�[m in �[33mlexer_compare_literal_to_string�[m (�[36mcontext_p�[m=0x7fffffffcd20, �[36mstring_p�[m=0x8fd480 <str> "static", �[36mstring_length�[m=6) at �[32mjerryscript/jerry-core/parser/js/js-lexer.c�[m:3542
#6  �[34m0x00000000006e6370�[m in �[33mscanner_primary_to_post_primary_expression�[m (�[36mcontext_p�[m=0x7fffffffcd20, �[36mscanner_context_p�[m=0x7fffffffbf80) at �[32mjerryscript/jerry-core/parser/js/js-scanner.c�[m:75
#7  �[34m0x00000000006d18d4�[m in �[33mscanner_scan_primary_expression�[m (�[36mcontext_p�[m=0x7fffffffcd20, �[36mscanner_context_p�[m=0x7fffffffbf80, �[36mtype�[m=LEXER_KEYW_SUPER, �[36mstack_top�[m=SCAN_STACK_CLASS_FIELD_INITIALIZER) at �[32mjerryscript/jerry-core/parser/js/js-scanner.c�[m:254
#8  �[34m0x00000000006c4429�[m in �[33mscanner_scan_all�[m (�[36mcontext_p�[m=0x7fffffffcd20) at �[32mjerryscript/jerry-core/parser/js/js-scanner.c�[m:2461
#9  �[34m0x0000000000698fe6�[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:2167
#10 �[34m0x000000000069629b�[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
#11 �[34m0x00000000004ced01�[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
#12 �[34m0x00000000004ce474�[m in �[33mjerry_parse�[m (�[36msource_p�[m=0x626000000100 "\"use strict\"    ;     let   logOfFour   = Math   . log    ( 4     )     ;     let   validInputTestCases   = [ [ \"undefined\"    , \"NaN\"     ]    , [ \"null\"    , \"-Infinity\"     ]    , [ \"0\"    , \"-Infi"..., �[36msource_size�[m=10247, �[36moptions_p�[m=0x7fffffffd4d0) at �[32mjerryscript/jerry-core/api/jerryscript.c�[m:480
#13 �[34m0x000000000089cc20�[m in �[33mjerryx_source_parse_script�[m (�[36mpath_p�[m=0x7fffffffde36 "/run/user/1001/fuzzinator/3261026/3265826-FileWriterDecorator-45b0efaa73a346e780b061aaaa5aea5d/0.js") at �[32mjerryscript/jerry-ext/util/sources.c�[m:52
#14 �[34m0x000000000089cd6f�[m in �[33mjerryx_source_exec_script�[m (�[36mpath_p�[m=0x7fffffffde36 "/run/user/1001/fuzzinator/3261026/3265826-FileWriterDecorator-45b0efaa73a346e780b061aaaa5aea5d/0.js") at �[32mjerryscript/jerry-ext/util/sources.c�[m:63
#15 �[34m0x00000000004c4d85�[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 enginelexerRelated to the tokenizer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions