Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebGLVertexArrayObjectOES's destructor shouldn't send infallible webgl commands #25891

Closed
jdm opened this issue Mar 4, 2020 · 0 comments
Closed

Comments

@jdm
Copy link
Member

@jdm jdm commented Mar 4, 2020

I got this when closing https://servo.org/hl-home/bbjs/#8Y780Y#57:

called `Result::unwrap()` on an `Err` value: () (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }, at components/script/dom/webglrenderingcontext.rs:360)
stack backtrace:
   0: backtrace::backtrace::trace_unsynchronized
   1: <servo::backtrace::Print as core::fmt::Debug>::fmt
   2: core::fmt::write
   3: std::io::Write::write_fmt
   4: servo::backtrace::print
   5: servo::main::{{closure}}
   6: std::panicking::rust_panic_with_hook
   7: rust_begin_unwind
   8: core::panicking::panic_fmt
   9: core::option::expect_none_failed
  10: core::result::Result<T,E>::unwrap
  11: script::dom::webglrenderingcontext::WebGLRenderingContext::send_command
  12: script::dom::webglbuffer::WebGLBuffer::delete
  13: script::dom::webglbuffer::WebGLBuffer::decrement_attached_counter
  14: script::dom::webglvertexarrayobjectoes::WebGLVertexArrayObjectOES::delete
  15: <script::dom::webglvertexarrayobjectoes::WebGLVertexArrayObjectOES as core::ops::drop::Drop>::drop
  16: core::ptr::drop_in_place
  17: core::ptr::drop_in_place
  18: script::dom::bindings::codegen::Bindings::WebGLVertexArrayObjectOESBinding::WebGLVertexArrayObjectOESBinding::_finalize::{{closure}}
  19: core::ops::function::FnOnce::call_once
  20: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  21: std::panicking::try::do_call
  22: __rust_maybe_catch_panic
  23: std::panicking::try
  24: std::panic::catch_unwind
  25: mozjs::panic::wrap_panic
  26: script::dom::bindings::codegen::Bindings::WebGLVertexArrayObjectOESBinding::WebGLVertexArrayObjectOESBinding::_finalize
  27: _ZN2js2gc5Arena8finalizeI8JSObjectEEmPNS_6FreeOpENS0_9AllocKindEm
  28: _ZL19FinalizeTypedArenasI8JSObjectEbPN2js6FreeOpEPPNS1_2gc5ArenaERNS4_15SortedArenaListENS4_9AllocKindERNS1_11SliceBudgetENS4_10ArenaLists14KeepArenasEnumE
  29: _ZN2js2gc10ArenaLists18foregroundFinalizeEPNS_6FreeOpENS0_9AllocKindERNS_11SliceBudgetERNS0_15SortedArenaListE
  30: _ZN2js2gc9GCRuntime17finalizeAllocKindEPNS_6FreeOpERNS_11SliceBudgetEPN2JS4ZoneENS0_9AllocKindE
  31: _ZN11sweepaction18SweepActionForEachI13ContainerIterIN7mozilla7EnumSetIN2js2gc9AllocKindEjEEES7_JPNS5_9GCRuntimeEPNS4_6FreeOpERNS4_11SliceBudgetEPN2JS4ZoneEEE3runESA_SC_SE_SH_
  32: _ZN11sweepaction19SweepActionSequenceIJPN2js2gc9GCRuntimeEPNS1_6FreeOpERNS1_11SliceBudgetEPN2JS4ZoneEEE3runES4_S6_S8_SB_
  33: _ZN11sweepaction18SweepActionForEachIN2js2gc19SweepGroupZonesIterEP9JSRuntimeJPNS2_9GCRuntimeEPNS1_6FreeOpERNS1_11SliceBudgetEEE3runES7_S9_SB_
  34: _ZN11sweepaction19SweepActionSequenceIJPN2js2gc9GCRuntimeEPNS1_6FreeOpERNS1_11SliceBudgetEEE3runES4_S6_S8_
  35: _ZN11sweepaction20SweepActionRepeatForIN2js2gc15SweepGroupsIterEP9JSRuntimeJPNS2_9GCRuntimeEPNS1_6FreeOpERNS1_11SliceBudgetEEE3runES7_S9_SB_
  36: _ZN2js2gc9GCRuntime19performSweepActionsERNS_11SliceBudgetE
  37: _ZN2js2gc9GCRuntime16incrementalSliceERNS_11SliceBudgetEN2JS8GCReasonERNS0_13AutoGCSessionE
  38: _ZN2js2gc9GCRuntime7gcCycleEbNS_11SliceBudgetEN2JS8GCReasonE
  39: _ZN2js2gc9GCRuntime7collectEbNS_11SliceBudgetEN2JS8GCReasonE
  40: _ZN2js2gc9GCRuntime2gcE18JSGCInvocationKindN2JS8GCReasonE
  41: _ZN9JSRuntime14destroyRuntimeEv
  42: _ZN2js14DestroyContextEP9JSContext
  43: <mozjs::rust::Runtime as core::ops::drop::Drop>::drop
  44: core::ptr::drop_in_place
  45: core::ptr::drop_in_place
  46: core::ptr::drop_in_place
  47: <alloc::rc::Rc<T> as core::ops::drop::Drop>::drop
  48: core::ptr::drop_in_place
  49: core::ptr::drop_in_place
  50: <script::script_thread::ScriptThread as script_traits::ScriptThreadFactory>::create::{{closure}}
  51: std::sys_common::backtrace::__rust_begin_short_backtrace
  52: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}
  53: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  54: std::panicking::try::do_call
  55: __rust_maybe_catch_panic
  56: std::panicking::try
  57: std::panic::catch_unwind
  58: std::thread::Builder::spawn_unchecked::{{closure}}
  59: core::ops::function::FnOnce::call_once{{vtable.shim}}
  60: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
  61: std::sys::unix::thread::Thread::new::thread_start
  62: _pthread_start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

1 participant
You can’t perform that action at this time.