зеркало из 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
|
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
|
||||||
|
|
Загрузка…
Ссылка в новой задаче