Initial commit: Canteen Asset Geolocation Tool v2
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Binary search for which Playwright default arg causes Chrome SIGTRAP on Ubuntu 26.04."""
|
||||
from playwright.sync_api import sync_playwright
|
||||
|
||||
default_args = [
|
||||
'--disable-field-trial-config',
|
||||
'--disable-background-networking',
|
||||
'--disable-background-timer-throttling',
|
||||
'--disable-backgrounding-occluded-windows',
|
||||
'--disable-back-forward-cache',
|
||||
'--disable-breakpad',
|
||||
'--disable-client-side-phishing-detection',
|
||||
'--disable-component-extensions-with-background-pages',
|
||||
'--disable-component-update',
|
||||
'--no-default-browser-check',
|
||||
'--disable-default-apps',
|
||||
'--disable-dev-shm-usage',
|
||||
'--disable-extensions',
|
||||
'--disable-features=AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Translate,AutoDeElevate,RenderDocument,OptimizationHints',
|
||||
'--enable-features=CDPScreenshotNewSurface',
|
||||
'--allow-pre-commit-input',
|
||||
'--disable-hang-monitor',
|
||||
'--disable-ipc-flooding-protection',
|
||||
'--disable-popup-blocking',
|
||||
'--disable-prompt-on-repost',
|
||||
'--disable-renderer-backgrounding',
|
||||
'--force-color-profile=srgb',
|
||||
'--metrics-recording-only',
|
||||
'--no-first-run',
|
||||
'--password-store=basic',
|
||||
'--use-mock-keychain',
|
||||
'--no-service-autorun',
|
||||
'--export-tagged-pdf',
|
||||
'--disable-search-engine-choice-screen',
|
||||
'--unsafely-disable-devtools-self-xss-warnings',
|
||||
'--edge-skip-compat-layer-relaunch',
|
||||
'--enable-automation',
|
||||
'--disable-infobars',
|
||||
'--disable-sync',
|
||||
'--enable-unsafe-swiftshader',
|
||||
'--hide-scrollbars',
|
||||
'--mute-audio',
|
||||
'--blink-settings=primaryHoverType=2,availableHoverTypes=2,primaryPointerType=4,availablePointerTypes=4',
|
||||
]
|
||||
|
||||
def test(ignored_flags):
|
||||
try:
|
||||
p = sync_playwright().start()
|
||||
b = p.chromium.launch(
|
||||
executable_path='/usr/bin/google-chrome-stable',
|
||||
headless=True,
|
||||
args=['--no-sandbox', '--disable-gpu'],
|
||||
ignore_default_args=ignored_flags,
|
||||
timeout=10000,
|
||||
)
|
||||
b.close()
|
||||
p.stop()
|
||||
return True
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
# Test groups
|
||||
suspects = [
|
||||
([a for a in default_args if 'disable-features' in a], 'disable-features'),
|
||||
([a for a in default_args if 'enable-features' in a], 'enable-features'),
|
||||
([a for a in default_args if 'blink-settings' in a or 'swiftshader' in a], 'blink/GPU'),
|
||||
([a for a in default_args if 'color-profile' in a or 'force-color' in a], 'color-profile'),
|
||||
]
|
||||
|
||||
for group, name in suspects:
|
||||
ok = test(group)
|
||||
print(f'{name}: {"OK" if ok else "CRASH (PROBLEM HERE)"}')
|
||||
Reference in New Issue
Block a user