ChijinZ / SaGe-Browser-Fuzzer

a browser fuzzer
28 stars 8 forks source link

'Cannot Find a Suitable Creator' On Default Install #1

Closed wowitsjack closed 9 months ago

wowitsjack commented 9 months ago

Issue Title

'Cannot Find a Suitable Creator' Error on Default Install in Ubuntu 22

Description

After cloning the repository and following the example commands provided in the README, I encountered a 'Cannot Find a Suitable Creator' error. This occurred on a system running Ubuntu 22. No modifications were made to the setup or configuration; the issue arose during the default installation process.

Steps to Reproduce

  1. Clone the repository on Ubuntu 22.
  2. Follow the example commands provided in the README for setup and installation.
  3. Observe the 'Cannot Find a Suitable Creator' error during the execution of these commands.

Expected Behavior

I expected the installation and setup to proceed without errors, as per the instructions in the README.

Actual Behavior

During the fuzzing process, the system throws a 'Cannot Find a Suitable Creator' error. This happens during the running of the commands as instructed in the README.

Possible Solution

Additional Context

ChijinZ commented 9 months ago

Hi @wowitsjack , thank you for your report. SaGe is compatible with Ubuntu 22.04 LTS. I tried it several times. I think I need more information for this issue.

Does the "Cannot Find a Suitable Creator" error happen frequently? What browser and version did you try to fuzz? I would appreciate if you can paste the output information in your running to help me locate this issue.

wowitsjack commented 9 months ago

Happens extremely frequently, like with every new browser spawn,

Target:

Firefox-ASAN: https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.mozilla-central.shippable.latest.firefox.linux64-asan-reporter-opt/artifacts/public/build/target.tar.bz2

Run command:

export COLLECT_TREE_INFO=true USE_INVALID_TREE=true PRINT_TIME=true INVALID_TREE_PATH="$(pwd)/invalid_tree/invalid_tree.pickle" RULE_INFO_PATH="$(pwd)/invalid_tree/global_info.pickle" FIREFOXDRIVER_PATH="$HOME/momo/geckodriver" FIREFOX_PATH="$HOME/momo/ff-asan/firefox-bin" && python3 main.py -t 10000 -b firefox -p 10 -o $(pwd)/output

Error:

INFO:root:[8]: msg from domato process: removed for redundant: ['GPUBindingResource']
INFO:root:[1]: msg from domato process: Error parsing line attribute values:
INFO:root:[1]: msg from domato process: html parsed
INFO:root:[1]: msg from domato process: css parsed
INFO:root:[1]: msg from domato process: collect tree info
INFO:root:[1]: msg from domato process: use invalid tree
INFO:root:[1]: msg from domato process: successfully initialize invalid tree!
INFO:root:[1]: msg from domato process: not set BROWSER_GRAMMAR, default webref_js
INFO:root:[1]: msg from domato process: BROWSER_GRAMMAR is invalid: None, default webref_js
INFO:root:[1]: msg from domato process: Error parsing line attribute values:
INFO:root:[1]: msg from domato process: removed for redundant: ['AnimationWorkletGlobalScope', 'AudioSinkInfo', 'AudioWorkletGlobalScope', 'AuthenticatorAssertionResponse', 'AuthenticatorAttestationResponse', 'BatteryManager', 'BluetoothPermissionResult', 'BluetoothUUID', 'BreakToken', 'CSPViolationReportBody', 'CSSAnimation', 'CSSColorProfileRule', 'CSSContainerRule', 'CSSCounterStyleRule', 'CSSFontFeatureValuesRule', 'CSSFontPaletteValuesRule', 'CSSImageValue', 'CSSLCH', 'CSSLayerBlockRule', 'CSSLayerStatementRule', 'CSSLengthValue', 'CSSMarginRule', 'CSSOKLCH', 'CSSPropertyRule', 'CSSTransition', 'Cache', 'CanvasCaptureMediaStreamTrack', 'ContactAddress', 'CrashReportBody', 'CropTarget', 'CryptoKey', 'DedicatedWorkerGlobalScope', 'DeprecationReportBody', 'DigitalGoodsService', 'EXT_clip_cull_distance', 'EXT_disjoint_timer_query_webgl2', 'EXT_texture_norm16', 'FileSystemDirectoryHandle', 'FileSystemFileEntry', 'FileSystemSyncAccessHandle', 'FileSystemWritableFileStream', 'FontFaceVariationAxis', 'GPUAdapter', 'GPUAdapterInfo', 'GPUCanvasContext', 'GPUCompilationInfo', 'GPUDevice', 'GPUDeviceLostInfo', 'GeolocationPosition', 'GeolocationPositionError', 'HTMLContentElement', 'HTMLHyperlinkElementUtils', 'HTMLKeygenElement', 'HTMLMenuItemElement', 'IDBCursorWithValue', 'IdentityCredential', 'IdentityProvider', 'IdleDeadline', 'ImageBitmapRenderingContext', 'InkPresenter', 'InputDeviceInfo', 'InterventionReportBody', 'IntrinsicSizes', 'LargestContentfulPaint', 'LaunchParams', 'LayoutConstraints', 'LayoutEdges', 'LayoutFragment', 'LayoutShift', 'LayoutWorkletGlobalScope', 'Lock', 'MIDIAccess', 'MIDIInput', 'MIDIOutput', 'MediaKeySystemAccess', 'NamedFlow', 'OES_draw_buffers_indexed', 'OTPCredential', 'OVR_multiview2', 'OffscreenCanvasRenderingContext2D', 'PaintRenderingContext2D', 'PaintSize', 'PaintWorkletGlobalScope', 'PaymentResponse', 'PerformanceElementTiming', 'PerformanceEventTiming', 'PerformanceLongTaskTiming', 'PerformanceNavigationTiming', 'PerformanceObserverEntryList', 'PerformancePaintTiming', 'PermissionsPolicyViolationReportBody', 'PresentationAvailability', 'PresentationConnectionList', 'PublicKeyCredential', 'RTCCertificate', 'RTCEncodedAudioFrame', 'RTCEncodedVideoFrame', 'RTCIdentityProviderGlobalScope', 'RTCTransformEvent', 'RadioNodeList', 'ReadableByteStreamController', 'ReadableStreamDefaultController', 'SVGDiscardElement', 'SVGUseElementShadowRoot', 'ScreenDetails', 'ScriptingPolicyReportBody', 'ServiceWorkerGlobalScope', 'SharedWorkerGlobalScope', 'TaskSignal', 'TimeEvent', 'TransformStreamDefaultController', 'USBPermissionResult', 'WEBGL_blend_equation_advanced_coherent', 'WEBGL_compressed_texture_astc', 'WEBGL_compressed_texture_etc', 'WEBGL_compressed_texture_etc1', 'WEBGL_compressed_texture_pvrtc', 'WEBGL_draw_instanced_base_vertex_base_instance', 'WEBGL_multi_draw_instanced_base_vertex_base_instance', 'WakeLockSentinel', 'WebTransportBidirectionalStream', 'WindowClient', 'WorkletGroupEffect', 'WritableStreamDefaultController', 'XRAnchor', 'XRBoundedReferenceSpace', 'XRHitTestSource', 'XRLightProbe', 'XRPermissionStatus', 'XRTransientInputHitTestSource', 'htmlstring', 'undefined']
INFO:root:[1]: msg from domato process: removed for redundant: ['AuthenticatorResponse', 'CSSFontFeatureValuesMap', 'Clients', 'EcdhKeyDeriveParams', 'GPUBindGroup', 'GPUBuffer', 'GPUCommandEncoder', 'GPUComputePipeline', 'GPUExternalTexture', 'GPUPipelineLayout', 'GPUQuerySet', 'GPUQueue', 'GPURenderBundleEncoder', 'GPURenderPipeline', 'GPUSampler', 'GPUShaderModule', 'GPUSupportedLimits', 'GPUTexture', 'GeolocationCoordinates', 'IDBCursor', 'MediaCapabilitiesDecodingInfo', 'PerformanceResourceTiming', 'PermissionStatus', 'RTCIdentityProviderRegistrar', 'RTCRtpScriptTransformer', 'ReadableStreamBYOBRequest', 'WebTransportReceiveStream', 'WebTransportSendStream', 'XRLightEstimate']
INFO:root:[1]: msg from domato process: removed for redundant: ['GPUBufferBinding', 'GPUComputePassEncoder', 'GPUImageCopyBuffer', 'GPURenderPassEncoder', 'GPUTextureView', 'MLBufferResourceView']
INFO:root:[1]: msg from domato process: removed for redundant: ['GPUBindingResource']
INFO:root:[8]: msg from domato process: removed for breaking acyclic: {'BackgroundFetchRegistration', 'BackgroundFetchEventInit', 'ReportBody', 'HIDInputReportEvent', 'sequence_SerialPort_', 'FrozenArray_PerformanceServerTiming_', 'USBConnectionEvent', 'NavigateEvent', 'FrozenArray_XRInputSource_', 'PeriodicSyncManager', 'CookieStoreManager', 'FrozenArray_XRTransientInputHitTestResult_', 'XRView', 'XRWebGLSubImage', 'XRWebGLBinding', 'GPUCompilationMessage', 'WorkletAnimationEffect', 'sequence_ResizeObserverEntry_', 'FrozenArray_LayoutShiftAttribution_', 'WorkerNavigator', 'XRInputSource', 'PresentationConnectionAvailableEventInit', 'NavigationPreloadManager', 'sequence_GPUComputePassTimestampWrite_', 'union_Client1undefined_', 'sequence_MediaDeviceInfo_', 'XRInputSourceEventInit', 'USBInterface', 'SerialPort', 'FontData', 'ServiceWorkerRegistration', 'sequence_BluetoothRemoteGATTService_', 'XRJointSpace', 'XRRenderState', 'SyncManager', 'sequence_FontData_', 'PresentationConnection', 'XRWebGLLayer', 'FrozenArray_USBAlternateInterface_', 'XRTransientInputHitTestResult', 'sequence_GPURenderPassColorAttachment_', 'FrozenArray_ResizeObserverSize_', 'sequence_GPUBindGroupLayout_', 'sequence_XRJointSpace_', 'FrozenArray_XRLayer_', 'GPURenderPassTimestampWrites', 'XRSessionEvent', 'union_ServiceWorkerRegistration1undefined_', 'BluetoothRemoteGATTCharacteristic', 'MLGPUResource', 'MediaDeviceInfo', 'sequence_GPUBindGroupEntry_', 'XRCPUDepthInformation', 'XRReferenceSpaceEvent', 'GPUComputePassTimestampWrite', 'BackgroundFetchManager', 'FrozenArray_ScreenDetailed_', 'XRLayer', 'XRCompositionLayer', 'sequence_BluetoothRemoteGATTDescriptor_', 'ResizeObserverEntry', 'XRInputSourcesChangeEvent', 'FileSystemFileHandle', 'sequence_Report_', 'sequence_GPURenderPassTimestampWrite_', 'BluetoothRemoteGATTService', 'TaskAttributionTiming', 'sequence_BackgroundFetchRecord_', 'XRCubeLayer', 'XRInputSourcesChangeEventInit', 'XRSession', 'FrozenArray_USBEndpoint_', 'BrowserCaptureMediaStreamTrack', 'WorkerGlobalScope', 'NavigationDestination', 'sequence_XRSpace_', 'FrozenArray_USBDevice_', 'LayoutChild', 'FrozenArray_GPUCompilationMessage_', 'XRViewport', 'ResizeObserverSize', 'FrozenArray_ChildBreakToken_', 'GPUBindGroupLayout', 'FrozenArray_TaskAttributionTiming_', 'USBConnectionEventInit', 'FileSystemPermissionDescriptor', 'BackgroundFetchEvent', 'GPUPipelineLayoutDescriptor', 'GPUBindGroupDescriptor', 'FrozenArray_USBConfiguration_', 'Report', 'USBEndpoint', 'LayoutShiftAttribution', 'sequence_BluetoothRemoteGATTCharacteristic_', 'sequence_HIDDevice_', 'XRSpace', 'FrozenArray_FileSystemHandle_', 'XRCylinderLayer', 'WorkerLocation', 'XRMediaBinding', 'XRSessionEventInit', 'FrozenArray_XRHitTestResult_', 'GPUBindGroupEntry', 'PaymentManager', 'USBDevice', 'XREquirectLayer', 'XRCamera', 'USBAlternateInterface', 'XRQuadLayer', 'USBConfiguration', 'XRSubImage', 'XRDepthInformation', 'PushManager', 'sequence_USBDevice_', 'GPURenderPassTimestampWrite', 'HIDConnectionEventInit', 'GPURenderPassColorAttachment', 'XRViewerPose', 'PictureInPictureEventInit', 'PictureInPictureEvent', 'XRWebGLDepthInformation', 'PictureInPictureWindow', 'XRProjectionLayer', 'GPUComputePassTimestampWrites', 'sequence_GPURenderBundle_', 'ChildBreakToken', 'XRJointPose', 'XRHand', 'XRHitTestOptionsInit', 'PerformanceServerTiming', 'record_DOMString1MLGPUResource_', 'XRLayerEventInit', 'XRHitTestResult', 'FrozenArray_PresentationConnection_', 'XRReferenceSpace', 'XRLayerEvent', 'sequence_WorkletAnimationEffect_', 'sequence_FileSystemFileHandle_', 'FrozenArray_ServiceWorkerRegistration_', 'FrozenArray_USBInterface_', 'ScreenDetailed', 'FrozenArray_Client_', 'BackgroundFetchRecord', 'GPURenderPassDescriptor', 'ContentIndex', 'BluetoothRemoteGATTDescriptor', 'IDBKeyRange', 'FileSystemHandle', 'BluetoothCharacteristicProperties', 'FrozenArray_XRView_', 'MLNamedGPUResources', 'HIDDevice', 'Client', 'XRPose', 'GPURenderBundle', 'XRAnchorSet', 'HIDConnectionEvent', 'XRInputSourceEvent', 'XRReferenceSpaceEventInit', 'PresentationConnectionAvailableEvent', 'XRInputSourceArray', 'XRFrame', 'HIDInputReportEventInit', 'NavigateEventInit', 'BackgroundFetchUpdateUIEvent'}
INFO:root:[1]: msg from domato process: removed for breaking acyclic: {'FrozenArray_PresentationConnection_', 'sequence_WorkletAnimationEffect_', 'BluetoothRemoteGATTService', 'sequence_FileSystemFileHandle_', 'WorkerNavigator', 'XRTransientInputHitTestResult', 'XRDepthInformation', 'FrozenArray_USBDevice_', 'PaymentManager', 'MLGPUResource', 'XRHitTestResult', 'FileSystemFileHandle', 'FrozenArray_USBConfiguration_', 'XRInputSourcesChangeEvent', 'sequence_Report_', 'FrozenArray_ResizeObserverSize_', 'XRCamera', 'FrozenArray_XRTransientInputHitTestResult_', 'PeriodicSyncManager', 'GPUBindGroupDescriptor', 'FrozenArray_ScreenDetailed_', 'BluetoothRemoteGATTDescriptor', 'sequence_GPURenderPassTimestampWrite_', 'FrozenArray_USBInterface_', 'NavigateEvent', 'sequence_ResizeObserverEntry_', 'sequence_FontData_', 'USBInterface', 'BluetoothCharacteristicProperties', 'XRLayer', 'PerformanceServerTiming', 'NavigateEventInit', 'USBConfiguration', 'XRReferenceSpace', 'GPURenderPassTimestampWrite', 'HIDConnectionEventInit', 'XRInputSourceArray', 'SyncManager', 'GPUComputePassTimestampWrites', 'FrozenArray_XRView_', 'FrozenArray_ChildBreakToken_', 'USBConnectionEventInit', 'FrozenArray_GPUCompilationMessage_', 'union_ServiceWorkerRegistration1undefined_', 'GPURenderPassTimestampWrites', 'USBConnectionEvent', 'ServiceWorkerRegistration', 'XRSessionEvent', 'union_Client1undefined_', 'sequence_GPUComputePassTimestampWrite_', 'PictureInPictureEvent', 'BackgroundFetchEventInit', 'XRWebGLSubImage', 'sequence_GPURenderPassColorAttachment_', 'XRAnchorSet', 'GPURenderBundle', 'GPUPipelineLayoutDescriptor', 'PushManager', 'BackgroundFetchRegistration', 'Report', 'sequence_HIDDevice_', 'ChildBreakToken', 'WorkerLocation', 'XRSpace', 'HIDInputReportEventInit', 'FrozenArray_USBAlternateInterface_', 'BackgroundFetchManager', 'FrozenArray_TaskAttributionTiming_', 'XRLayerEventInit', 'sequence_GPUBindGroupEntry_', 'PictureInPictureWindow', 'SerialPort', 'CookieStoreManager', 'GPURenderPassColorAttachment', 'WorkletAnimationEffect', 'MLNamedGPUResources', 'sequence_XRJointSpace_', 'XRSubImage', 'Client', 'XRCompositionLayer', 'USBDevice', 'FileSystemPermissionDescriptor', 'XRHitTestOptionsInit', 'XRWebGLBinding', 'WorkerGlobalScope', 'XRCPUDepthInformation', 'XRFrame', 'XRHand', 'sequence_XRSpace_', 'GPUBindGroupEntry', 'FrozenArray_USBEndpoint_', 'FontData', 'XRCylinderLayer', 'sequence_MediaDeviceInfo_', 'TaskAttributionTiming', 'BrowserCaptureMediaStreamTrack', 'GPURenderPassDescriptor', 'XRSessionEventInit', 'FrozenArray_XRLayer_', 'XRJointPose', 'NavigationDestination', 'XRInputSourceEventInit', 'XRLayerEvent', 'LayoutShiftAttribution', 'PresentationConnectionAvailableEvent', 'sequence_SerialPort_', 'ReportBody', 'XRCubeLayer', 'XRJointSpace', 'XRPose', 'XRInputSource', 'FrozenArray_Client_', 'HIDInputReportEvent', 'PictureInPictureEventInit', 'XREquirectLayer', 'XRView', 'ContentIndex', 'BackgroundFetchRecord', 'record_DOMString1MLGPUResource_', 'XRInputSourceEvent', 'HIDConnectionEvent', 'sequence_BluetoothRemoteGATTDescriptor_', 'USBEndpoint', 'MediaDeviceInfo', 'XRViewport', 'BackgroundFetchEvent', 'XRMediaBinding', 'IDBKeyRange', 'FrozenArray_FileSystemHandle_', 'XRReferenceSpaceEventInit', 'PresentationConnection', 'ScreenDetailed', 'BluetoothRemoteGATTCharacteristic', 'sequence_USBDevice_', 'sequence_GPUBindGroupLayout_', 'NavigationPreloadManager', 'FrozenArray_ServiceWorkerRegistration_', 'FrozenArray_LayoutShiftAttribution_', 'PresentationConnectionAvailableEventInit', 'XRInputSourcesChangeEventInit', 'XRWebGLDepthInformation', 'XRWebGLLayer', 'USBAlternateInterface', 'FrozenArray_XRHitTestResult_', 'XRProjectionLayer', 'ResizeObserverSize', 'XRQuadLayer', 'HIDDevice', 'sequence_BackgroundFetchRecord_', 'XRViewerPose', 'ResizeObserverEntry', 'FrozenArray_XRInputSource_', 'sequence_BluetoothRemoteGATTService_', 'XRSession', 'XRRenderState', 'FrozenArray_PerformanceServerTiming_', 'FileSystemHandle', 'BackgroundFetchUpdateUIEvent', 'GPUComputePassTimestampWrite', 'LayoutChild', 'sequence_BluetoothRemoteGATTCharacteristic_', 'sequence_GPURenderBundle_', 'XRReferenceSpaceEvent', 'GPUBindGroupLayout', 'GPUCompilationMessage'}

INFO:root:[8]: msg from domato process: Warning: cannot find a suitable creator
ChijinZ commented 9 months ago

It seems just a warning. Does it have any side effects such as terminating the fuzzing?

wowitsjack commented 9 months ago

It seems just a warning. Does it have any side effects such as terminating the fuzzing?

Doesn't look like it, was just unsure if something wasn't generating internally correctly.

Looks like it's still going just fine.

ChijinZ commented 9 months ago

It seems just a warning. Does it have any side effects such as terminating the fuzzing?

Doesn't look like it, was just unsure if something wasn't generating internally correctly.

Looks like it's still going just fine.

I look back the code and think I did handle this issue with try-catch to make sure that it won't break the fuzzing. Welcome to reopen this issue if there is anything abnormal.

wowitsjack commented 9 months ago

It seems just a warning. Does it have any side effects such as terminating the fuzzing?

Doesn't look like it, was just unsure if something wasn't generating internally correctly. Looks like it's still going just fine.

I look back the code and think I did handle this issue with try-catch to make sure that it won't break the fuzzing. Welcome to reopen this issue if there is anything abnormal.

Thanks! I'll keep experimenting and let you know.

I've sent you an email in the meantime.