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

Panic when veryfing lua file #875

Closed
qarmin opened this issue Jul 15, 2024 · 1 comment
Closed

Panic when veryfing lua file #875

qarmin opened this issue Jul 15, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@qarmin
Copy link

qarmin commented Jul 15, 2024

File content(at the bottom should be attached raw, not formatted file - github removes some non-printable characters, so copying from here may not work):

    max = max or 0xffffffff

command

timeout -v 100 stylua --verify TEST___FILE.lua

cause this

thread '<unnamed>' panicked at src/verify_ast.rs:151:35:
internal error: entered unreachable code
stack backtrace:
   0: rust_begin_unwind
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/std/src/panicking.rs:665:5
   1: core::panicking::panic_fmt
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/core/src/panicking.rs:74:14
   2: core::panicking::panic
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/core/src/panicking.rs:148:5
   3: <stylua_lib::verify_ast::AstVerifier as full_moon::visitors::VisitorMut>::visit_number
             at ./StyLua-main/src/verify_ast.rs:151:35
   4: <full_moon::tokenizer::Token as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/tokenizer.rs:731:34
   5: <full_moon::tokenizer::TokenReference as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/tokenizer.rs:917:33
   6: full_moon::ast::visitors::<impl full_moon::visitors::VisitMut for full_moon::ast::Expression>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/ast/visitors.rs:211:61
   7: <alloc::boxed::Box<T> as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/visitors.rs:238:18
   8: full_moon::ast::visitors::<impl full_moon::visitors::VisitMut for full_moon::ast::Expression>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/ast/visitors.rs:157:22
   9: <full_moon::ast::punctuated::Pair<T> as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/ast/punctuated.rs:466:43
  10: <alloc::vec::Vec<T> as full_moon::visitors::VisitMut>::visit_mut::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/visitors.rs:198:25
  11: core::iter::adapters::map::map_try_fold::{{closure}}
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/core/src/iter/adapters/map.rs:96:28
  12: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::try_fold
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/alloc/src/vec/into_iter.rs:345:25
  13: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/core/src/iter/adapters/map.rs:122:9
  14: <I as alloc::vec::in_place_collect::SpecInPlaceCollect<T,I>>::collect_in_place
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/alloc/src/vec/in_place_collect.rs:379:13
  15: alloc::vec::in_place_collect::from_iter_in_place
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/alloc/src/vec/in_place_collect.rs:270:9
  16: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/alloc/src/vec/in_place_collect.rs:246:9
  17: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/alloc/src/vec/mod.rs:2977:9
  18: core::iter::traits::iterator::Iterator::collect
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/core/src/iter/traits/iterator.rs:2005:9
  19: <alloc::vec::Vec<T> as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/visitors.rs:199:14
  20: <full_moon::ast::punctuated::Punctuated<T> as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/ast/punctuated.rs:218:31
  21: <full_moon::ast::Assignment as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/ast/mod.rs:1522:50
  22: <full_moon::ast::Stmt as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/ast/mod.rs:352:50
  23: <(A,B) as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/visitors.rs:226:10
  24: <alloc::vec::Vec<T> as full_moon::visitors::VisitMut>::visit_mut::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/visitors.rs:198:25
  25: core::iter::adapters::map::map_try_fold::{{closure}}
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/core/src/iter/adapters/map.rs:96:28
  26: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::try_fold
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/alloc/src/vec/into_iter.rs:345:25
  27: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/core/src/iter/adapters/map.rs:122:9
  28: <I as alloc::vec::in_place_collect::SpecInPlaceCollect<T,I>>::collect_in_place
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/alloc/src/vec/in_place_collect.rs:379:13
  29: alloc::vec::in_place_collect::from_iter_in_place
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/alloc/src/vec/in_place_collect.rs:270:9
  30: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/alloc/src/vec/in_place_collect.rs:246:9
  31: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/alloc/src/vec/mod.rs:2977:9
  32: core::iter::traits::iterator::Iterator::collect
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/core/src/iter/traits/iterator.rs:2005:9
  33: <alloc::vec::Vec<T> as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/visitors.rs:199:14
  34: <full_moon::ast::Block as full_moon::visitors::VisitMut>::visit_mut
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/ast/mod.rs:46:59
  35: full_moon::visitors::VisitorMut::visit_ast
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/full_moon-0.19.0/src/visitors.rs:101:29
  36: stylua_lib::verify_ast::AstVerifier::compare
             at ./StyLua-main/src/verify_ast.rs:25:30
  37: stylua_lib::format_ast
             at ./StyLua-main/src/lib.rs:414:13
  38: stylua_lib::format_code
             at ./StyLua-main/src/lib.rs:437:15
  39: stylua::format_file
             at ./StyLua-main/src/cli/main.rs:159:30
  40: stylua::format::{{closure}}::{{closure}}
             at ./StyLua-main/src/cli/main.rs:535:41
  41: core::result::Result<T,E>::and_then
             at /rustc/d9284afea99e0969a0e692b9e9fd61ea4ba21366/library/core/src/result.rs:1346:22
  42: stylua::format::{{closure}}
             at ./StyLua-main/src/cli/main.rs:534:38
  43: <F as threadpool::FnBox>::call_box
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/threadpool-1.8.1/src/lib.rs:95:9
  44: threadpool::spawn_in_pool::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/threadpool-1.8.1/src/lib.rs:769:17
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
timeout: the monitored command dumped core

##### Automatic Fuzzer note, output status "None", output signal "Some(6)"

compressed.zip

@JohnnyMorganz JohnnyMorganz added the bug Something isn't working label Oct 26, 2024
@JohnnyMorganz
Copy link
Owner

Turns out the issue is the same as #889, the problem being the hex number is very large, causing an overflow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants