Skip to content

Panic attempt to subtract with overflow #11789

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

interface i<>implements 

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.ts --fix --fix-suggestions --fix-dangerously

cause this

thread '<unnamed>' panicked at crates/oxc_span/src/span.rs:147:9:
attempt to subtract with overflow
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/45acf54eea118ed27927282b5e0bfdcd80b7987c/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/45acf54eea118ed27927282b5e0bfdcd80b7987c/library/core/src/panicking.rs:75:14
   2: core::panicking::panic_const::panic_const_sub_overflow
             at /rustc/45acf54eea118ed27927282b5e0bfdcd80b7987c/library/core/src/panicking.rs:175:17
   3: oxc_span::span::Span::size
             at ./oxc-main/crates/oxc_span/src/span.rs:147:9
   4: oxc_span::span::<impl core::convert::From<oxc_span::span::Span> for miette::protocol::SourceSpan>::from
             at ./oxc-main/crates/oxc_span/src/span.rs:471:63
   5: <T as core::convert::Into<U>>::into
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:767:9
   6: miette::protocol::LabeledSpan::new_with_span
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/oxc-miette-2.3.0/src/protocol.rs:278:34
   7: miette::protocol::LabeledSpan::underline
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/oxc-miette-2.3.0/src/protocol.rs:339:9
   8: oxc_span::span::<impl core::convert::From<oxc_span::span::Span> for miette::protocol::LabeledSpan>::from
             at ./oxc-main/crates/oxc_span/src/span.rs:477:9
   9: <T as core::convert::Into<U>>::into
             at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:767:9
  10: oxc_diagnostics::OxcDiagnostic::with_label
             at ./oxc-main/crates/oxc_diagnostics/src/lib.rs:287:45
  11: oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::parse_ts_interface_declaration
             at ./oxc-main/crates/oxc_parser/src/ts/statement.rs:203:24
  12: oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::parse_declaration
             at ./oxc-main/crates/oxc_parser/src/ts/statement.rs:435:22
  13: oxc_parser::ts::statement::<impl oxc_parser::ParserImpl>::parse_ts_declaration_statement
             at ./oxc-main/crates/oxc_parser/src/ts/statement.rs:409:25
  14: oxc_parser::js::statement::<impl oxc_parser::ParserImpl>::parse_statement_list_item
             at ./oxc-main/crates/oxc_parser/src/js/statement.rs:141:22
  15: oxc_parser::js::statement::<impl oxc_parser::ParserImpl>::parse_directives_and_statements
             at ./oxc-main/crates/oxc_parser/src/js/statement.rs:44:29
  16: oxc_parser::ParserImpl::parse_program
             at ./oxc-main/crates/oxc_parser/src/lib.rs:521:18
  17: oxc_parser::ParserImpl::parse
             at ./oxc-main/crates/oxc_parser/src/lib.rs:432:32
  18: oxc_parser::parser_parse::<impl oxc_parser::Parser>::parse
             at ./oxc-main/crates/oxc_parser/src/lib.rs:318:20
  19: oxc_linter::service::runtime::Runtime::process_source_section
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:882:14
  20: oxc_linter::service::runtime::Runtime::process_source
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:841:24
  21: oxc_linter::service::runtime::Runtime::process_path::{{closure}}
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:791:36
  22: oxc_linter::service::runtime::ModuleContent::new
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/self_cell-1.2.0/src/lib.rs:495:17
  23: oxc_linter::service::runtime::Runtime::process_path
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:789:22
  24: oxc_linter::service::runtime::Runtime::resolve_modules::{{closure}}
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:361:38
  25: 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
  26: <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
  27: 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
  28: 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
  29: 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
  30: 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
  31: 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
  32: 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
  33: 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
  34: <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
  35: 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
  36: 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
  37: rayon_core::registry::WorkerThread::yield_now
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:841:22
  38: rayon_core::thread_pool::yield_now
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/thread_pool/mod.rs:480:21
  39: oxc_linter::service::runtime::Runtime::resolve_modules
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:377:21
  40: oxc_linter::service::runtime::Runtime::run::{{closure}}
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:485:18
  41: rayon_core::scope::scope::{{closure}}::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:291:52
  42: <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
  43: 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
  44: 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
  45: 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
  46: 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
  47: 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
  48: rayon_core::scope::ScopeBase::complete
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:667:31
  49: 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
  50: rayon_core::registry::in_worker
  51: rayon_core::scope::scope
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:289:5
  52: oxc_linter::service::runtime::Runtime::run
             at ./oxc-main/crates/oxc_linter/src/service/runtime.rs:484:9
  53: oxc_linter::service::LintService::run
             at ./oxc-main/crates/oxc_linter/src/service/mod.rs:93:22
  54: <oxlint::lint::LintRunner as oxlint::runner::Runner>::run::{{closure}}
             at ./oxc-main/apps/oxlint/src/lint.rs:299:26
  55: <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
  56: 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
  57: 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
  58: 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
  59: 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
  60: 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
  61: 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
  62: <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
  63: 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
  64: 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
  65: 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
  66: 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
  67: 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
  68: 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
  69: 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
  70: <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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions