WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED INVALID
201388
[GStreamer] Crash involving SourceBufferPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=201388
Summary
[GStreamer] Crash involving SourceBufferPrivateGStreamer
Michael Catanzaro
Reported
2019-09-01 05:26:19 PDT
This occurred on youtube.com. Not reproducible. (gdb) bt #0 0x00007f707e250d18 in WTF::doubleHash(unsigned int) (key=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/DumbPtrTraits.h:43 #1 0x00007f707e250d18 in WTF::HashTable<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > > >::lookupForWriting<WTF::IdentityHashTranslator<WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::PtrHash<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > > >, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >(WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > const&) (key=..., this=0x0) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:750 #2 0x00007f707e250d18 in WTF::HashTable<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > > >::lookupForWriting(WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > const&) (key=..., this=0x0) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:469 #3 0x00007f707e250d18 in WTF::HashTable<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > > >::reinsert(WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >&&) (entry=..., this=0x0) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:1030 #4 0x00007f707e250d18 in WTF::HashTable<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > > >::rehash(unsigned int, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >*) (this=0x0, newTableSize=<optimized out>, entry=0x7ffc0fb72490) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:1293 #5 0x00007f577d55ac10 in () #6 0x00007f577d55b970 in () #7 0x00007f707e2538f2 in WTF::Vector<_GstAppSrc*, 0ul, WTF::CrashOnOverflow, 16ul>::expandCapacity(unsigned long) (this=0x7f707e24f323 <WebCore::MediaSourceClientGStreamerMSE::append(WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::Vector<unsigned char, 0ul, WTF::CrashOnOverflow, 16ul>&&)+227>, newMinCapacity=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Vector.h:327 #8 0x00007f702411cf30 in () #9 0x00007f702411d080 in () #10 0x00007f707d1cd15f in WTF::HashTable<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >::isEmptyOrDeletedBucket(WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> const&) (value=...) at DerivedSources/ForwardingHeaders/wtf/text/WTFString.h:367 #11 0x00007f707d1cd15f in WTF::HashTableConstIterator<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >::skipEmptyBuckets() (this=<optimized out>, this=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:121 #12 0x00007f707d1cd15f in WTF::HashTableConstIterator<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >::operator++() (this=<synthetic pointer>) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:183 #13 0x00007f707d1cd15f in WTF::HashTableIterator<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >::operator++() (this=<synthetic pointer>) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:266 #14 0x00007f707d1cd15f in WTF::HashTableIteratorAdapter<WTF::HashTable<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >::operator++() (this=<synthetic pointer>) at DerivedSources/ForwardingHeaders/wtf/HashIterators.h:74 #15 0x00007f707d1cd15f in WTF::HashTableValuesIterator<WTF::HashTable<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >, WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>::operator++() (this=<synthetic pointer>) at DerivedSources/ForwardingHeaders/wtf/HashIterators.h:157 #16 0x00007f707d1cd15f in WebCore::SourceBuffer::setTimestampOffset(double) (this=<optimized out>, offset=6.9175979694419147e-310) at ../Source/WebCore/Modules/mediasource/SourceBuffer.cpp:186 #17 0x00007ffc0fb725d0 in () #18 0x00007f707a772a20 in WTF::GRefPtr<_GMainLoop>::~GRefPtr() (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../Source/WTF/wtf/glib/GRefPtr.h:74 #19 0x00007f707a772a20 in WTF::RunLoop::stop() (this=<optimized out>) at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:116 #20 0x00007f707ae96280 in g_source_callback_funcs () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #21 0x000055aa4d777950 in () #22 0x00007f707d1c7f16 in WTF::VectorDestructor<true, WebCore::PlatformTimeRanges::Range>::destruct(WebCore::PlatformTimeRanges::Range*, WebCore::PlatformTimeRanges::Range*) (end=<optimized out>, begin=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Vector.h:63 #23 0x00007f707d1c7f16 in WTF::VectorTypeOperations<WebCore::PlatformTimeRanges::Range>::destruct(WebCore::PlatformTimeRanges::Range*, WebCore::PlatformTimeRanges::Range*) (end=0x413264799c651000, begin=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Vector.h:243 #24 0x00007f707d1c7f16 in WTF::Vector<WebCore::PlatformTimeRanges::Range, 0ul, WTF::CrashOnOverflow, 16ul>::~Vector() (this=0x7f577d55a650, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Vector.h:675 #25 0x00007f707d1c7f16 in WebCore::PlatformTimeRanges::~PlatformTimeRanges() (this=0x7f577d55a650, __in_chrg=<optimized out>) at ../Source/WebCore/platform/graphics/PlatformTimeRanges.h:39 #26 0x00007f707d1c7f16 in std::default_delete<WebCore::PlatformTimeRanges>::operator()(WebCore::PlatformTimeRanges*) const (this=<optimized out>, __ptr=0x7f577d55a650) at /usr/include/c++/9.2.0/bits/unique_ptr.h:81 #27 0x00007f707d1c7f16 in std::default_delete<WebCore::PlatformTimeRanges>::operator()(WebCore::PlatformTimeRanges*) const (this=0x7ffc0fb72580, __ptr=0x7f577d55a650) at /usr/include/c++/9.2.0/bits/unique_ptr.h:75 #28 0x00007f707d1c7f16 in std::unique_ptr<WebCore::PlatformTimeRanges, std::default_delete<WebCore::PlatformTimeRanges> >::~unique_ptr() (this=0x7ffc0fb72580, __in_chrg=<optimized out>) at /usr/include/c++/9.2.0/bits/unique_ptr.h:284 #29 0x00007f707d1c7f16 in WebCore::MediaSource::monitorSourceBuffers() (this=<optimized out>) at ../Source/WebCore/Modules/mediasource/MediaSource.cpp:465 #30 0x00007f707d7a996c in JSC::ClassInfo::isSubClassOf(JSC::ClassInfo const*) const (other=<optimized out>, this=<optimized out>) at DerivedSources/ForwardingHeaders/JavaScriptCore/ClassInfo.h:209 #31 0x00007f707d7a996c in JSC::JSCell::inherits(JSC::VM&, JSC::ClassInfo const*) const (this=0x0, info=<optimized out>, vm=...) at DerivedSources/ForwardingHeaders/JavaScriptCore/JSCellInlines.h:314 #32 0x00007f707d7a996c in JSC::JSCastingHelpers::FinalTypeDispatcher<false>::inheritsGeneric<JSC::JSPromiseDeferred, JSC::JSCell>(JSC::VM&, JSC::JSCell*) (from=0x0, vm=...) at DerivedSources/ForwardingHeaders/JavaScriptCore/JSCast.h:93 #33 0x00007f707d7a996c in JSC::JSCastingHelpers::InheritsTraits<JSC::JSPromiseDeferred>::inherits<JSC::JSCell>(JSC::VM&, JSC::JSCell*) (from=0x0, vm=...) at DerivedSources/ForwardingHeaders/JavaScriptCore/JSCast.h:127 #34 0x00007f707d7a996c in JSC::jsDynamicCast<JSC::JSPromiseDeferred*, JSC::JSCell>(JSC::VM&, JSC::JSCell*) (from=0x0, vm=...) at DerivedSources/ForwardingHeaders/JavaScriptCore/JSCast.h:155 #35 0x00007f707d7a996c in JSC::jsDynamicCast<JSC::JSPromiseDeferred*>(JSC::VM&, JSC::JSValue) (from=..., vm=...) at DerivedSources/ForwardingHeaders/JavaScriptCore/JSCast.h:165 #36 0x00007f707d7a996c in WebCore::DOMGuarded<JSC::JSPromiseDeferred>::guarded() const (this=0x7f57090832b8) at ../Source/WebCore/bindings/js/JSDOMGuardedObject.h:63 #37 0x00007f707d7a996c in WebCore::DeferredPromise::deferred() const (this=0x7f57090832b8) at ../Source/WebCore/bindings/js/JSDOMPromiseDeferred.h:146 #38 0x00007f707d7a996c in WebCore::DeferredPromise::resolve(JSC::ExecState&, JSC::JSValue) (resolution=..., state=..., this=0x7f57090832b8) at ../Source/WebCore/bindings/js/JSDOMPromiseDeferred.h:150 #39 0x00007f707d7a996c in WebCore::DeferredPromise::resolve() (this=0x7f57090832b8) at ../Source/WebCore/bindings/js/JSDOMPromiseDeferred.h:78 #40 0x00007f707d7a996c in WebCore::DeferredPromise::resolve() (this=0x7f57090832b8) at ../Source/WebCore/bindings/js/JSDOMPromiseDeferred.h:70 #41 0x00007f707d7a996c in WebCore::DOMPromiseDeferred<void>::resolve() (this=0x7f5787713640) at ../Source/WebCore/bindings/js/JSDOMPromiseDeferred.h:240 #42 0x00007f707d7a996c in WebCore::HTMLMediaElement::resolvePendingPlayPromises(WTF::Vector<WebCore::DOMPromiseDeferred<void>, 0ul, WTF::CrashOnOverflow, 16ul>&&) (this=<optimized out>, pendingPlayPromises=...) at ../Source/WebCore/html/HTMLMediaElement.cpp:1046 #43 0x00007f707459dcd0 in () #44 0x00007f707a772a20 in WTF::GRefPtr<_GMainLoop>::~GRefPtr() (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../Source/WTF/wtf/glib/GRefPtr.h:74 #45 0x00007f707a772a20 in WTF::RunLoop::stop() (this=<optimized out>) at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:116 #46 0x413264799c651000 in () #47 0x0000000000000000 in ()
Attachments
Add attachment
proposed patch, testcase, etc.
Michael Catanzaro
Comment 1
2019-09-01 05:27:23 PDT
I was able to get 30 frames of full backtrace before gdb crashed: (gdb) bt full #0 0x00007f707e250d18 in WTF::doubleHash(unsigned int) (key=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/DumbPtrTraits.h:43 entry = 0x7ffc0fb724d0 k = 0 i = 8 table = 0x0 sizeMask = 0 h = 1278070203 deletedEntry = 0x0 newEntry = <optimized out> oldEntry = <error reading variable> reinsertedEntry = <optimized out> i = <optimized out> oldTableSize = <optimized out> oldTable = 0x7f570b4c33c0 newEntry = 0x7f577d55b670 #1 0x00007f707e250d18 in WTF::HashTable<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > > >::lookupForWriting<WTF::IdentityHashTranslator<WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::PtrHash<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > > >, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >(WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > const&) (key=..., this=0x0) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:750 entry = 0x7ffc0fb724d0 k = 0 i = 8 table = 0x0 sizeMask = 0 h = 1278070203 deletedEntry = 0x0 newEntry = <optimized out> oldEntry = <error reading variable> reinsertedEntry = <optimized out> i = <optimized out> oldTableSize = <optimized out> oldTable = 0x7f570b4c33c0 newEntry = 0x7f577d55b670 #2 0x00007f707e250d18 in WTF::HashTable<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > > >::lookupForWriting(WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > const&) (key=..., this=0x0) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:469 newEntry = <optimized out> oldEntry = <error reading variable> reinsertedEntry = <optimized out> i = <optimized out> oldTableSize = <optimized out> --Type <RET> for more, q to quit, c to continue without paging--c oldTable = 0x7f570b4c33c0 newEntry = 0x7f577d55b670 #3 0x00007f707e250d18 in WTF::HashTable<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > > >::reinsert(WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >&&) (entry=..., this=0x0) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:1030 newEntry = <optimized out> oldEntry = <error reading variable> reinsertedEntry = <optimized out> i = <optimized out> oldTableSize = <optimized out> oldTable = 0x7f570b4c33c0 newEntry = 0x7f577d55b670 #4 0x00007f707e250d18 in WTF::HashTable<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > >, WTF::HashTraits<WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> > > >::rehash(unsigned int, WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >*) (this=0x0, newTableSize=<optimized out>, entry=0x7ffc0fb72490) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:1293 oldEntry = <error reading variable> reinsertedEntry = <optimized out> i = <optimized out> oldTableSize = <optimized out> oldTable = 0x7f570b4c33c0 newEntry = 0x7f577d55b670 #5 0x00007f577d55ac10 in () #6 0x00007f577d55b970 in () #7 0x00007f707e2538f2 in WTF::Vector<_GstAppSrc*, 0ul, WTF::CrashOnOverflow, 16ul>::expandCapacity(unsigned long) (this=0x7f707e24f323 <WebCore::MediaSourceClientGStreamerMSE::append(WTF::RefPtr<WebCore::SourceBufferPrivateGStreamer, WTF::DumbPtrTraits<WebCore::SourceBufferPrivateGStreamer> >, WTF::Vector<unsigned char, 0ul, WTF::CrashOnOverflow, 16ul>&&)+227>, newMinCapacity=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Vector.h:327 #8 0x00007f702411cf30 in () #9 0x00007f702411d080 in () #10 0x00007f707d1cd15f in WTF::HashTable<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >::isEmptyOrDeletedBucket(WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> const&) (value=...) at DerivedSources/ForwardingHeaders/wtf/text/WTFString.h:367 trackBuffer = <optimized out> newTimestampOffset = {static DefaultTimeScale = 10000000, static MaximumTimeScale = 1000000000, {m_timeValue = 140720572147072, m_timeValueAsDouble = 6.9525200360992858e-310}, m_timeScale = 2099018659, m_timeFlags = 112 'p'} #11 0x00007f707d1cd15f in WTF::HashTableConstIterator<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >::skipEmptyBuckets() (this=<optimized out>, this=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:121 trackBuffer = <optimized out> newTimestampOffset = {static DefaultTimeScale = 10000000, static MaximumTimeScale = 1000000000, {m_timeValue = 140720572147072, m_timeValueAsDouble = 6.9525200360992858e-310}, m_timeScale = 2099018659, m_timeFlags = 112 'p'} #12 0x00007f707d1cd15f in WTF::HashTableConstIterator<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >::operator++() (this=<synthetic pointer>) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:183 trackBuffer = <optimized out> newTimestampOffset = {static DefaultTimeScale = 10000000, static MaximumTimeScale = 1000000000, {m_timeValue = 140720572147072, m_timeValueAsDouble = 6.9525200360992858e-310}, m_timeScale = 2099018659, m_timeFlags = 112 'p'} #13 0x00007f707d1cd15f in WTF::HashTableIterator<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >::operator++() (this=<synthetic pointer>) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:266 trackBuffer = <optimized out> newTimestampOffset = {static DefaultTimeScale = 10000000, static MaximumTimeScale = 1000000000, {m_timeValue = 140720572147072, m_timeValueAsDouble = 6.9525200360992858e-310}, m_timeScale = 2099018659, m_timeFlags = 112 'p'} #14 0x00007f707d1cd15f in WTF::HashTableIteratorAdapter<WTF::HashTable<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >::operator++() (this=<synthetic pointer>) at DerivedSources/ForwardingHeaders/wtf/HashIterators.h:74 trackBuffer = <optimized out> newTimestampOffset = {static DefaultTimeScale = 10000000, static MaximumTimeScale = 1000000000, {m_timeValue = 140720572147072, m_timeValueAsDouble = 6.9525200360992858e-310}, m_timeScale = 2099018659, m_timeFlags = 112 'p'} #15 0x00007f707d1cd15f in WTF::HashTableValuesIterator<WTF::HashTable<WTF::AtomString, WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer> >, WTF::AtomStringHash, WTF::HashMap<WTF::AtomString, WebCore::SourceBuffer::TrackBuffer, WTF::AtomStringHash, WTF::HashTraits<WTF::AtomString>, WTF::HashTraits<WebCore::SourceBuffer::TrackBuffer> >::KeyValuePairTraits, WTF::HashTraits<WTF::AtomString> >, WTF::AtomString, WebCore::SourceBuffer::TrackBuffer>::operator++() (this=<synthetic pointer>) at DerivedSources/ForwardingHeaders/wtf/HashIterators.h:157 trackBuffer = <optimized out> newTimestampOffset = {static DefaultTimeScale = 10000000, static MaximumTimeScale = 1000000000, {m_timeValue = 140720572147072, m_timeValueAsDouble = 6.9525200360992858e-310}, m_timeScale = 2099018659, m_timeFlags = 112 'p'} #16 0x00007f707d1cd15f in WebCore::SourceBuffer::setTimestampOffset(double) (this=<optimized out>, offset=6.9175979694419147e-310) at ../Source/WebCore/Modules/mediasource/SourceBuffer.cpp:186 trackBuffer = <optimized out> newTimestampOffset = {static DefaultTimeScale = 10000000, static MaximumTimeScale = 1000000000, {m_timeValue = 140720572147072, m_timeValueAsDouble = 6.9525200360992858e-310}, m_timeScale = 2099018659, m_timeFlags = 112 'p'} #17 0x00007ffc0fb725d0 in () #18 0x00007f707a772a20 in WTF::GRefPtr<_GMainLoop>::~GRefPtr() (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../Source/WTF/wtf/glib/GRefPtr.h:74 ptr = 0x0 lastMainLoop = {m_ptr = 0x0} #19 0x00007f707a772a20 in WTF::RunLoop::stop() (this=<optimized out>) at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:116 lastMainLoop = {m_ptr = 0x0} #20 0x00007f707ae96280 in g_source_callback_funcs () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #21 0x000055aa4d777950 in () #22 0x00007f707d1c7f16 in WTF::VectorDestructor<true, WebCore::PlatformTimeRanges::Range>::destruct(WebCore::PlatformTimeRanges::Range*, WebCore::PlatformTimeRanges::Range*) (end=<optimized out>, begin=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Vector.h:63 cur = 0x7f707a772a20 <WTF::RunLoop::stop()+96> __ptr = @0x7ffc0fb72580: 0x0 ranges = {_M_t = {_M_t = {<std::_Tuple_impl<0, WebCore::PlatformTimeRanges*, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Tuple_impl<1, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Head_base<1, std::default_delete<WebCore::PlatformTimeRanges>, true>> = {<std::default_delete<WebCore::PlatformTimeRanges>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0, WebCore::PlatformTimeRanges*, false>> = {_M_head_impl = 0x0}, <No data fields>}, <No data fields>}}} #23 0x00007f707d1c7f16 in WTF::VectorTypeOperations<WebCore::PlatformTimeRanges::Range>::destruct(WebCore::PlatformTimeRanges::Range*, WebCore::PlatformTimeRanges::Range*) (end=0x413264799c651000, begin=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Vector.h:243 __ptr = @0x7ffc0fb72580: 0x0 ranges = {_M_t = {_M_t = {<std::_Tuple_impl<0, WebCore::PlatformTimeRanges*, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Tuple_impl<1, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Head_base<1, std::default_delete<WebCore::PlatformTimeRanges>, true>> = {<std::default_delete<WebCore::PlatformTimeRanges>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0, WebCore::PlatformTimeRanges*, false>> = {_M_head_impl = 0x0}, <No data fields>}, <No data fields>}}} #24 0x00007f707d1c7f16 in WTF::Vector<WebCore::PlatformTimeRanges::Range, 0ul, WTF::CrashOnOverflow, 16ul>::~Vector() (this=0x7f577d55a650, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Vector.h:675 __ptr = @0x7ffc0fb72580: 0x0 ranges = {_M_t = {_M_t = {<std::_Tuple_impl<0, WebCore::PlatformTimeRanges*, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Tuple_impl<1, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Head_base<1, std::default_delete<WebCore::PlatformTimeRanges>, true>> = {<std::default_delete<WebCore::PlatformTimeRanges>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0, WebCore::PlatformTimeRanges*, false>> = {_M_head_impl = 0x0}, <No data fields>}, <No data fields>}}} #25 0x00007f707d1c7f16 in WebCore::PlatformTimeRanges::~PlatformTimeRanges() (this=0x7f577d55a650, __in_chrg=<optimized out>) at ../Source/WebCore/platform/graphics/PlatformTimeRanges.h:39 __ptr = @0x7ffc0fb72580: 0x0 ranges = {_M_t = {_M_t = {<std::_Tuple_impl<0, WebCore::PlatformTimeRanges*, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Tuple_impl<1, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Head_base<1, std::default_delete<WebCore::PlatformTimeRanges>, true>> = {<std::default_delete<WebCore::PlatformTimeRanges>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0, WebCore::PlatformTimeRanges*, false>> = {_M_head_impl = 0x0}, <No data fields>}, <No data fields>}}} #26 0x00007f707d1c7f16 in std::default_delete<WebCore::PlatformTimeRanges>::operator()(WebCore::PlatformTimeRanges*) const (this=<optimized out>, __ptr=0x7f577d55a650) at /usr/include/c++/9.2.0/bits/unique_ptr.h:81 __ptr = @0x7ffc0fb72580: 0x0 ranges = {_M_t = {_M_t = {<std::_Tuple_impl<0, WebCore::PlatformTimeRanges*, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Tuple_impl<1, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Head_base<1, std::default_delete<WebCore::PlatformTimeRanges>, true>> = {<std::default_delete<WebCore::PlatformTimeRanges>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0, WebCore::PlatformTimeRanges*, false>> = {_M_head_impl = 0x0}, <No data fields>}, <No data fields>}}} #27 0x00007f707d1c7f16 in std::default_delete<WebCore::PlatformTimeRanges>::operator()(WebCore::PlatformTimeRanges*) const (this=0x7ffc0fb72580, __ptr=0x7f577d55a650) at /usr/include/c++/9.2.0/bits/unique_ptr.h:75 __ptr = @0x7ffc0fb72580: 0x0 ranges = {_M_t = {_M_t = {<std::_Tuple_impl<0, WebCore::PlatformTimeRanges*, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Tuple_impl<1, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Head_base<1, std::default_delete<WebCore::PlatformTimeRanges>, true>> = {<std::default_delete<WebCore::PlatformTimeRanges>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0, WebCore::PlatformTimeRanges*, false>> = {_M_head_impl = 0x0}, <No data fields>}, <No data fields>}}} #28 0x00007f707d1c7f16 in std::unique_ptr<WebCore::PlatformTimeRanges, std::default_delete<WebCore::PlatformTimeRanges> >::~unique_ptr() (this=0x7ffc0fb72580, __in_chrg=<optimized out>) at /usr/include/c++/9.2.0/bits/unique_ptr.h:284 __ptr = @0x7ffc0fb72580: 0x0 ranges = {_M_t = {_M_t = {<std::_Tuple_impl<0, WebCore::PlatformTimeRanges*, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Tuple_impl<1, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Head_base<1, std::default_delete<WebCore::PlatformTimeRanges>, true>> = {<std::default_delete<WebCore::PlatformTimeRanges>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0, WebCore::PlatformTimeRanges*, false>> = {_M_head_impl = 0x0}, <No data fields>}, <No data fields>}}} #29 0x00007f707d1c7f16 in WebCore::MediaSource::monitorSourceBuffers() (this=<optimized out>) at ../Source/WebCore/Modules/mediasource/MediaSource.cpp:465 ranges = {_M_t = {_M_t = {<std::_Tuple_impl<0, WebCore::PlatformTimeRanges*, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Tuple_impl<1, std::default_delete<WebCore::PlatformTimeRanges> >> = {<std::_Head_base<1, std::default_delete<WebCore::PlatformTimeRanges>, true>> = {<std::default_delete<WebCore::PlatformTimeRanges>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0, WebCore::PlatformTimeRanges*, false>> = {_M_head_impl = 0x0}, <No data fields>}, <No data fields>}}} #30 0x00007f707d7a996c in JSC::ClassInfo::isSubClassOf(JSC::ClassInfo const*) const (other=<optimized out>, this=<optimized out>) at DerivedSources/ForwardingHeaders/JavaScriptCore/ClassInfo.h:209 ci = 0x8 exec = 0x7f570b4c0a80 Traceback (most recent call last): File "/usr/bin/flatpak-coredumpctl", line 83, in <module> coredumper.run() File "/usr/bin/flatpak-coredumpctl", line 58, in run subprocess.check_call(flatpak_command) File "/usr/lib64/python3.7/subprocess.py", line 347, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['flatpak', 'run', '--filesystem=home', '--filesystem=/tmp', '--command=gdb', '--devel', 'org.gnome.Epiphany.Devel//master', '/usr/libexec/webkit2gtk-4.0/WebKitWebProcess', '/tmp/tmp_oo28pr_']' returned non-zero exit status 139.
Alicia Boya García
Comment 2
2019-09-02 12:22:51 PDT
Unfortunately the provided traceback is not very useful. There are many regions without symbols, and those where they were found, it's not clear how that call stack can even be happening. #18 0x00007f707a772a20 in WTF::GRefPtr<_GMainLoop>::~GRefPtr() (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../Source/WTF/wtf/glib/GRefPtr.h:74 ptr = 0x0 lastMainLoop = {m_ptr = 0x0} If ptr was really zero there would be no inner calls: ~GRefPtr() { if (T* ptr = m_ptr) derefGPtr(ptr); } The only explanation for that is that it was optimized out but the debugger was unable to mark it as such... or the stack was corrupted. #15 0x00007f707d1cd15f in HashTableValuesIterator<HashTable<AtomString, KeyValuePair<AtomString, SourceBuffer::TrackBuffer>, [...]>:: operator++() (this=<synthetic pointer>) at DerivedSources/ForwardingHeaders/wtf/HashIterators.h:157 #16 0x00007f707d1cd15f in WebCore::SourceBuffer::setTimestampOffset(double) (this=<optimized out>, offset=6.9175979694419147e-310) at ../Source/WebCore/Modules/mediasource/SourceBuffer.cpp:186 #17 0x00007ffc0fb725d0 in () #18 0x00007f707a772a20 in WTF::GRefPtr<_GMainLoop>::~GRefPtr() (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../Source/WTF/wtf/glib/GRefPtr.h:74 That GMainLoop unref' somehow ends up triggering SourceBuffer::setTimestampOffset(), which is the first MSE piece of code here. In particular, it has to be crashing while traversing this iterator, since it's the only one in that function: for (auto& trackBuffer : m_trackBufferMap.values()) { [...] } So far so good, but then this happens... #7 0x00007f707e2538f2 in WTF::Vector<_GstAppSrc*>::expandCapacity(unsigned long) (this=0x7f707e24f323 <MediaSourceClientGStreamerMSE::append(RefPtr<SourceBufferPrivateGStreamer>, Vector<unsigned char>&&)+227>, newMinCapacity=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Vector.h:327 #8 0x00007f702411cf30 in () #9 0x00007f702411d080 in () #10 0x00007f707d1cd15f in HashTable<AtomString, KeyValuePair<AtomString, SourceBuffer::TrackBuffer>, [...]>::isEmptyOrDeletedBucket(KeyValuePair<AtomString, SourceBuffer::TrackBuffer> const&) (value=...) at DerivedSources/ForwardingHeaders/wtf/text/WTFString.h:367 [more HashMap iterator internals] How come advancing an iterator causes a Vector<GstAppSrc*> to expand capacity? That makes absolutely no sense. And the `this` argument of that call makes even less sense! It's not even a vector, but a pointer to the program code. The most plausible explanation for a stack like this is a stack corruption. Unfortunately by the time the program crashes it's already late to see the culprit. If you can get an asan traceback where the actual corruption occurs, that would be actually helpful.
Alicia Boya García
Comment 3
2019-09-02 12:24:48 PDT
BTW, what revision this did occur in?
Michael Catanzaro
Comment 4
2019-09-02 13:44:10 PDT
(In reply to Alicia Boya García from
comment #3
)
> BTW, what revision this did occur in?
2.25.4 (In reply to Alicia Boya García from
comment #2
)
> The most plausible explanation for a stack like this is a stack corruption.
Very plausible. We have a serious problem with both UI process and web process memory corruption right now.
Bug #199295
could be related.
> Unfortunately by the time the program crashes it's already late to see the > culprit. If you can get an asan traceback where the actual corruption > occurs, that would be actually helpful.
No chance of this, because the crash is not reproducible. My attempts to make asan builds of Tech Preview have all failed anyway. Help welcome.
Alicia Boya García
Comment 5
2019-09-04 07:53:32 PDT
I'm closing this as INVALID since there is not enough information to investigate the bug. It also does not need necessarily have anything to do with GStreamer or SourceBufferPrivateGStreamer; even if calls to these methods were made recently, the stack corruption may have occurred anywhere. It may indeed be a duplicate of
https://bugs.webkit.org/show_bug.cgi?id=199295
or it may be a different bug, but there is not much we can do with the information so far.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug