Skip to content

Many IDB tests panic with "not implemented: Blob tokens are not yet supported" #38817

@jdm

Description

@jdm
  ▶ CRASH [expected OK] /IndexedDB/keypath-exceptions.any.html
  │
  │ not implemented: Blob tokens are not yet supported (thread Script(1,1), at components/script/indexed_db.rs:264)
  │    0: backtrace::backtrace::libunwind::trace
  │              at /Users/jdm/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.75/src/backtrace/libunwind.rs:117:9
  │       backtrace::backtrace::trace_unsynchronized
  │              at /Users/jdm/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.75/src/backtrace/mod.rs:66:14
  │    1: <servoshell::backtrace::Print as core::fmt::Debug>::fmt
  │              at /Users/jdm/src/alt-servo/ports/servoshell/backtrace.rs:65:13
  │    2: core::fmt::rt::Argument::fmt
  │              at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/fmt/rt.rs:173:76
  │       core::fmt::write
  │              at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/fmt/mod.rs:1465:25
  │    3: std::io::default_write_fmt
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/io/mod.rs:639:11
  │    4: std::io::Write::write_fmt
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/io/mod.rs:1954:13
  │    5: servoshell::backtrace::print
  │              at /Users/jdm/src/alt-servo/ports/servoshell/backtrace.rs:18:5
  │    6: servoshell::panic_hook::panic_hook
  │              at /Users/jdm/src/alt-servo/ports/servoshell/panic_hook.rs:40:17
  │    7: core::ops::function::Fn::call
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:79:5
  │    8: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
  │              at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/alloc/src/boxed.rs:1980:9
  │       std::panicking::rust_panic_with_hook
  │              at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:841:13
  │    9: std::panicking::begin_panic_handler::{{closure}}
  │              at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:699:13
  │   10: std::sys::backtrace::__rust_end_short_backtrace
  │              at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/sys/backtrace.rs:168:18
  │   11: __rustc::rust_begin_unwind
  │              at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:697:5
  │   12: core::panicking::panic_fmt
  │              at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/panicking.rs:75:14
  │   13: script::indexed_db::evaluate_key_path_on_value
  │              at /Users/jdm/src/alt-servo/components/script/indexed_db.rs:264:29
  │   14: script::indexed_db::extract_key
  │              at /Users/jdm/src/alt-servo/components/script/indexed_db.rs:335:5
  │   15: script::dom::idbobjectstore::IDBObjectStore::put::{{closure}}
  │              at /Users/jdm/src/alt-servo/components/script/dom/idbobjectstore.rs:241:26
  │   16: core::option::Option<T>::map
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:1146:29
  │   17: script::dom::idbobjectstore::IDBObjectStore::put
  │              at /Users/jdm/src/alt-servo/components/script/dom/idbobjectstore.rs:241:18
  │   18: <script::dom::idbobjectstore::IDBObjectStore as script_bindings::codegen::GenericBindings::IDBObjectStoreBinding::IDBObjectStore_Binding::IDBObjectStoreMethods<script::dom::bindings::codegen::DomTypeHolder::DomTypeHolder>>::Put
  │              at /Users/jdm/src/alt-servo/components/script/dom/idbobjectstore.rs:280:14
  │   19: script_bindings::codegen::GenericBindings::IDBObjectStoreBinding::IDBObjectStore_Binding::put::{{closure}}::{{closure}}
  │              at /Users/jdm/src/alt-servo/target/debug/build/script_bindings-82716f0fc91d4ab3/out/Bindings/IDBObjectStoreBinding.rs:278:66
  │   20: script_bindings::codegen::GenericBindings::IDBObjectStoreBinding::IDBObjectStore_Binding::put::{{closure}}
  │              at /Users/jdm/src/alt-servo/target/debug/build/script_bindings-82716f0fc91d4ab3/out/Bindings/IDBObjectStoreBinding.rs:262:33
  │   21: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:305:21
  │   22: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
  │   23: std::panicking::catch_unwind::do_call
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:589:40
  │   24: ___rust_try
  │   25: std::panicking::catch_unwind
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:552:19
  │       std::panic::catch_unwind
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  │   26: mozjs::panic::wrap_panic
  │              at /Users/jdm/.cargo/git/checkouts/mozjs-dd2a25693c61d87d/e0a4ee4/mozjs/src/panic.rs:22:11
  │   27: script_bindings::codegen::GenericBindings::IDBObjectStoreBinding::IDBObjectStore_Binding::put
  │              at /Users/jdm/src/alt-servo/target/debug/build/script_bindings-82716f0fc91d4ab3/out/Bindings/IDBObjectStoreBinding.rs:262:5
  │   28: CallJitMethodOp
  │              at /Users/runner/work/mozjs/mozjs/mozjs-sys/./src/jsglue.cpp:669:10
  │   29: script_bindings::utils::generic_call
  │              at /Users/jdm/src/alt-servo/components/script_bindings/utils.rs:401:5
  │   30: script_bindings::utils::generic_method
  │              at /Users/jdm/src/alt-servo/components/script_bindings/utils.rs:421:5
  │   31: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  │   32: __ZN2js9InterpretEP9JSContextRNS_8RunStateE
  │   33: __ZN2js9RunScriptEP9JSContextRNS_8RunStateE
  │   34: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  │   35: __ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EENS_10CallReasonE
  │   36: __ZN2js8fun_callEP9JSContextjPN2JS5ValueE
  │   37: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  │   38: __ZN2js9InterpretEP9JSContextRNS_8RunStateE
  │   39: __ZN2js9RunScriptEP9JSContextRNS_8RunStateE
  │   40: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  │   41: __ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EENS_10CallReasonE
  │   42: __ZN2js9fun_applyEP9JSContextjPN2JS5ValueE
  │   43: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  │   44: __ZN2js9InterpretEP9JSContextRNS_8RunStateE
  │   45: __ZN2js9RunScriptEP9JSContextRNS_8RunStateE
  │   46: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  │   47: __ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EENS_10CallReasonE
  │   48: __ZN2js9fun_applyEP9JSContextjPN2JS5ValueE
  │   49: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  │   50: __ZN2js9InterpretEP9JSContextRNS_8RunStateE
  │   51: __ZN2js9RunScriptEP9JSContextRNS_8RunStateE
  │   52: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  │   53: __ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EENS_10CallReasonE
  │   54: __ZN2js9fun_applyEP9JSContextjPN2JS5ValueE
  │   55: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  │   56: __ZN2js9InterpretEP9JSContextRNS_8RunStateE
  │   57: __ZN2js9RunScriptEP9JSContextRNS_8RunStateE
  │   58: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructENS_10CallReasonE
  │   59: __ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EENS_10CallReasonE
  │   60: __ZN2JS4CallEP9JSContextNS_6HandleINS_5ValueEEES4_RKNS_16HandleValueArrayENS_13MutableHandleIS3_EE
  │   61: mozjs::rust::wrappers::Call
  │              at /Users/jdm/.cargo/git/checkouts/mozjs-dd2a25693c61d87d/e0a4ee4/mozjs/src/rust.rs:1228:51
  │   62: script_bindings::codegen::GenericBindings::EventHandlerBinding::EventHandlerNonNull<D>::Call
  │              at /Users/jdm/src/alt-servo/target/debug/build/script_bindings-82716f0fc91d4ab3/out/Bindings/EventHandlerBinding.rs:66:50
  │   63: script_bindings::codegen::GenericBindings::EventHandlerBinding::EventHandlerNonNull<D>::Call_
  │              at /Users/jdm/src/alt-servo/target/debug/build/script_bindings-82716f0fc91d4ab3/out/Bindings/EventHandlerBinding.rs:41:23
  │   64: script::dom::eventtarget::CompiledEventListener::call_or_handle_event
  │              at /Users/jdm/src/alt-servo/components/script/dom/eventtarget.rs:371:49
  │   65: script::dom::event::inner_invoke
  │              at /Users/jdm/src/alt-servo/components/script/dom/event.rs:1295:27
  │   66: script::dom::event::invoke
  │              at /Users/jdm/src/alt-servo/components/script/dom/event.rs:1178:17
  │   67: script::dom::event::Event::dispatch
  │              at /Users/jdm/src/alt-servo/components/script/dom/event.rs:558:17
  │   68: script::dom::eventtarget::EventTarget::dispatch_event
  │              at /Users/jdm/src/alt-servo/components/script/dom/eventtarget.rs:526:15
  │   69: script::dom::event::Event::fire
  │              at /Users/jdm/src/alt-servo/components/script/dom/event.rs:671:16
  │   70: script::dom::idbopendbrequest::IDBOpenDBRequest::upgrade_db_version::{{closure}}
  │              at /Users/jdm/src/alt-servo/components/script/dom/idbopendbrequest.rs:202:58
  │   71: core::ops::function::FnOnce::call_once
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  │   72: <script::dom::idbopendbrequest::IDBOpenDBRequest::upgrade_db_version::send_upgradeneeded_notification<F> as script::task::TaskOnce>::run_once
  │              at /Users/jdm/src/alt-servo/components/script/task.rs:54:17
  │   73: <script::task::CancellableTask<T> as script::task::TaskOnce>::run_once
  │              at /Users/jdm/src/alt-servo/components/script/task.rs:155:24
  │   74: <T as script::task::TaskBox>::run_box
  │              at /Users/jdm/src/alt-servo/components/script/task.rs:106:14
  │   75: script::script_thread::ScriptThread::handle_msg_from_script
  │              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:1975:22
  │   76: script::script_thread::ScriptThread::handle_msgs::{{closure}}
  │              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:1478:65
  │   77: script::script_thread::ScriptThread::profile_event
  │              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:1700:13
  │   78: script::script_thread::ScriptThread::handle_msgs
  │              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:1469:32
  │   79: script::script_thread::ScriptThread::start
  │              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:1033:20
  │   80: <script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{{closure}}::{{closure}}
  │              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:445:39
  │   81: profile_traits::mem::ProfilerChan::run_with_memory_reporting
  │              at /Users/jdm/src/alt-servo/components/shared/profile/mem.rs:131:9
  │   82: <script::script_thread::ScriptThread as layout_api::ScriptThreadFactory>::create::{{closure}}
  │              at /Users/jdm/src/alt-servo/components/script/script_thread.rs:443:40
  │   83: std::sys::backtrace::__rust_begin_short_backtrace
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:152:18
  │   84: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/thread/mod.rs:559:17
  │   85: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
  │   86: std::panicking::catch_unwind::do_call
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:589:40
  │   87: ___rust_try
  │   88: std::panicking::catch_unwind
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:552:19
  │       std::panic::catch_unwind
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  │       std::thread::Builder::spawn_unchecked_::{{closure}}
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/thread/mod.rs:557:30
  │   89: core::ops::function::FnOnce::call_once{{vtable.shim}}
  │              at /Users/jdm/.rustup/toolchains/1.89.0-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  │   90: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  │              at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/alloc/src/boxed.rs:1966:9
  │       std::sys::pal::unix::thread::Thread::new::thread_start
  │              at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/sys/pal/unix/thread.rs:107:17
  └   91: __pthread_deallocate

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-content/indexeddbIndexedDB implementation issues.C-assignedThere is someone working on resolving the issueE-more-complexVariable effort required; may require a mentor. Recommended solution is clearly described in the issI-panicServo encounters a panic.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions