зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1227347, part 2 - Remove leak suppressions for content processes. r=erahm
This commit is contained in:
Родитель
d32f8a4e5c
Коммит
db70afedca
|
@ -21,121 +21,6 @@ def _get_default_logger():
|
|||
return log
|
||||
|
||||
|
||||
# Do not add anything to this list, unless one of the existing leaks below
|
||||
# has started to leak additional objects. This function returns a dict
|
||||
# mapping the names of objects as reported to the XPCOM leak checker to an
|
||||
# upper bound on the number of leaked objects of that kind that are allowed
|
||||
# to appear in a content process leak report.
|
||||
def expectedTabProcessLeakCounts():
|
||||
leaks = {}
|
||||
|
||||
def appendExpectedLeakCounts(leaks2):
|
||||
for obj, count in leaks2.iteritems():
|
||||
leaks[obj] = leaks.get(obj, 0) + count
|
||||
|
||||
# Bug 1117203 - ImageBridgeChild is not shut down in tab processes.
|
||||
appendExpectedLeakCounts({
|
||||
'AsyncTransactionTrackersHolder': 1,
|
||||
'CondVar': 2,
|
||||
'IPC::Channel': 1,
|
||||
'MessagePump': 1,
|
||||
'Mutex': 2,
|
||||
'PImageBridgeChild': 1,
|
||||
'RefCountedMonitor': 1,
|
||||
'RefCountedTask': 2,
|
||||
'StoreRef': 1,
|
||||
'WaitableEventKernel': 1,
|
||||
'WeakReference<MessageListener>': 1,
|
||||
'base::Thread': 1,
|
||||
'ipc::MessageChannel': 1,
|
||||
'nsTArray_base': 7,
|
||||
'nsThread': 1,
|
||||
})
|
||||
|
||||
# Bug 1215265 - CompositorBridgeChild is not shut down.
|
||||
appendExpectedLeakCounts({
|
||||
'CompositorBridgeChild': 1,
|
||||
'CondVar': 1,
|
||||
'IPC::Channel': 1,
|
||||
'Mutex': 1,
|
||||
'PCompositorBridgeChild': 1,
|
||||
'RefCountedMonitor': 1,
|
||||
'RefCountedTask': 2,
|
||||
'StoreRef': 1,
|
||||
'WeakReference<MessageListener>': 1,
|
||||
'ipc::MessageChannel': 1,
|
||||
'nsTArray_base': 2,
|
||||
})
|
||||
|
||||
# Bug 1215265 - Windows-specific graphics leaks, maybe related to
|
||||
# CompositorBridgeChild and/or ImageBridgeChild not being shut down.
|
||||
if mozinfo.isWin:
|
||||
# Windows leaks comment to all content processes.
|
||||
# 2696 bytes leaked total on Win7.
|
||||
appendExpectedLeakCounts({
|
||||
'AsyncTransactionTrackersHolder': 1,
|
||||
'CompositableChild': 1,
|
||||
'Mutex': 1,
|
||||
'PCompositableChild': 1,
|
||||
'PImageContainerChild': 1,
|
||||
'SyncObject': 1,
|
||||
'WeakReference<MessageListener>': 2,
|
||||
})
|
||||
|
||||
# Various additional graphics-related Windows leaks in Mochitests.
|
||||
# M2 leaks in dom/media/tests/mochitest/ipc/
|
||||
# dt1 leaks in devtools/client/animationinspector/test/browser_animation_animated_properties_displayed.js
|
||||
# dt1 leaks in devtools/client/debugger/test/mochitest/ (additional leaks are intermittent?)
|
||||
# dt2 leaks in devtools/client/inspector/computed/test/
|
||||
# dt8 leaks in devtools/shared/worker/tests/browser/ (additional leaks are intermittent?)
|
||||
# gl leaks in dom/canvas/test/webgl-mochitest/
|
||||
appendExpectedLeakCounts({
|
||||
'AsyncTransactionTracker': 1,
|
||||
'AsyncTransactionTrackersHolder': 4,
|
||||
'AsyncTransactionWaiter': 1,
|
||||
'CompositableChild': 3,
|
||||
'CompositableClient': 3,
|
||||
'CondVar': 5,
|
||||
'DXGID3D9TextureData': 1,
|
||||
'FdObj': 2,
|
||||
'GfxTextureWasteTracker': 1,
|
||||
'IPC::Message': 1,
|
||||
'ITextureClientRecycleAllocator': 1,
|
||||
'LayerTransactionChild': 5,
|
||||
'Mutex': 7,
|
||||
'PCompositableChild': 3,
|
||||
'PImageContainerChild': 3,
|
||||
'PLayerTransactionChild': 5,
|
||||
'PTextureChild': 5,
|
||||
'RemoveTextureFromCompositableTracker': 1,
|
||||
'SharedMemory': 5,
|
||||
'SyncObject': 5,
|
||||
'TextureChild': 5,
|
||||
'TextureClientHolder': 1,
|
||||
'TextureData': 5,
|
||||
'WeakReference<MessageListener>': 10,
|
||||
'nsTArray_base': 17,
|
||||
})
|
||||
|
||||
# Canvas mochitests leak even more textures, as seen in bug 1252677.
|
||||
numExtraTextureLeaks = 4
|
||||
appendExpectedLeakCounts({
|
||||
'CondVar': numExtraTextureLeaks,
|
||||
'Mutex': numExtraTextureLeaks,
|
||||
'PTextureChild': numExtraTextureLeaks,
|
||||
'SharedMemory': numExtraTextureLeaks,
|
||||
'TextureChild': numExtraTextureLeaks,
|
||||
'TextureData': numExtraTextureLeaks,
|
||||
})
|
||||
|
||||
# dom/html/test/ mochitests leak even more stuff.
|
||||
appendExpectedLeakCounts({
|
||||
'WeakReference<MessageListener>': 3
|
||||
})
|
||||
|
||||
return leaks
|
||||
|
||||
|
||||
def process_single_leak_file(leakLogFileName, processType, leakThreshold,
|
||||
ignoreMissingLeaks, log=None,
|
||||
stackFixer=None):
|
||||
|
@ -155,7 +40,7 @@ def process_single_leak_file(leakLogFileName, processType, leakThreshold,
|
|||
log = log or _get_default_logger()
|
||||
|
||||
processString = "%s process:" % processType
|
||||
expectedLeaks = expectedTabProcessLeakCounts() if processType == 'tab' else {}
|
||||
expectedLeaks = {}
|
||||
crashedOnPurpose = False
|
||||
totalBytesLeaked = None
|
||||
logAsWarning = False
|
||||
|
|
Загрузка…
Ссылка в новой задаче