Bug 1227347, part 2 - Remove leak suppressions for content processes. r=erahm

This commit is contained in:
Andrew McCreight 2016-04-26 11:46:28 -07:00
Родитель d32f8a4e5c
Коммит db70afedca
1 изменённых файлов: 1 добавлений и 116 удалений

Просмотреть файл

@ -21,121 +21,6 @@ def _get_default_logger():
return log 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, def process_single_leak_file(leakLogFileName, processType, leakThreshold,
ignoreMissingLeaks, log=None, ignoreMissingLeaks, log=None,
stackFixer=None): stackFixer=None):
@ -155,7 +40,7 @@ def process_single_leak_file(leakLogFileName, processType, leakThreshold,
log = log or _get_default_logger() log = log or _get_default_logger()
processString = "%s process:" % processType processString = "%s process:" % processType
expectedLeaks = expectedTabProcessLeakCounts() if processType == 'tab' else {} expectedLeaks = {}
crashedOnPurpose = False crashedOnPurpose = False
totalBytesLeaked = None totalBytesLeaked = None
logAsWarning = False logAsWarning = False