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 '(!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 in opfunc_try_block #276

Closed
renatahodovan opened this issue Jun 30, 2015 · 1 comment
Labels
bug Undesired behaviour ecma core Related to core ECMA functionality

Comments

@renatahodovan
Copy link
Contributor

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
@egavrin egavrin removed their assignment Jul 1, 2015
@egavrin egavrin added bug Undesired behaviour ecma core Related to core ECMA functionality labels Jul 1, 2015
ruben-ayrapetyan added a commit that referenced this issue Jul 31, 2015
Related issue: #276

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
ruben-ayrapetyan added a commit that referenced this issue Aug 3, 2015
Related issue: #276

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
ruben-ayrapetyan added a commit that referenced this issue Aug 3, 2015
Related issue: #276

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
ruben-ayrapetyan added a commit that referenced this issue Aug 3, 2015
Related issue: #276

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
@egavrin
Copy link
Contributor

egavrin commented Nov 19, 2015

Works on master, closing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Undesired behaviour ecma core Related to core ECMA functionality
Projects
None yet
Development

No branches or pull requests

2 participants