Skip to content

Panic byte index 5 is not a char boundary in no_unknown_property rule #11348

@qarmin

Description

@qarmin

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):

<t onChñnge/>

command

timeout -v 150 oxlint -D all -D nursery --import-plugin --jsdoc-plugin --jest-plugin --vitest-plugin --jsx-a11y-plugin --nextjs-plugin --react-perf-plugin TEST___FILE.js --fix --fix-suggestions --fix-dangerously

cause this

thread '<unnamed>' panicked at crates/oxc_linter/src/globals.rs:124:37:
byte index 5 is not a char boundary; it is inside 'ñ' (bytes 4..6) of `onChñnge`
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/2805e1dc4c18ed4c84d161502c48da870c56f68a/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/2805e1dc4c18ed4c84d161502c48da870c56f68a/library/core/src/panicking.rs:75:14
   2: core::str::slice_error_fail_rt
   3: core::str::slice_error_fail
             at /rustc/2805e1dc4c18ed4c84d161502c48da870c56f68a/library/core/src/str/mod.rs:69:5
   4: core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeTo<usize>>::index
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/str/traits.rs:467:21
   5: core::str::traits::<impl core::ops::index::Index<I> for str>::index
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/str/traits.rs:60:15
   6: <oxc_linter::globals::AriaProperty as core::convert::TryFrom<&str>>::try_from
             at ./oxc-main/crates/oxc_linter/src/globals.rs:124:37
   7: oxc_linter::globals::is_valid_aria_property
             at ./oxc-main/crates/oxc_linter/src/globals.rs:190:5
   8: <oxc_linter::rules::react::no_unknown_property::NoUnknownProperty as oxc_linter::rule::Rule>::run::{{closure}}
             at ./oxc-main/crates/oxc_linter/src/rules/react/no_unknown_property.rs:528:20
   9: core::iter::traits::iterator::Iterator::for_each::call::{{closure}}
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:824:29
  10: core::iter::adapters::filter_map::filter_map_fold::{{closure}}
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/filter_map.rs:40:20
  11: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::fold
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/slice/iter/macros.rs:255:27
  12: <core::iter::adapters::filter_map::FilterMap<I,F> as core::iter::traits::iterator::Iterator>::fold
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/filter_map.rs:146:19
  13: core::iter::traits::iterator::Iterator::for_each
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:827:14
  14: <oxc_linter::rules::react::no_unknown_property::NoUnknownProperty as oxc_linter::rule::Rule>::run
             at ./oxc-main/crates/oxc_linter/src/rules/react/no_unknown_property.rs:513:14
  15: oxc_linter::Linter::run
             at ./oxc-main/crates/oxc_linter/src/lib.rs:176:26
  16: oxc_linter::service::runtime::Runtime::run::{{closure}}::{{closure}}::{{closure}}
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:497:60
  17: oxc_linter::service::runtime::ModuleContent::with_dependent_mut
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/self_cell-1.2.0/src/lib.rs:384:13
  18: oxc_linter::service::runtime::Runtime::run::{{closure}}::{{closure}}
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:480:40
  19: oxc_linter::service::runtime::Runtime::resolve_modules::{{closure}}
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:468:21
  20: rayon_core::scope::Scope::spawn::{{closure}}::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:526:57
  21: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
  22: std::panicking::catch_unwind::do_call
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:589:40
  23: std::panicking::catch_unwind
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:552:19
  24: std::panic::catch_unwind
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  25: rayon_core::unwind::halt_unwinding
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/unwind.rs:17:5
  26: rayon_core::scope::ScopeBase::execute_job_closure
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:689:28
  27: rayon_core::scope::ScopeBase::execute_job
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:679:29
  28: rayon_core::scope::Scope::spawn::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:526:13
  29: <rayon_core::job::HeapJob<BODY> as rayon_core::job::Job>::execute
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:169:9
  30: rayon_core::job::JobRef::execute
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:64:9
  31: rayon_core::registry::WorkerThread::execute
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:860:13
  32: rayon_core::registry::WorkerThread::wait_until_cold
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:786:22
  33: rayon_core::scope::ScopeBase::complete
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:668:34
  34: rayon_core::scope::scope::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:291:20
  35: oxc_linter::service::LintService::run
             at ./oxc-main/crates/oxc_linter/src/service/mod.rs:89:22
  36: <oxlint::lint::LintRunner as oxlint::runner::Runner>::run::{{closure}}
             at ./oxc-main/apps/oxlint/src/lint.rs:296:26
  37: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
  38: std::panicking::catch_unwind::do_call
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:589:40
  39: std::panicking::catch_unwind
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:552:19
  40: std::panic::catch_unwind
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  41: rayon_core::unwind::halt_unwinding
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/unwind.rs:17:5
  42: rayon_core::registry::Registry::catch_unwind
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:367:27
  43: rayon_core::spawn::spawn_job::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/spawn/mod.rs:97:22
  44: <rayon_core::job::HeapJob<BODY> as rayon_core::job::Job>::execute
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:169:9
  45: rayon_core::job::JobRef::execute
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:64:9
  46: rayon_core::registry::WorkerThread::execute
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:860:13
  47: rayon_core::registry::WorkerThread::wait_until_cold
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:794:26
  48: rayon_core::registry::WorkerThread::wait_until
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:769:18
  49: rayon_core::registry::WorkerThread::wait_until_out_of_work
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:818:14
  50: rayon_core::registry::main_loop
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:923:19
  51: rayon_core::registry::ThreadBuilder::run
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:53:18
  52: <rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:98:27
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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

compressed.zip

Regression from #11333

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions