function shouldBe(actual) { if (actual) throw new Error ( 0+ actual ) }
async function* asyncGenerator() { }
asyncGenerator.prototype = 0;
shouldBe(Object.getPrototypeOf(asyncGenerator()))
Output
ICE: Assertion 'ecma_object_check_class_name_is_object (obj_p)' failed at jerryscript/jerry-core/ecma/operations/ecma-objects.c(ecma_object_get_class_name):2913.
Error: JERRY_FATAL_FAILED_ASSERTION
AddressSanitizer:DEADLYSIGNAL
=================================================================
==698972==ERROR: AddressSanitizer: ABRT on unknown address 0x03e9000aaa5c (pc 0x7f5d8c49b03b bp 0x7ffcc9f2a6a0 sp 0x7ffcc9f2a430 T0)
#0 0x7f5d8c49b03b in raise /build/glibc-sMfBJT/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#1 0x7f5d8c47a858 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 0x5e3660 in ecma_object_get_class_name jerryscript/jerry-core/ecma/operations/ecma-objects.c:2913:7
#6 0x72c214 in ecma_builtin_helper_object_to_string jerryscript/jerry-core/ecma/builtin-objects/ecma-builtin-helpers.c:143:19
#7 0x73ddda in ecma_builtin_object_prototype_object_to_string jerryscript/jerry-core/ecma/builtin-objects/ecma-builtin-object-prototype.c:89:10
#8 0x73d2d7 in ecma_builtin_object_prototype_dispatch_routine jerryscript/jerry-core/ecma/builtin-objects/ecma-builtin-object-prototype.c:395:14
#9 0x56f39d in ecma_builtin_dispatch_routine jerryscript/jerry-core/ecma/builtin-objects/ecma-builtins.c:1460:10
#10 0x56ead1 in ecma_builtin_dispatch_call jerryscript/jerry-core/ecma/builtin-objects/ecma-builtins.c:1489:12
#11 0x5b9af2 in ecma_op_function_call_native_built_in jerryscript/jerry-core/ecma/operations/ecma-function-object.c:1217:5
#12 0x5b8640 in ecma_op_function_call jerryscript/jerry-core/ecma/operations/ecma-function-object.c:1411:16
#13 0x5cbf3b in ecma_op_general_object_ordinary_value jerryscript/jerry-core/ecma/operations/ecma-objects-general.c:291:25
#14 0x5cbcb4 in ecma_op_general_object_default_value jerryscript/jerry-core/ecma/operations/ecma-objects-general.c:256:10
#15 0x5dc3be in ecma_op_object_default_value jerryscript/jerry-core/ecma/operations/ecma-objects.c:1718:10
#16 0x6a0a07 in opfunc_addition jerryscript/jerry-core/vm/opcodes-ecma-arithmetics.c:198:19
#17 0x6dcef8 in vm_loop jerryscript/jerry-core/vm/vm.c:3450:20
#18 0x6bb8f1 in vm_execute jerryscript/jerry-core/vm/vm.c:5211:37
#19 0x6b975b in vm_run jerryscript/jerry-core/vm/vm.c:5312:10
#20 0x5b9674 in ecma_op_function_call_simple jerryscript/jerry-core/ecma/operations/ecma-function-object.c:1176:28
#21 0x5b860d in ecma_op_function_call jerryscript/jerry-core/ecma/operations/ecma-function-object.c:1406:16
#22 0x5b830e in ecma_op_function_validated_call jerryscript/jerry-core/ecma/operations/ecma-function-object.c:1371:10
#23 0x6efb26 in opfunc_call jerryscript/jerry-core/vm/vm.c:758:5
#24 0x6bb99c in vm_execute jerryscript/jerry-core/vm/vm.c:5217:9
#25 0x6b975b in vm_run jerryscript/jerry-core/vm/vm.c:5312:10
#26 0x6b91b7 in vm_run_global jerryscript/jerry-core/vm/vm.c:286:25
#27 0x4ce357 in jerry_run jerryscript/jerry-core/api/jerryscript.c:548:24
#28 0x8052c9 in jerryx_source_exec_script jerryscript/jerry-ext/util/sources.c:68:14
#29 0x4c4cb6 in main jerryscript/jerry-main/main-desktop.c:156:20
#30 0x7f5d8c47c0b2 in __libc_start_main /build/glibc-sMfBJT/glibc-2.31/csu/../csu/libc-start.c:308:16
#31 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
==698972==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=0x849fa0 <str> "ecma_object_check_class_name_is_object (obj_p)", [36mfile[m=0x8490c0 <str> "jerryscript/jerry-core/ecma/operations/ecma-objects.c", [36mfunction[m=0x849e80 <__func__.ecma_object_get_class_name> "ecma_object_get_class_name", [36mline[m=2913) at [32mjerryscript/jerry-core/jrt/jrt-fatals.c[m:83
#5 [34m0x00000000005e3661[m in [33mecma_object_get_class_name[m ([36mobj_p[m=0x11dfa88 <jerry_global_heap+904>) at [32mjerryscript/jerry-core/ecma/operations/ecma-objects.c[m:2913
#6 [34m0x000000000072c215[m in [33mecma_builtin_helper_object_to_string[m ([36mthis_arg[m=907) at [32mjerryscript/jerry-core/ecma/builtin-objects/ecma-builtin-helpers.c[m:143
#7 [34m0x000000000073dddb[m in [33mecma_builtin_object_prototype_object_to_string[m ([36mthis_arg[m=907) at [32mjerryscript/jerry-core/ecma/builtin-objects/ecma-builtin-object-prototype.c[m:89
#8 [34m0x000000000073d2d8[m in [33mecma_builtin_object_prototype_dispatch_routine[m ([36mbuiltin_routine_id[m=1 '\001', [36mthis_arg[m=907, [36marguments_list_p[m=0x7fffffff6da0, [36marguments_number[m=0) at [32mjerryscript/jerry-core/ecma/builtin-objects/ecma-builtin-object-prototype.c[m:395
#9 [34m0x000000000056f39e[m in [33mecma_builtin_dispatch_routine[m ([36mfunc_obj_p[m=0x11dfc50 <jerry_global_heap+1360>, [36mthis_arg_value[m=907, [36marguments_list_p[m=0x7fffffff6da0, [36marguments_list_len[m=0) at [32mjerryscript/jerry-core/ecma/builtin-objects/ecma-builtins.c[m:1460
#10 [34m0x000000000056ead2[m in [33mecma_builtin_dispatch_call[m ([36mobj_p[m=0x11dfc50 <jerry_global_heap+1360>, [36mthis_arg_value[m=907, [36marguments_list_p[m=0x0, [36marguments_list_len[m=0) at [32mjerryscript/jerry-core/ecma/builtin-objects/ecma-builtins.c[m:1489
#11 [34m0x00000000005b9af3[m in [33mecma_op_function_call_native_built_in[m ([36mfunc_obj_p[m=0x11dfc50 <jerry_global_heap+1360>, [36mthis_arg_value[m=907, [36marguments_list_p[m=0x0, [36marguments_list_len[m=0) at [32mjerryscript/jerry-core/ecma/operations/ecma-function-object.c[m:1217
#12 [34m0x00000000005b8641[m in [33mecma_op_function_call[m ([36mfunc_obj_p[m=0x11dfc50 <jerry_global_heap+1360>, [36mthis_arg_value[m=907, [36marguments_list_p[m=0x0, [36marguments_list_len[m=0) at [32mjerryscript/jerry-core/ecma/operations/ecma-function-object.c[m:1411
#13 [34m0x00000000005cbf3c[m in [33mecma_op_general_object_ordinary_value[m ([36mobj_p[m=0x11dfa88 <jerry_global_heap+904>, [36mhint[m=ECMA_PREFERRED_TYPE_NUMBER) at [32mjerryscript/jerry-core/ecma/operations/ecma-objects-general.c[m:291
#14 [34m0x00000000005cbcb5[m in [33mecma_op_general_object_default_value[m ([36mobj_p[m=0x11dfa88 <jerry_global_heap+904>, [36mhint[m=ECMA_PREFERRED_TYPE_NUMBER) at [32mjerryscript/jerry-core/ecma/operations/ecma-objects-general.c[m:256
#15 [34m0x00000000005dc3bf[m in [33mecma_op_object_default_value[m ([36mobj_p[m=0x11dfa88 <jerry_global_heap+904>, [36mhint[m=ECMA_PREFERRED_TYPE_NO) at [32mjerryscript/jerry-core/ecma/operations/ecma-objects.c[m:1718
#16 [34m0x00000000006a0a08[m in [33mopfunc_addition[m ([36mleft_value[m=1017, [36mright_value[m=907) at [32mjerryscript/jerry-core/vm/opcodes-ecma-arithmetics.c[m:198
#17 [34m0x00000000006dcef9[m in [33mvm_loop[m ([36mframe_ctx_p[m=0x7fffffffc960) at [32mjerryscript/jerry-core/vm/vm.c[m:3450
#18 [34m0x00000000006bb8f2[m in [33mvm_execute[m ([36mframe_ctx_p[m=0x7fffffffc960) at [32mjerryscript/jerry-core/vm/vm.c[m:5211
#19 [34m0x00000000006b975c[m in [33mvm_run[m ([36mshared_p[m=0x7fffffffcb80, [36mthis_binding_value[m=11, [36mlex_env_p[m=0x11df7f8 <jerry_global_heap+248>) at [32mjerryscript/jerry-core/vm/vm.c[m:5312
#20 [34m0x00000000005b9675[m in [33mecma_op_function_call_simple[m ([36mfunc_obj_p[m=0x11df9f0 <jerry_global_heap+752>, [36mthis_binding[m=11, [36marguments_list_p[m=0x7fffffffd288, [36marguments_list_len[m=2) at [32mjerryscript/jerry-core/ecma/operations/ecma-function-object.c[m:1176
#21 [34m0x00000000005b860e[m in [33mecma_op_function_call[m ([36mfunc_obj_p[m=0x11df9f0 <jerry_global_heap+752>, [36mthis_arg_value[m=72, [36marguments_list_p[m=0x7fffffffd288, [36marguments_list_len[m=2) at [32mjerryscript/jerry-core/ecma/operations/ecma-function-object.c[m:1406
#22 [34m0x00000000005b830f[m in [33mecma_op_function_validated_call[m ([36mcallee[m=755, [36mthis_arg_value[m=72, [36marguments_list_p[m=0x7fffffffd288, [36marguments_list_len[m=2) at [32mjerryscript/jerry-core/ecma/operations/ecma-function-object.c[m:1371
#23 [34m0x00000000006efb27[m in [33mopfunc_call[m ([36mframe_ctx_p[m=0x7fffffffd240) at [32mjerryscript/jerry-core/vm/vm.c[m:758
#24 [34m0x00000000006bb99d[m in [33mvm_execute[m ([36mframe_ctx_p[m=0x7fffffffd240) at [32mjerryscript/jerry-core/vm/vm.c[m:5217
#25 [34m0x00000000006b975c[m in [33mvm_run[m ([36mshared_p[m=0x7fffffffd460, [36mthis_binding_value[m=11, [36mlex_env_p[m=0x11df7f8 <jerry_global_heap+248>) at [32mjerryscript/jerry-core/vm/vm.c[m:5312
#26 [34m0x00000000006b91b8[m in [33mvm_run_global[m ([36mbytecode_p[m=0x11dfc90 <jerry_global_heap+1424>, [36mfunction_object_p[m=0x11df9e0 <jerry_global_heap+736>) at [32mjerryscript/jerry-core/vm/vm.c[m:286
#27 [34m0x00000000004ce358[m in [33mjerry_run[m ([36mscript[m=739) at [32mjerryscript/jerry-core/api/jerryscript.c[m:548
#28 [34m0x00000000008052ca[m in [33mjerryx_source_exec_script[m ([36mpath_p[m=0x7fffffffde38 "/run/user/1001/fuzzinator/697673/698970-FileWriterDecorator-44644032b49a484c95687ff1166ed1c8/0.js") at [32mjerryscript/jerry-ext/util/sources.c[m:68
#29 [34m0x00000000004c4cb7[m in [33mmain[m ([36margc[m=2, [36margv[m=0x7fffffffdb08) at [32mjerryscript/jerry-main/main-desktop.c[m:156
JerryScript revision
0d496966
Build platform
Linux-5.4.0-104-generic-x86_64-with-glibc2.29
Build steps
Test case
Output
Backtrace
Found by Fuzzinator with grammarinator.