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

Intermittent stack overflow on mac debug compiling cssparser without dummy_match_byte. #21038

Closed
emilio opened this issue Jun 12, 2018 · 6 comments

Comments

@emilio
Copy link
Member

emilio commented Jun 12, 2018

Here's the suspected backtrace (that is, the backtrace of the first stack overflow that I managed to reproduce locally playing with the thread stack size:

#0  0x000055d3f34182de in <core::cell::RefCell<T>>::borrow (self=0x7f762d072eb0) at /checkout/src/libcore/cell.rs:736
#1  0x000055d3f341f492 in proc_macro2::stable::Term::as_str::{{closure}} (interner=0x7f762d072eb0)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.3.8/src/stable.rs:430
#2  0x000055d3f33fd073 in <std::thread::local::LocalKey<T>>::try_with (self=0x55d3f36d3168, f=...) at /checkout/src/libstd/thread/local.rs:294
#3  0x000055d3f33fcd9d in <std::thread::local::LocalKey<T>>::with (self=0x55d3f36d3168, f=...) at /checkout/src/libstd/thread/local.rs:248
#4  0x000055d3f341f457 in proc_macro2::stable::Term::as_str (self=0x7f762cfe02a8) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.3.8/src/stable.rs:429
#5  0x000055d3f33ffe63 in proc_macro2::Term::as_str (self=0x7f762cfe02a8) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.3.8/src/lib.rs:493
#6  0x000055d3f33ee2e3 in syn::ident::parsing::<impl syn::synom::Synom for syn::ident::Ident>::parse (input=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/ident.rs:254
#7  0x000055d3f32f7f7c in syn::path::parsing::<impl syn::synom::Synom for syn::path::PathSegment>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#8  0x000055d3f33df8f8 in <syn::punctuated::Punctuated<T, P>>::parse (input=..., parse=0x55d3f32f7f00 <syn::path::parsing::<impl syn::synom::Synom for syn::path::PathSegment>::parse>, 
    terminated=false) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/punctuated.rs:723
#9  0x000055d3f33da535 in <syn::punctuated::Punctuated<T, P>>::parse_separated_nonempty_with (input=..., 
    parse=0x55d3f32f7f00 <syn::path::parsing::<impl syn::synom::Synom for syn::path::PathSegment>::parse>)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/punctuated.rs:691
#10 0x000055d3f33da00b in <syn::punctuated::Punctuated<T, P>>::parse_separated_nonempty (input=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/punctuated.rs:658
#11 0x000055d3f32f58f4 in syn::path::parsing::<impl syn::synom::Synom for syn::path::Path>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#12 0x000055d3f336283c in syn::path::parsing::qpath (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:75
#13 0x000055d3f32961d8 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::ExprPath>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#14 0x000055d3f339c1ea in syn::expr::parsing::atom_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#15 0x000055d3f339679f in syn::expr::parsing::trailer_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#16 0x000055d3f3395ffd in syn::expr::parsing::unary_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#17 0x000055d3f33929af in syn::expr::parsing::cast_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#18 0x000055d3f3390ec9 in syn::expr::parsing::term_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1315
#19 0x000055d3f338f549 in syn::expr::parsing::arith_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1302
#20 0x000055d3f338dbc9 in syn::expr::parsing::shift_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1290
#21 0x000055d3f338be09 in syn::expr::parsing::bitand_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1279
#22 0x000055d3f338a2d1 in syn::expr::parsing::bitxor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1269
#23 0x000055d3f3388509 in syn::expr::parsing::bitor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1262
#24 0x000055d3f33861b7 in syn::expr::parsing::compare_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1236
#25 0x000055d3f33848d9 in syn::expr::parsing::and_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1225
#26 0x000055d3f3383019 in syn::expr::parsing::or_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1222
#27 0x000055d3f3381640 in syn::expr::parsing::range_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#28 0x000055d3f3380409 in syn::expr::parsing::placement_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#29 0x000055d3f337e757 in syn::expr::parsing::assign_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#30 0x000055d3f337e600 in syn::expr::parsing::ambiguous_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1074
#31 0x000055d3f3284333 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Expr>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#32 0x000055d3f33dcf98 in <syn::punctuated::Punctuated<T, P>>::parse (input=..., parse=0x55d3f3284300 <syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Expr>::parse>, 
    terminated=true) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/punctuated.rs:723
#33 0x000055d3f33dab95 in <syn::punctuated::Punctuated<T, P>>::parse_terminated_with (input=..., 
    parse=0x55d3f3284300 <syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Expr>::parse>)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/punctuated.rs:700
#34 0x000055d3f33da10b in <syn::punctuated::Punctuated<T, P>>::parse_terminated (input=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/punctuated.rs:664
#35 0x000055d3f339ff65 in syn::expr::parsing::and_call::{{closure}} (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1701
#36 0x000055d3f3327d88 in syn::token::parsing::delim (delim=..., tokens=..., new=0x55d3f32e5f90 <syn::token::Paren>, f=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:764
#37 0x000055d3f32e5afe in syn::token::Paren::parse (tokens=..., f=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:324
#38 0x000055d3f339ff35 in syn::expr::parsing::and_call (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#39 0x000055d3f3396c27 in syn::expr::parsing::trailer_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#40 0x000055d3f3395ffd in syn::expr::parsing::unary_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#41 0x000055d3f33929af in syn::expr::parsing::cast_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#42 0x000055d3f3390ec9 in syn::expr::parsing::term_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1315
#43 0x000055d3f338f549 in syn::expr::parsing::arith_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1302
#44 0x000055d3f338dbc9 in syn::expr::parsing::shift_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1290
#45 0x000055d3f338be09 in syn::expr::parsing::bitand_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1279
#46 0x000055d3f338a2d1 in syn::expr::parsing::bitxor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1269
#47 0x000055d3f3388509 in syn::expr::parsing::bitor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1262
#48 0x000055d3f33861b7 in syn::expr::parsing::compare_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1236
#49 0x000055d3f33848d9 in syn::expr::parsing::and_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1225
#50 0x000055d3f3383019 in syn::expr::parsing::or_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1222
#51 0x000055d3f3381640 in syn::expr::parsing::range_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#52 0x000055d3f3380409 in syn::expr::parsing::placement_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#53 0x000055d3f337e757 in syn::expr::parsing::assign_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#54 0x000055d3f337e600 in syn::expr::parsing::ambiguous_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1074
#55 0x000055d3f3284333 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Expr>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#56 0x000055d3f33afc4c in syn::expr::parsing::stmt_expr (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#57 0x000055d3f3299a69 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Stmt>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#58 0x000055d3f329717b in syn::expr::parsing::<impl syn::expr::Block>::parse_within (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:75
#59 0x000055d3f33aae65 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Block>::parse::{{closure}} (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:2309
#60 0x000055d3f3327702 in syn::token::parsing::delim (delim=..., tokens=..., new=0x55d3f32e4c60 <syn::token::Brace>, f=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:764
#61 0x000055d3f32e4ace in syn::token::Brace::parse (tokens=..., f=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:324
#62 0x000055d3f3296685 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Block>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#63 0x000055d3f32954b8 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::ExprUnsafe>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#64 0x000055d3f339bb2c in syn::expr::parsing::atom_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#65 0x000055d3f339679f in syn::expr::parsing::trailer_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#66 0x000055d3f3395ffd in syn::expr::parsing::unary_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#67 0x000055d3f33929af in syn::expr::parsing::cast_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#68 0x000055d3f3390ec9 in syn::expr::parsing::term_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1315
#69 0x000055d3f338f549 in syn::expr::parsing::arith_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1302
#70 0x000055d3f338dbc9 in syn::expr::parsing::shift_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1290
#71 0x000055d3f338be09 in syn::expr::parsing::bitand_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1279
#72 0x000055d3f338a2d1 in syn::expr::parsing::bitxor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1269
#73 0x000055d3f3388509 in syn::expr::parsing::bitor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1262
#74 0x000055d3f33861b7 in syn::expr::parsing::compare_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1236
#75 0x000055d3f33848d9 in syn::expr::parsing::and_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1225
#76 0x000055d3f3383019 in syn::expr::parsing::or_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1222
#77 0x000055d3f3381640 in syn::expr::parsing::range_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#78 0x000055d3f3380409 in syn::expr::parsing::placement_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#79 0x000055d3f337e757 in syn::expr::parsing::assign_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#80 0x000055d3f337e600 in syn::expr::parsing::ambiguous_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1074
#81 0x000055d3f3284333 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Expr>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#82 0x000055d3f33dcf98 in <syn::punctuated::Punctuated<T, P>>::parse (input=..., parse=0x55d3f3284300 <syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Expr>::parse>, 
    terminated=true) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/punctuated.rs:723
#83 0x000055d3f33dab95 in <syn::punctuated::Punctuated<T, P>>::parse_terminated_with (input=..., 
    parse=0x55d3f3284300 <syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Expr>::parse>)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/punctuated.rs:700
#84 0x000055d3f33da10b in <syn::punctuated::Punctuated<T, P>>::parse_terminated (input=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/punctuated.rs:664
#85 0x000055d3f339ff65 in syn::expr::parsing::and_call::{{closure}} (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1701
#86 0x000055d3f3327d88 in syn::token::parsing::delim (delim=..., tokens=..., new=0x55d3f32e5f90 <syn::token::Paren>, f=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:764
#87 0x000055d3f32e5afe in syn::token::Paren::parse (tokens=..., f=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:324
#88 0x000055d3f339ff35 in syn::expr::parsing::and_call (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#89 0x000055d3f3396c27 in syn::expr::parsing::trailer_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#90 0x000055d3f3395ffd in syn::expr::parsing::unary_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#91 0x000055d3f33929af in syn::expr::parsing::cast_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#92 0x000055d3f3390ec9 in syn::expr::parsing::term_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1315
#93 0x000055d3f338f549 in syn::expr::parsing::arith_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1302
#94 0x000055d3f338dbc9 in syn::expr::parsing::shift_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1290
#95 0x000055d3f338be09 in syn::expr::parsing::bitand_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1279
#96 0x000055d3f338a2d1 in syn::expr::parsing::bitxor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1269
#97 0x000055d3f3388509 in syn::expr::parsing::bitor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1262
#98 0x000055d3f33861b7 in syn::expr::parsing::compare_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1236
#99 0x000055d3f33848d9 in syn::expr::parsing::and_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1225
#100 0x000055d3f3383019 in syn::expr::parsing::or_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1222
#101 0x000055d3f3381640 in syn::expr::parsing::range_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#102 0x000055d3f3380409 in syn::expr::parsing::placement_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#103 0x000055d3f337e757 in syn::expr::parsing::assign_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#104 0x000055d3f337e600 in syn::expr::parsing::ambiguous_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1074
#105 0x000055d3f33a73a3 in syn::expr::parsing::expr_ret (i=..., allow_struct=true) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#106 0x000055d3f339a2fc in syn::expr::parsing::atom_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#107 0x000055d3f339679f in syn::expr::parsing::trailer_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#108 0x000055d3f3395ffd in syn::expr::parsing::unary_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#109 0x000055d3f33929af in syn::expr::parsing::cast_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#110 0x000055d3f3390ec9 in syn::expr::parsing::term_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1315
#111 0x000055d3f338f549 in syn::expr::parsing::arith_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1302
#112 0x000055d3f338dbc9 in syn::expr::parsing::shift_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1290
#113 0x000055d3f338be09 in syn::expr::parsing::bitand_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1279
#114 0x000055d3f338a2d1 in syn::expr::parsing::bitxor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1269
#115 0x000055d3f3388509 in syn::expr::parsing::bitor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1262
#116 0x000055d3f33861b7 in syn::expr::parsing::compare_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1236
#117 0x000055d3f33848d9 in syn::expr::parsing::and_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1225
#118 0x000055d3f3383019 in syn::expr::parsing::or_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1222
#119 0x000055d3f3381640 in syn::expr::parsing::range_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#120 0x000055d3f3380409 in syn::expr::parsing::placement_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#121 0x000055d3f337e757 in syn::expr::parsing::assign_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#122 0x000055d3f337e600 in syn::expr::parsing::ambiguous_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1074
#123 0x000055d3f3284333 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Expr>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#124 0x000055d3f33afc4c in syn::expr::parsing::stmt_expr (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#125 0x000055d3f3299a69 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Stmt>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#126 0x000055d3f329717b in syn::expr::parsing::<impl syn::expr::Block>::parse_within (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:75
#127 0x000055d3f33aae65 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Block>::parse::{{closure}} (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:2309
#128 0x000055d3f3327702 in syn::token::parsing::delim (delim=..., tokens=..., new=0x55d3f32e4c60 <syn::token::Brace>, f=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:764
#129 0x000055d3f32e4ace in syn::token::Brace::parse (tokens=..., f=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:324
#130 0x000055d3f3296685 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Block>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#131 0x000055d3f32959b5 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::ExprBlock>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#132 0x000055d3f339e9d4 in syn::expr::parsing::expr_nosemi (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#133 0x000055d3f33aeeef in syn::expr::parsing::stmt_blockexpr (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#134 0x000055d3f329997b in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Stmt>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#135 0x000055d3f329717b in syn::expr::parsing::<impl syn::expr::Block>::parse_within (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:75
#136 0x000055d3f33aae65 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Block>::parse::{{closure}} (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:2309
#137 0x000055d3f3327702 in syn::token::parsing::delim (delim=..., tokens=..., new=0x55d3f32e4c60 <syn::token::Brace>, f=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:764
#138 0x000055d3f32e4ace in syn::token::Brace::parse (tokens=..., f=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:324
#139 0x000055d3f3296685 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Block>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#140 0x000055d3f32959b5 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::ExprBlock>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#141 0x000055d3f339e9d4 in syn::expr::parsing::expr_nosemi (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#142 0x000055d3f328da88 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Arm>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#143 0x000055d3f32cd4aa in syn::parsers::many0 (input=..., f=0x55d3f328c860 <syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Arm>::parse>)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:504
#144 0x000055d3f33a2a6c in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::ExprMatch>::parse::{{closure}} (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:1417
#145 0x000055d3f3330592 in syn::token::parsing::delim (delim=..., tokens=..., new=0x55d3f32e4c60 <syn::token::Brace>, f=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:764
#146 0x000055d3f32e476e in syn::token::Brace::parse (tokens=..., f=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:324
#147 0x000055d3f328af3f in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::ExprMatch>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#148 0x000055d3f339e1d0 in syn::expr::parsing::expr_nosemi (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#149 0x000055d3f33aeeef in syn::expr::parsing::stmt_blockexpr (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#150 0x000055d3f329997b in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Stmt>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#151 0x000055d3f329717b in syn::expr::parsing::<impl syn::expr::Block>::parse_within (i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:75
#152 0x000055d3f33aae65 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Block>::parse::{{closure}} (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:2309
#153 0x000055d3f3327702 in syn::token::parsing::delim (delim=..., tokens=..., new=0x55d3f32e4c60 <syn::token::Brace>, f=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:764
#154 0x000055d3f32e4ace in syn::token::Brace::parse (tokens=..., f=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/token.rs:324
#155 0x000055d3f3296685 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Block>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#156 0x000055d3f32959b5 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::ExprBlock>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#157 0x000055d3f339bfae in syn::expr::parsing::atom_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#158 0x000055d3f339679f in syn::expr::parsing::trailer_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#159 0x000055d3f3395ffd in syn::expr::parsing::unary_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#160 0x000055d3f33929af in syn::expr::parsing::cast_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#161 0x000055d3f3390ec9 in syn::expr::parsing::term_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1315
#162 0x000055d3f338f549 in syn::expr::parsing::arith_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1302
#163 0x000055d3f338dbc9 in syn::expr::parsing::shift_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1290
#164 0x000055d3f338be09 in syn::expr::parsing::bitand_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1279
#165 0x000055d3f338a2d1 in syn::expr::parsing::bitxor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1269
#166 0x000055d3f3388509 in syn::expr::parsing::bitor_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1262
#167 0x000055d3f33861b7 in syn::expr::parsing::compare_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1236
#168 0x000055d3f33848d9 in syn::expr::parsing::and_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1225
#169 0x000055d3f3383019 in syn::expr::parsing::or_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1222
#170 0x000055d3f3381640 in syn::expr::parsing::range_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#171 0x000055d3f3380409 in syn::expr::parsing::placement_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#172 0x000055d3f337e757 in syn::expr::parsing::assign_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:83
#173 0x000055d3f337e600 in syn::expr::parsing::ambiguous_expr (i=..., allow_struct=true, allow_block=true)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1074
#174 0x000055d3f3284333 in syn::expr::parsing::<impl syn::synom::Synom for syn::expr::Expr>::parse (i=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:69
#175 0x000055d3f317d095 in core::ops::function::FnOnce::call_once () at /checkout/src/libcore/ops/function.rs:223
#176 0x000055d3f3220130 in <F as syn::synom::Parser>::parse2 (self=0xa0, tokens=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/synom.rs:260
#177 0x000055d3f31f28de in syn::parse2 (tokens=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/lib.rs:621
#178 0x000055d3f31f072b in build_script_build::match_byte::expand_match_byte (body=0x7f762d06a100) at build/match_byte.rs:149
#179 0x000055d3f31f115f in <build_script_build::match_byte::MatchByteParser as syn::gen::fold::Fold>::fold_stmt (self=0x7f762d071d30, stmt=...) at build/match_byte.rs:157
#180 0x000055d3f31f5d91 in syn::gen::fold::fold_block::{{closure}} (it=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:708
#181 0x000055d3f321ddf8 in core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &'a mut F>::call_once (self=0x7f762d06a9d0, args=...)
    at /checkout/src/libcore/ops/function.rs:271
#182 0x000055d3f31e44f4 in <core::option::Option<T>>::map (self=..., f=0x7f762d06a9d0) at /checkout/src/libcore/option.rs:404
#183 0x000055d3f319e1d6 in <core::iter::Map<I, F> as core::iter::iterator::Iterator>::next (self=0x7f762d06a9b0) at /checkout/src/libcore/iter/mod.rs:1347
#184 0x000055d3f315af13 in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::spec_extend (self=0x7f762d06afb8, iterator=...) at /checkout/src/liballoc/vec.rs:1883
#185 0x000055d3f317984f in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter (iterator=...) at /checkout/src/liballoc/vec.rs:1866
#186 0x000055d3f317aeda in <alloc::vec::Vec<T> as core::iter::traits::FromIterator<T>>::from_iter (iter=...) at /checkout/src/liballoc/vec.rs:1752
#187 0x000055d3f319a30a in core::iter::iterator::Iterator::collect (self=...) at /checkout/src/libcore/iter/iterator.rs:1375
#188 0x000055d3f31535f9 in <alloc::vec::Vec<T> as syn::gen::helper::fold::FoldHelper>::lift (self=..., f=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/../gen_helper.rs:28
#189 0x000055d3f31f5cce in syn::gen::fold::fold_block (_visitor=0x7f762d071d30, _i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:708
#190 0x000055d3f3192c3c in syn::gen::fold::Fold::fold_block (self=0x7f762d071d30, i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:61
#191 0x000055d3f32025d4 in syn::gen::fold::fold_expr_while (_visitor=0x7f762d071d30, _i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:1335
#192 0x000055d3f3194638 in syn::gen::fold::Fold::fold_expr_while (self=0x7f762d071d30, i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:153
#193 0x000055d3f3216485 in syn::gen::fold::fold_expr (_visitor=0x7f762d071d30, _i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:855
#194 0x000055d3f31f139d in <build_script_build::match_byte::MatchByteParser as syn::gen::fold::Fold>::fold_expr (self=0x7f762d071d30, expr=...) at build/match_byte.rs:176
#195 0x000055d3f321a862 in syn::gen::fold::fold_stmt (_visitor=0x7f762d071d30, _i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:2472
#196 0x000055d3f31f105c in <build_script_build::match_byte::MatchByteParser as syn::gen::fold::Fold>::fold_stmt (self=0x7f762d071d30, stmt=...) at build/match_byte.rs:163
#197 0x000055d3f31f5d91 in syn::gen::fold::fold_block::{{closure}} (it=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:708
#198 0x000055d3f321ddf8 in core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &'a mut F>::call_once (self=0x7f762d06e640, args=...)
    at /checkout/src/libcore/ops/function.rs:271
#199 0x000055d3f31e44f4 in <core::option::Option<T>>::map (self=..., f=0x7f762d06e640) at /checkout/src/libcore/option.rs:404
#200 0x000055d3f319e1d6 in <core::iter::Map<I, F> as core::iter::iterator::Iterator>::next (self=0x7f762d06e620) at /checkout/src/libcore/iter/mod.rs:1347
#201 0x000055d3f315af13 in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::spec_extend (self=0x7f762d06ec28, iterator=...) at /checkout/src/liballoc/vec.rs:1883
#202 0x000055d3f317984f in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter (iterator=...) at /checkout/src/liballoc/vec.rs:1866
#203 0x000055d3f317aeda in <alloc::vec::Vec<T> as core::iter::traits::FromIterator<T>>::from_iter (iter=...) at /checkout/src/liballoc/vec.rs:1752
#204 0x000055d3f319a30a in core::iter::iterator::Iterator::collect (self=...) at /checkout/src/libcore/iter/iterator.rs:1375
#205 0x000055d3f31535f9 in <alloc::vec::Vec<T> as syn::gen::helper::fold::FoldHelper>::lift (self=..., f=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/../gen_helper.rs:28
#206 0x000055d3f31f5cce in syn::gen::fold::fold_block (_visitor=0x7f762d071d30, _i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:708
#207 0x000055d3f3192c3c in syn::gen::fold::Fold::fold_block (self=0x7f762d071d30, i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:61
#208 0x000055d3f31f8958 in syn::gen::fold::fold_item_fn (_visitor=0x7f762d071d30, _i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:1825
#209 0x000055d3f319319b in syn::gen::fold::Fold::fold_item_fn (self=0x7f762d071d30, i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:219
#210 0x000055d3f32191a2 in syn::gen::fold::fold_item (_visitor=0x7f762d071d30, _i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:1714
#211 0x000055d3f3196bf9 in syn::gen::fold::Fold::fold_item (self=0x7f762d071d30, i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:211
#212 0x000055d3f3218c4f in syn::gen::fold::fold_file::{{closure}} (it=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:1422
#213 0x000055d3f321e438 in core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &'a mut F>::call_once (self=0x7f762d0712c8, args=...)
    at /checkout/src/libcore/ops/function.rs:271
#214 0x000055d3f31dbbd4 in <core::option::Option<T>>::map (self=..., f=0x7f762d0712c8) at /checkout/src/libcore/option.rs:404
#215 0x000055d3f319ebb5 in <core::iter::Map<I, F> as core::iter::iterator::Iterator>::next (self=0x7f762d0712a8) at /checkout/src/libcore/iter/mod.rs:1347
#216 0x000055d3f3171343 in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::spec_extend (self=0x7f762d071878, iterator=...) at /checkout/src/liballoc/vec.rs:1883
#217 0x000055d3f3174eff in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter (iterator=...) at /checkout/src/liballoc/vec.rs:1866
#218 0x000055d3f317b87a in <alloc::vec::Vec<T> as core::iter::traits::FromIterator<T>>::from_iter (iter=...) at /checkout/src/liballoc/vec.rs:1752
#219 0x000055d3f3198dca in core::iter::iterator::Iterator::collect (self=...) at /checkout/src/libcore/iter/iterator.rs:1375
#220 0x000055d3f3151439 in <alloc::vec::Vec<T> as syn::gen::helper::fold::FoldHelper>::lift (self=..., f=...)
    at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/../gen_helper.rs:28
#221 0x000055d3f3218a89 in syn::gen::fold::fold_file (_visitor=0x7f762d071d30, _i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:1422
#222 0x000055d3f3196b88 in syn::gen::fold::Fold::fold_file (self=0x7f762d071d30, i=...) at /home/emilio/.cargo/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/gen/fold.rs:171
#223 0x000055d3f31ed64a in build_script_build::match_byte::expand (from=0x7f7629e240a0, to=0x7f7629e2d000) at build/match_byte.rs:22
#224 0x000055d3f31a2bd1 in build_script_build::codegen::main::{{closure}} () at build.rs:41
#225 0x000055d3f31f2692 in std::sys_common::backtrace::__rust_begin_short_backtrace (f=...) at /checkout/src/libstd/sys_common/backtrace.rs:136
#226 0x000055d3f3136877 in std::thread::Builder::spawn::{{closure}}::{{closure}} () at /checkout/src/libstd/thread/mod.rs:409
#227 0x000055d3f31a2af4 in <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once (self=..., _args=()) at /checkout/src/libstd/panic.rs:305
#228 0x000055d3f318de37 in std::panicking::try::do_call (data=0x7f762d072170 "\240@\342)v\177\000") at /checkout/src/libstd/panicking.rs:310
#229 0x00007f762c7fa0ca in __rust_maybe_catch_panic () at libpanic_unwind/lib.rs:105
#230 0x000055d3f318dd1f in std::panicking::try (f=...) at /checkout/src/libstd/panicking.rs:289
#231 0x000055d3f31a2b34 in std::panic::catch_unwind (f=...) at /checkout/src/libstd/panic.rs:374
#232 0x000055d3f3136666 in std::thread::Builder::spawn::{{closure}} () at /checkout/src/libstd/thread/mod.rs:408
#233 0x000055d3f31369a9 in <F as alloc::boxed::FnBox<A>>::call_box (self=0x7f7629e29040, args=()) at /checkout/src/liballoc/boxed.rs:638
#234 0x00007f762c7e8fcb in _$LT$alloc..boxed..Box$LT$alloc..boxed..FnBox$LT$A$C$$u20$Output$u3d$R$GT$$u20$$u2b$$u20$$u27$a$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::ha6d848c5cff6eb89 () at /checkout/src/liballoc/boxed.rs:648
#235 std::sys_common::thread::start_thread () at libstd/sys_common/thread.rs:24
#236 0x00007f762c7b40e6 in std::sys::unix::thread::Thread::new::thread_start () at libstd/sys/unix/thread.rs:90
#237 0x00007f762c542594 in start_thread () from /lib64/libpthread.so.0
#238 0x00007f762c05e00f in clone () from /lib64/libc.so.6

I've verified that the culprit is this match_byte! expansion:

https://github.com/servo/rust-cssparser/blob/ad39746d6b2efab00ac9b3126e89fb7e5a89392d/src/tokenizer.rs#L814

We should try to re-enable the feature sooner rather than later.

@emilio
Copy link
Member Author

emilio commented Jun 12, 2018

cc @Eijebong, did you ever figure out what was up with that? Given the stack I suspect just Syn's using a lot of stack due to lack of inlining but...

Also, no idea why the stack overflows would be intermittent.

@Eijebong
Copy link
Contributor

We never figured out what was going on, we set the stack size to 128MB in cssparser's build script and it didn't fix it...

@emilio
Copy link
Member Author

emilio commented Jun 12, 2018

So, what the hell, there's a main thread which is overflowing the stack, but the thread that runs syn is not the main thread. I wonder if it's cssparser-macros what's overflowing the stack?

@emilio
Copy link
Member Author

emilio commented Jun 12, 2018

Tried servo/rust-cssparser#224 on #21036 and looks it was green, so I'm moderately sure that is the root cause.

bors-servo pushed a commit to servo/rust-cssparser that referenced this issue Jun 12, 2018
procedural-masquerade: Give more stack to procedural-masquerade macros.

This is a prospective fix for servo/servo#21038.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/rust-cssparser/224)
<!-- Reviewable:end -->
@nox
Copy link
Contributor

nox commented Jun 13, 2018

This stacktrace looks quite bad to me, is it expected that syn produces call stacks that deep @dtolnay?

@dtolnay
Copy link
Contributor

dtolnay commented Jun 13, 2018

Thanks for the ping. It looks like this is a consequence of the way we handle precedence of different kinds of expressions. We should be able to do better. I filed dtolnay/syn#442 to follow up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants