- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 470
Open
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is needed
Description
Describe the bug
stack-overflow caused by deep call stack
To Reproduce
Input:
+[4446<4444^/ /g/  /g[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[44444   ]
Code:
fn main(){
    // let data = input
    let mut context = Context::new();
    context.eval(data);
}Output
AddressSanitizer:DEADLYSIGNAL
=================================================================
==11135==ERROR: AddressSanitizer: stack-overflow on address 0x7ffdacb98c40 (pc 0x55d5d74cc4d5 bp 0x7ffdacb9a430 sp 0x7ffdacb98c40 T0)
    #0 0x55d5d74cc4d5 in _$LT$boa..syntax..parser..expression..assignment..exponentiation..ExponentiationExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::he8285e05f6e8dcc5 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/assignment/exponentiation.rs:84
    #1 0x55d5d74ca2dd in _$LT$boa..syntax..parser..expression..MultiplicativeExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::he0cd2b68c53a87cd /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #2 0x55d5d74c7940 in _$LT$boa..syntax..parser..expression..AdditiveExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h4ae7e82483a469c8 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #3 0x55d5d74c4e60 in _$LT$boa..syntax..parser..expression..ShiftExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::ha501fd0502f572f1 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #4 0x55d5d74c22b9 in _$LT$boa..syntax..parser..expression..RelationalExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::hd7a4e5c59a11bd3a /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:489:23
    #5 0x55d5d74bf510 in _$LT$boa..syntax..parser..expression..EqualityExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h97c54a8a8023a8be /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #6 0x55d5d74bc870 in _$LT$boa..syntax..parser..expression..BitwiseANDExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::hfde59933043380d4 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #7 0x55d5d74b9bd0 in _$LT$boa..syntax..parser..expression..BitwiseXORExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h8751537ad6d7d705 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #8 0x55d5d74b4a30 in _$LT$boa..syntax..parser..expression..BitwiseORExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h35c650b664ab6de5 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #9 0x55d5d74ad8d3 in _$LT$boa..syntax..parser..expression..ShortCircuitExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::hf51a94a14bb79e42 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:218:13
    #10 0x55d5d74a8a48 in _$LT$boa..syntax..parser..expression..assignment..conditional..ConditionalExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h99166c692c901a1d /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/assignment/conditional.rs:68:19
    #11 0x55d5d749d6f1 in _$LT$boa..syntax..parser..expression..assignment..AssignmentExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h9a2ebe1a83c64ecf /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/assignment/mod.rs:175:23
    #12 0x55d5d7505ea6 in _$LT$boa..syntax..parser..expression..primary..array_initializer..ArrayLiteral$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::hc32dc8a0e162d3dd /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/primary/array_initializer/mod.rs:85:21
    #13 0x55d5d74f966b in _$LT$boa..syntax..parser..expression..primary..PrimaryExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h3e1a03d80d2d930b /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/primary/mod.rs:97:17
    #14 0x55d5d74dd880 in _$LT$boa..syntax..parser..expression..left_hand_side..member..MemberExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::he309d1ce71a52f2c /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/left_hand_side/member.rs:77:13
    #15 0x55d5d74dab92 in _$LT$boa..syntax..parser..expression..left_hand_side..LeftHandSideExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h1daeff14ea707989 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/left_hand_side/mod.rs:67:19
    #16 0x55d5d74d6f7d in _$LT$boa..syntax..parser..expression..update..UpdateExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h778b7144f396b5ef /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/update.rs:79:19
    #17 0x55d5d74cd016 in _$LT$boa..syntax..parser..expression..assignment..exponentiation..ExponentiationExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::he8285e05f6e8dcc5 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/assignment/exponentiation.rs:91:19
    #18 0x55d5d74ca2dd in _$LT$boa..syntax..parser..expression..MultiplicativeExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::he0cd2b68c53a87cd /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #19 0x55d5d74c7940 in _$LT$boa..syntax..parser..expression..AdditiveExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h4ae7e82483a469c8 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #20 0x55d5d74c4e60 in _$LT$boa..syntax..parser..expression..ShiftExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::ha501fd0502f572f1 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #21 0x55d5d74c22b9 in _$LT$boa..syntax..parser..expression..RelationalExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::hd7a4e5c59a11bd3a /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:489:23
    #22 0x55d5d74bf510 in _$LT$boa..syntax..parser..expression..EqualityExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h97c54a8a8023a8be /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #23 0x55d5d74bc870 in _$LT$boa..syntax..parser..expression..BitwiseANDExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::hfde59933043380d4 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #24 0x55d5d74b9bd0 in _$LT$boa..syntax..parser..expression..BitwiseXORExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h8751537ad6d7d705 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #25 0x55d5d74b4a30 in _$LT$boa..syntax..parser..expression..BitwiseORExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h35c650b664ab6de5 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:82:27
    #26 0x55d5d74ad8d3 in _$LT$boa..syntax..parser..expression..ShortCircuitExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::hf51a94a14bb79e42 /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/mod.rs:218:13
    #27 0x55d5d74a8a48 in _$LT$boa..syntax..parser..expression..assignment..conditional..ConditionalExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h99166c692c901a1d /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/assignment/conditional.rs:68:19
    #28 0x55d5d749d6f1 in _$LT$boa..syntax..parser..expression..assignment..AssignmentExpression$u20$as$u20$boa..syntax..parser..TokenParser$LT$R$GT$$GT$::parse::h9a2ebe1a83c64ecf /home/xsh/.cargo/registry/src/github.com-1ecc6299db9ec823/Boa-0.11.0/src/syntax/parser/expression/assignment/mod.rs:175:23
...
Expected behavior
eval should return error properly instead of panic
Build environment (please complete the following information):
- OS: Ubuntu
- Version: 18.04
- Target triple: x86_64-unknown-linux-gnu
- Rustc version: rustc 1.46.0
Additional context
I compiled the program with AddressSanitizer.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is needed
Type
Projects
Status
To do