[Webkit-unassigned] [Bug 172395] New: WebAVStreamDataParserListener String leak
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri May 19 15:37:25 PDT 2017
https://bugs.webkit.org/show_bug.cgi?id=172395
Bug ID: 172395
Summary: WebAVStreamDataParserListener String leak
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Media Elements
Assignee: webkit-unassigned at lists.webkit.org
Reporter: joepeck at webkit.org
CC: cdumez at apple.com, ddkilzer at webkit.org,
eric.carlson at apple.com, jer.noble at apple.com,
joepeck at webkit.org
Summary:
WebAVStreamDataParserListener String leak seen after some browsing:
Leak: 0x7fa13af36e10 size=32 zone: WebKit Using System Malloc_0x1017e1000
0x00000002 0x00000004 0x3af36e24 0x00007fa1 ........$n.:....
0x00000008 0x31637661 0x20666f20 0x00023a33 ....avc1 of 3:..
Call stack: [thread 0x70000784a000]:
| start_wqthread
| _pthread_wqthread
| _dispatch_worker_thread4
| _dispatch_root_queue_drain
| _dispatch_async_redirect_invoke
| _dispatch_continuation_pop
| _dispatch_client_callout
| _dispatch_call_block_and_release
| ___ZN7WebCore26SourceBufferPrivateAVFObjC6appendEPKhj_block_invoke
| -[AVStreamDataParser appendStreamData:withFlags:]
| -[AVStreamDataParser _appendStreamData:withFlags:]
| 0x7fff89f705dc
| 0x7fff89f723ae
| 0x7fff89f7588e
| -[AVStreamDataParser(AVStreamDataParser_FigManifold) _figManifold:pushedSampleBuffer:trackID:flags:]
| -[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]
| WTF::String::String(NSString*)
| WTF::StringImpl::create(unsigned char const*, unsigned int)
| WTF::fastMalloc(unsigned long)
| bmalloc::DebugHeap::malloc(unsigned long)
There seem to be a few places doing:
String mediaType = ...;
callOnMainThread([..., mediaType, flags] {
...
});
String is not thread safe, so if this is cross thread (which the backtrace above appears to indicate) then we need to have an isolated copy for the lambda. A race condition may have caused the leak to happen here, and there could be worse issues.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170519/9b300a19/attachment.html>
More information about the webkit-unassigned
mailing list