Closed
Description
Jerry version:
Checked revision: 2aa0485
Build: debug.linux
OS:
Ubuntu 14.10, x86_64
Test case:
/* 256 "a" in the array */
try {
["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"];
} catch(e) { }
Backtrace:
ICE: Assertion '(!ecma_is_completion_value_empty (try_completion) && int_data->pos <= try_end_oc) || (ecma_is_completion_value_empty (try_completion) && int_data->pos == try_end_oc)' failed at jerryscript/jerry-core/vm/opcodes-ecma-try-catch-finally.cpp(opfunc_try_block):43.
Error: ERR_FAILED_INTERNAL_ASSERTION
Program received signal SIGABRT, Aborted.
0x0000000000485c23 in syscall_2_asm () at jerryscript/jerry-libc/target/linux/jerry-asm.S:32
32 SYSCALL_2
(gdb) bt
#0 0x0000000000485c23 in syscall_2_asm () at jerryscript/jerry-libc/target/linux/jerry-asm.S:32
#1 0x00000000004003c2 in syscall_2 (syscall_no=62, arg1=10133, arg2=6)
at jerryscript/jerry-libc/target/linux/jerry-libc-target.c:96
#2 0x0000000000400563 in abort () at jerryscript/jerry-libc/target/linux/jerry-libc-target.c:175
#3 0x000000000043a7c7 in jerry_fatal (code=ERR_FAILED_INTERNAL_ASSERTION) at jerryscript/jerry-core/jrt/jrt-fatals.cpp:65
#4 0x000000000043a816 in jerry_assert_fail (
assertion=0x4a4a38 "(!ecma_is_completion_value_empty (try_completion) && int_data->pos <= try_end_oc) || (ecma_is_completion_value_empty (try_completion) && int_data->pos == try_end_oc)", file=0x4a49e0 "jerryscript/jerry-core/vm/opcodes-ecma-try-catch-finally.cpp",
function=0x4868f0 <_ZZ16opfunc_try_block8opcode_tP10int_data_tE8__func__.lto_priv.985> "opfunc_try_block", line=43)
at jerryscript/jerry-core/jrt/jrt-fatals.cpp:92
#5 0x0000000000480aca in opfunc_try_block (opdata=..., int_data=0x7fffffffd4c0)
at jerryscript/jerry-core/vm/opcodes-ecma-try-catch-finally.cpp:42
#6 0x000000000047e78f in vm_loop (int_data_p=0x7fffffffd4c0, run_scope_p=0x0) at jerryscript/jerry-core/vm/vm.cpp:466
#7 0x000000000047ea1c in vm_run_from_pos (opcodes_p=0x7b6dd8 <_ZL13mem_heap_area.lto_priv.1016+4696>, start_pos=1, this_binding_value=15,
lex_env_p=0x7b5ba8 <_ZL13mem_heap_area.lto_priv.1016+40>, is_strict=false, is_eval_code=false)
at jerryscript/jerry-core/vm/vm.cpp:556
#8 0x000000000047e5f9 in vm_run_global () at jerryscript/jerry-core/vm/vm.cpp:395
#9 0x000000000048572d in jerry_run () at jerryscript/jerry-core/jerry.cpp:1373
#10 0x000000000048430c in main (argc=3, argv=0x7fffffffd888) at jerryscript/main-linux.cpp:291
Notes
Removing the surrounding try block we get another assertion failure:
ICE: Assertion 'ecma_is_completion_value_throw (completion) || ecma_is_completion_value_return (completion)' failed at jerryscript/jerry-core/vm/vm.cpp(vm_run_from_pos):559.
Error: ERR_FAILED_INTERNAL_ASSERTION
Program received signal SIGABRT, Aborted.
0x0000000000485c23 in syscall_2_asm () at jerryscript/jerry-libc/target/linux/jerry-asm.S:32
32 SYSCALL_2
(gdb) bt
#0 0x0000000000485c23 in syscall_2_asm () at jerryscript/jerry-libc/target/linux/jerry-asm.S:32
#1 0x00000000004003c2 in syscall_2 (syscall_no=62, arg1=13111, arg2=6)
at jerryscript/jerry-libc/target/linux/jerry-libc-target.c:96
#2 0x0000000000400563 in abort () at jerryscript/jerry-libc/target/linux/jerry-libc-target.c:175
#3 0x000000000043a7c7 in jerry_fatal (code=ERR_FAILED_INTERNAL_ASSERTION) at jerryscript/jerry-core/jrt/jrt-fatals.cpp:65
#4 0x000000000043a816 in jerry_assert_fail (
assertion=0x4a44c0 "ecma_is_completion_value_throw (completion) || ecma_is_completion_value_return (completion)",
file=0x4a42a8 "jerryscript/jerry-core/vm/vm.cpp",
function=0x4866c0 <_ZZ15vm_run_from_posPK8opcode_ttjP13ecma_object_tbbE8__func__.lto_priv.1007> "vm_run_from_pos", line=559)
at jerryscript/jerry-core/jrt/jrt-fatals.cpp:92
#5 0x000000000047ea73 in vm_run_from_pos (opcodes_p=0x7b5d18 <_ZL13mem_heap_area.lto_priv.1016+408>, start_pos=1, this_binding_value=15,
lex_env_p=0x7b5ba8 <_ZL13mem_heap_area.lto_priv.1016+40>, is_strict=false, is_eval_code=false)
at jerryscript/jerry-core/vm/vm.cpp:558
#6 0x000000000047e5f9 in vm_run_global () at jerryscript/jerry-core/vm/vm.cpp:395
#7 0x000000000048572d in jerry_run () at jerryscript/jerry-core/jerry.cpp:1373
#8 0x000000000048430c in main (argc=3, argv=0x7fffffffd888) at jerryscript/main-linux.cpp:291