Kampfkarren / selene

A blazing-fast modern Lua linter written in Rust
https://kampfkarren.github.io/selene/
Mozilla Public License 2.0
600 stars 76 forks source link

Several crashes when checking for broken files #505

Open qarmin opened 1 year ago

qarmin commented 1 year ago

Selene bf2aac0d1279582f5f4e30c51de76901ea12cfe5

When testing broken files, I got several crashes like

The application panicked (crashed).
Message:  default standard library 'lua52' failed deserialization: did not find expected key at line 9 column 3, while parsing a block mapping at line 4 column 2
Location: selene-lib/src/standard_library/mod.rs:331

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 8 frames hidden ⋮                               
   9: selene_lib::standard_library::StandardLibrary::from_builtin_name::h20ada08d945d1e67
      at <unknown source file>:<unknown line>
  10: selene_lib::standard_library::StandardLibrary::from_name::hc639a8520c2417e0
      at <unknown source file>:<unknown line>
  11: once_cell::imp::OnceCell<T>::initialize::{{closure}}::h359f9e3bbcd3d814
      at <unknown source file>:<unknown line>
  12: once_cell::imp::initialize_or_wait::hafcd2638eded2e34
      at <unknown source file>:<unknown line>
  13: once_cell::imp::OnceCell<T>::initialize::h08a548c5e81973b8
      at <unknown source file>:<unknown line>
  14: selene_lib::possible_std::possible_standard_library_notes::h3a566aed6781e956
      at <unknown source file>:<unknown line>
  15: <selene_lib::lints::undefined_variable::UndefinedVariableLint as selene_lib::lints::Lint>::pass::h687b064bf7b42c24
      at <unknown source file>:<unknown line>
  16: selene_lib::Checker<V>::test_on::h495aa51b6ba0d93c
      at <unknown source file>:<unknown line>
  17: selene::read_file::hba192e0ba1d80ce4
      at <unknown source file>:<unknown line>
  18: <F as threadpool::FnBox>::call_box::hf31596c0d1af10e4
      at <unknown source file>:<unknown line>
  19: std::sys_common::backtrace::__rust_begin_short_backtrace::h903c203b4da65f6f
      at <unknown source file>:<unknown line>
  20: core::ops::function::FnOnce::call_once{{vtable.shim}}::h30257798cebf4c51
      at <unknown source file>:<unknown line>
  21: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h1c0f3664d7ced314
      at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/alloc/src/boxed.rs:1988
  22: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h67647c21c6c4968a
      at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/alloc/src/boxed.rs:1988
  23: std::sys::unix::thread::Thread::new::thread_start::h355d348ba593a22c
      at /rustc/2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74/library/std/src/sys/unix/thread.rs:108
  24: start_thread<unknown>
      at ./nptl/pthread_create.c:442
  25: __GI___clone3<unknown>
      at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.

Results:
0 errors
0 warnings
0 parse errors

if found such file, app should fail silently instead crashing

1375 broken files - Broken_1375.zip

Example of broken files

b = a
continue()
    bp.plugins:insert({
    })
Kampfkarren commented 1 year ago

Super interesting, thanks!