servo / servo/servo

`--unminify-js` causes `called Option::unwrap() on a None value (thread Script#1, at components/script/dom/document/document.rs:2371)`

Open
#44,936 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-needs-investigation C-triggered-by-web-page I-panic
Dominant language
Rust
Stars
38k
Forks
3.8k
Avg merge
1d 6h
Merged PRs (30d)
465

Description

To reproduce: /mach run https://reddit.com --unminify-js

Backtrace
[2026-05-14T23:10:24Z ERROR script::script_module] Fetching module script failed CORS check failed
[2026-05-14T23:10:24Z ERROR script::script_module] Fetching module script failed CORS check failed
(new TypeError("Module fetching failed", "https://www.reddit.com/?solution=4f5eda6bb95f83934f5eda6bb95f8393&js_challenge=1&token=bbbe4bf1c9a2b5160829c4be34da5861a60ca96269ac28ea3a45f1b4cc79fb19&jsc_orig_r=", 123))
[2026-05-14T23:10:26Z ERROR servoshell::desktop::headed_window] (new TypeError("Module fetching failed", "https://www.reddit.com/?solution=4f5eda6bb95f83934f5eda6bb95f8393&js_challenge=1&token=bbbe4bf1c9a2b5160829c4be34da5861a60ca96269ac28ea3a45f1b4cc79fb19&jsc_orig_r=", 123))
(new TypeError("Module fetching failed", "https://www.reddit.com/?solution=4f5eda6bb95f83934f5eda6bb95f8393&js_challenge=1&token=bbbe4bf1c9a2b5160829c4be34da5861a60ca96269ac28ea3a45f1b4cc79fb19&jsc_orig_r=", 123))
[2026-05-14T23:10:26Z ERROR servoshell::desktop::headed_window] (new TypeError("Module fetching failed", "https://www.reddit.com/?solution=4f5eda6bb95f83934f5eda6bb95f8393&js_challenge=1&token=bbbe4bf1c9a2b5160829c4be34da5861a60ca96269ac28ea3a45f1b4cc79fb19&jsc_orig_r=", 123))
called `Option::unwrap()` on a `None` value (thread Script#1, at components/script/dom/document/document.rs:2371)
   0: servoshell::backtrace::print
             at /home/alaska/servo/ports/servoshell/backtrace.rs:18:5
   1: servoshell::panic_hook::panic_hook
             at /home/alaska/servo/ports/servoshell/panic_hook.rs:40:17
   2: core::ops::function::Fn::call
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:79:5
   3: <alloc::boxed::Box<dyn for<'a, 'b> core::ops::function::Fn<(&'a std::panic::PanicHookInfo<'b>,), Output = ()> + core::marker::Sync + core::marker::Send> as core::ops::function::Fn<(&std::panic::PanicHookInfo,)>>::call
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9
      std::panicking::panic_with_hook
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:833:13
   4: std::panicking::panic_handler::{closure#0}
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:691:13
   5: std::sys::backtrace::__rust_end_short_backtrace::<std::panicking::panic_handler::{closure#0}, !>
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:182:18
   6: __rustc::rust_begin_unwind
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:689:5
   7: core::panicking::panic_fmt
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:80:14
   8: core::panicking::panic
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:150:5
   9: core::option::unwrap_failed
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/option.rs:2236:5
  10: <core::option::Option<usize>>::unwrap
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:1016:21
      <script::dom::document::document::Document>::asap_script_loaded
             at /home/alaska/servo/components/script/dom/document/document.rs:2371:18
  11: script::dom::html::htmlscriptelement::finish_fetching_a_script
             at /home/alaska/servo/components/script/dom/html/htmlscriptelement.rs:327:22
  12: <script::dom::html::htmlscriptelement::HTMLScriptElement>::prepare::{closure#3}
             at /home/alaska/servo/components/script/dom/html/htmlscriptelement.rs:928:29
  13: script::script_module::fetch_the_descendants_and_link_module_script::<<script::dom::html::htmlscriptelement::HTMLScriptElement>::prepare::{closure#3}>
             at /home/alaska/servo/components/script/script_module.rs:1386:9
  14: script::script_module::fetch_an_external_module_script::<<script::dom::html::htmlscriptelement::HTMLScriptElement>::prepare::{closure#3}>::{closure#0}
             at /home/alaska/servo/components/script/script_module.rs:1260:13
  15: script::script_module::fetch_a_single_module_script::<script::script_module::fetch_an_external_module_script<<script::dom::html::htmlscriptelement::HTMLScriptElement>::prepare::{closure#3}>::{closure#0}>
             at /home/alaska/servo/components/script/script_module.rs:1495:20
  16: script::script_module::fetch_an_external_module_script::<<script::dom::html::htmlscriptelement::HTMLScriptElement>::prepare::{closure#3}>
             at /home/alaska/servo/components/script/script_module.rs:1242:5
  17: <script::dom::html::htmlscriptelement::HTMLScriptElement>::prepare
             at /home/alaska/servo/components/script/dom/html/htmlscriptelement.rs:919:21
  18: <script::dom::html::htmlscriptelement::HTMLScriptElement as script::dom::virtualmethods::VirtualMethods>::post_connection_steps
             at /home/alaska/servo/components/script/dom/html/htmlscriptelement.rs:1291:18
  19: <script::dom::node::node::Node>::insert::{closure#4}
             at /home/alaska/servo/components/script/dom/node/node.rs:3252:39
  20: <<script::dom::node::node::Node>::insert::{closure#4} as core::ops::function::FnOnce<(&mut mozjs::context::JSContext, smallvec::SmallVec<[script_bindings::root::Root<script_bindings::root::Dom<script::dom::node::node::Node>>; 4]>)>>::call_once
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  21: <<script::dom::node::node::Node>::insert::PostConnectionSteps<<script::dom::node::node::Node>::insert::{closure#4}> as script::task::NonSendTaskOnce>::run_once
             at /home/alaska/servo/components/script/task.rs:81:17
  22: <<script::dom::node::node::Node>::insert::PostConnectionSteps<<script::dom::node::node::Node>::insert::{closure#4}> as script::task::NonSendTaskBox>::run_box
             at /home/alaska/servo/components/script/task.rs:141:14
  23: <script::dom::document::document::Document>::remove_script_and_layout_blocker
             at /home/alaska/servo/components/script/dom/document/document.rs:3750:18
  24: <script::dom::node::node::Node>::insert
             at /home/alaska/servo/components/script/dom/node/node.rs:3258:23
  25: <script::dom::node::node::Node>::pre_insert
             at /home/alaska/servo/components/script/dom/node/node.rs:3060:9
  26: <script::dom::node::node::Node as script_bindings::codegen::GenericBindings::NodeBinding::Node_Binding::NodeMethods<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::AppendChild
             at /home/alaska/servo/components/script/dom/node/node.rs:4134:9
  27: script_bindings::codegen::GenericBindings::NodeBinding::Node_Binding::appendChild::<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>::{closure#0}::{closure#0}
             at /home/alaska/servo/target/debug/build/servo-script-bindings-dbadbfe1b1efd54b/out/Bindings/NodeBinding.rs:1707:60
  28: script_bindings::codegen::GenericBindings::NodeBinding::Node_Binding::appendChild::<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>::{closure#0}
             at /home/alaska/servo/target/debug/build/servo-script-bindings-dbadbfe1b1efd54b/out/Bindings/NodeBinding.rs:1679:33
  29: <&mut dyn core::ops::function::FnMut<(), Output = ()> as core::ops::function::FnOnce<()>>::call_once
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:310:21
  30: <core::panic::unwind_safe::AssertUnwindSafe<&mut dyn core::ops::function::FnMut<(), Output = ()>> as core::ops::function::FnOnce<()>>::call_once
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:274:9
  31: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<&mut dyn core::ops::function::FnMut<(), Output = ()>>, ()>
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:581:40
  32: __rust_try
  33: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<&mut dyn core::ops::function::FnMut<(), Output = ()>>>
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:544:19
      std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<&mut dyn core::ops::function::FnMut<(), Output = ()>>, ()>
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  34: mozjs::panic::wrap_panic
             at /home/alaska/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/mozjs-0.15.14/src/panic.rs:22:11
  35: script_bindings::codegen::GenericBindings::NodeBinding::Node_Binding::appendChild::<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>
             at /home/alaska/servo/target/debug/build/servo-script-bindings-dbadbfe1b1efd54b/out/Bindings/NodeBinding.rs:1679:5
  36: CallJitMethodOp
             at /home/runner/work/mozjs/mozjs/mozjs-sys/./src/jsglue.cpp:717:22
  37: script_bindings::utils::generic_call::<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder, false>
             at /home/alaska/servo/components/script_bindings/utils.rs:647:5
  38: script_bindings::utils::generic_method::<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder, script_bindings::utils::call_policies::Normal, false>
             at /home/alaska/servo/components/script_bindings/utils.rs:671:5
  39: _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  40: _ZN2js9InterpretEP9JSContextRNS_8RunStateE
  41: _ZN2js9RunScriptEP9JSContextRNS_8RunStateE
  42: _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  43: _ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EENS_10CallReasonE
  44: _ZN2JS4CallEP9JSContextNS_6HandleINS_5ValueEEES4_RKNS_16HandleValueArrayENS_13MutableHandleIS3_EE
  45: mozjs::rust::wrappers::Call
             at /home/alaska/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/mozjs-0.15.14/src/rust.rs:1439:51
  46: <script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::HandleEvent
             at /home/alaska/servo/target/debug/build/servo-script-bindings-dbadbfe1b1efd54b/out/Bindings/EventListenerBinding.rs:61:18
  47: <script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::HandleEvent_::<script::dom::event::eventtarget::EventTarget>::{closure#0}
             at /home/alaska/servo/target/debug/build/servo-script-bindings-dbadbfe1b1efd54b/out/Bindings/EventListenerBinding.rs:35:27
  48: script_bindings::callback::call_setup::<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder, script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>, core::result::Result<(), script_bindings::error::Error>, <script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::HandleEvent_<script::dom::event::eventtarget::EventTarget>::{closure#0}>::{closure#0}::{closure#0}
             at /home/alaska/servo/components/script_bindings/callback.rs:279:26
  49: script_bindings::settings_stack::run_a_callback::<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder, core::result::Result<(), script_bindings::error::Error>, script_bindings::callback::call_setup<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder, script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>, core::result::Result<(), script_bindings::error::Error>, <script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::HandleEvent_<script::dom::event::eventtarget::EventTarget>::{closure#0}>::{closure#0}::{closure#0}>
             at /home/alaska/servo/components/script_bindings/settings_stack.rs:85:18
  50: script_bindings::callback::call_setup::<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder, script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>, core::result::Result<(), script_bindings::error::Error>, <script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::HandleEvent_<script::dom::event::eventtarget::EventTarget>::{closure#0}>::{closure#0}
             at /home/alaska/servo/components/script_bindings/callback.rs:300:13
  51: script_bindings::settings_stack::run_a_script::<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder, core::result::Result<(), script_bindings::error::Error>, script_bindings::callback::call_setup<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder, script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>, core::result::Result<(), script_bindings::error::Error>, <script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::HandleEvent_<script::dom::event::eventtarget::EventTarget>::{closure#0}>::{closure#0}>
             at /home/alaska/servo/components/script_bindings/settings_stack.rs:43:18
  52: script_bindings::callback::call_setup::<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder, script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>, core::result::Result<(), script_bindings::error::Error>, <script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::HandleEvent_<script::dom::event::eventtarget::EventTarget>::{closure#0}>
             at /home/alaska/servo/components/script_bindings/callback.rs:276:5
  53: <script_bindings::codegen::GenericBindings::EventListenerBinding::EventListener<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::HandleEvent_::<script::dom::event::eventtarget::EventTarget>
             at /home/alaska/servo/target/debug/build/servo-script-bindings-dbadbfe1b1efd54b/out/Bindings/EventListenerBinding.rs:29:9
  54: <script::dom::event::eventtarget::CompiledEventListener>::call_or_handle_event
             at /home/alaska/servo/components/script/dom/event/eventtarget.rs:217:26
  55: script::dom::event::event::inner_invoke
             at /home/alaska/servo/components/script/dom/event/event.rs:1442:14
  56: script::dom::event::event::invoke
             at /home/alaska/servo/components/script/dom/event/event.rs:1321:17
  57: <script::dom::event::event::Event>::dispatch_inner
             at /home/alaska/servo/components/script/dom/event/event.rs:619:17
  58: <script::dom::event::event::Event>::dispatch
             at /home/alaska/servo/components/script/dom/event/event.rs:295:14
  59: <script::dom::event::eventtarget::EventTarget>::dispatch_event
             at /home/alaska/servo/components/script/dom/event/eventtarget.rs:477:15
  60: <script::dom::event::event::Event>::fire
             at /home/alaska/servo/components/script/dom/event/event.rs:777:16
  61: <script::dom::event::eventtarget::EventTarget>::fire_event_with_params
             at /home/alaska/servo/components/script/dom/event/eventtarget.rs:877:15
  62: <script::dom::event::eventtarget::EventTarget>::fire_bubbling_event
             at /home/alaska/servo/components/script/dom/event/eventtarget.rs:821:14
  63: <script::dom::document::document::Document>::maybe_dispatch_dom_content_loaded::{closure#0}
             at /home/alaska/servo/components/script/dom/document/document.rs:2466:46
  64: <<script::dom::document::document::Document>::maybe_dispatch_dom_content_loaded::{closure#0} as core::ops::function::FnOnce<(&mut mozjs::context::JSContext,)>>::call_once
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  65: <<script::dom::document::document::Document>::maybe_dispatch_dom_content_loaded::fire_dom_content_loaded_event<<script::dom::document::document::Document>::maybe_dispatch_dom_content_loaded::{closure#0}> as script::task::TaskOnce>::run_once
             at /home/alaska/servo/components/script/task.rs:102:17
  66: <script::task::CancellableTask<<script::dom::document::document::Document>::maybe_dispatch_dom_content_loaded::fire_dom_content_loaded_event<<script::dom::document::document::Document>::maybe_dispatch_dom_content_loaded::{closure#0}>> as script::task::TaskOnce>::run_once
             at /home/alaska/servo/components/script/task.rs:203:24
  67: <script::task::CancellableTask<<script::dom::document::document::Document>::maybe_dispatch_dom_content_loaded::fire_dom_content_loaded_event<<script::dom::document::document::Document>::maybe_dispatch_dom_content_loaded::{closure#0}>> as script::task::TaskBox>::run_box
             at /home/alaska/servo/components/script/task.rs:154:14
  68: <script::script_thread::ScriptThread>::handle_msg_from_script
             at /home/alaska/servo/components/script/script_thread.rs:2106:22
  69: <script::script_thread::ScriptThread>::handle_msgs::{closure#2}
             at /home/alaska/servo/components/script/script_thread.rs:1518:30
  70: <script::script_thread::ScriptThread>::profile_event::<<script::script_thread::ScriptThread>::handle_msgs::{closure#2}, bool>
             at /home/alaska/servo/components/script/script_thread.rs:1758:13
  71: <script::script_thread::ScriptThread>::handle_msgs
             at /home/alaska/servo/components/script/script_thread.rs:1508:32
  72: <script::script_thread::ScriptThread>::start
             at /home/alaska/servo/components/script/script_thread.rs:1096:20
  73: <script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}::{closure#1}
             at /home/alaska/servo/components/script/script_thread.rs:514:38
  74: <profile_traits::mem::ProfilerChan>::run_with_memory_reporting::<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}::{closure#1}, script::messaging::CommonScriptMsg::CollectReports, script::messaging::CommonScriptMsg, script::messaging::ScriptEventLoopSender>
             at /home/alaska/servo/components/shared/profile/mem.rs:143:9
  75: <script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}
             at /home/alaska/servo/components/script/script_thread.rs:513:40
  76: std::sys::backtrace::__rust_begin_short_backtrace::<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:166:18
  77: std::thread::lifecycle::spawn_unchecked::<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}::{closure#0}
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/lifecycle.rs:91:13
  78: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:274:9
  79: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}::{closure#0}>, ()>
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:581:40
  80: __rust_try
  81: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}::{closure#0}>>
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:544:19
      std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}::{closure#0}>, ()>
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
      std::thread::lifecycle::spawn_unchecked::<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1}
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/lifecycle.rs:89:26
  82: <std::thread::lifecycle::spawn_unchecked<<script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
             at /home/alaska/.rustup/toolchains/1.95.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  83: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2240:9
      <std::sys::thread::unix::Thread>::new::thread_start
             at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/thread/unix.rs:118:17
  84: start_thread
  85: __GI___clone3
[2026-05-14T23:10:33Z ERROR servoshell::panic_hook] called `Option::unwrap()` on a `None` value
[2026-05-14T23:10:33Z ERROR servo_constellation::constellation] Error sending message to (1,2): Disconnected
[2026-05-14T23:10:33Z ERROR servo_constellation::constellation] crash page crashed

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the crash with /mach run https://reddit.com --unminify-js, then inspect components/script/dom/document/document.rs:2371 and the stack's related paths in htmlscriptelement.rs and script_module.rs. Trace the failed module-fetch flow and ensure the reproduction no longer panics with Option::unwrap().

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, rust
Domain
frontend, web-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.