Igalia / wolvic-chromium

The official GitHub mirror of the Chromium source
https://chromium.googlesource.com/chromium/src/
BSD 3-Clause "New" or "Revised" License
11 stars 6 forks source link

Crash on PermissionRequest #54

Closed svillar closed 7 months ago

svillar commented 9 months ago

I got this one when trying to enter a WebXR experience IIRC

Stack Trace:
  RELADDR   FUNCTION                                                                          FILE:LINE
  v------>  base::ImmediateCrash()                                                            ../../base/immediate_crash.h:146:3
  0000000004c13d6c  logging::LogMessage::~LogMessage()                                                ../../base/logging.cc:959:7
  0000000004c958c8  base::android::CheckException(_JNIEnv*)                                           ../../base/android/jni_android.cc:289:3
  v------>  jni_generator::CheckException(_JNIEnv*)                                           ../../base/android/jni_generator/jni_generator_helper.h:53:3
  0000000002ecbae8  jni_generator::JniJavaCallContextChecked::~JniJavaCallContextChecked()            ../../base/android/jni_generator/jni_generator_helper.h:118:5
  v------>  wolvic::Java_PermissionManagerBridge_onPermissionRequest(_JNIEnv*, base::android::JavaRef<_jintArray*> const&, base::android::JavaRef<_jstring*> const&, unsigned char, long)  gen/jni_headers/wolvic/jni_headers/PermissionManagerBridge_jni.h:80:1
  0000000002ed64c2  wolvic::WolvicPermissionManager::RequestPermissions(content::RenderFrameHost*, content::PermissionRequestDescription const&, base::OnceCallback<void (std::__Cr::vector<blink::mojom::PermissionStatus, std::__Cr::allocator<blink::mojom::PermissionStatus>> const&)>)  ../../wolvic/wolvic_permission_manager.cc:174:3
  0000000002ed65f3  wolvic::WolvicPermissionManager::RequestPermissionsFromCurrentDocument(content::RenderFrameHost*, content::PermissionRequestDescription const&, base::OnceCallback<void (std::__Cr::vector<blink::mojom::PermissionStatus, std::__Cr::allocator<blink::mojom::PermissionStatus>> const&)>)  ../../wolvic/wolvic_permission_manager.cc:189:3
  0000000003b12a45  content::PermissionControllerImpl::RequestPermissionsFromCurrentDocument(content::RenderFrameHost*, content::PermissionRequestDescription, base::OnceCallback<void (std::__Cr::vector<blink::mojom::PermissionStatus, std::__Cr::allocator<blink::mojom::PermissionStatus>> const&)>)  ../../content/browser/permissions/permission_controller_impl.cc:484:13
  0000000003db773d  content::VRServiceImpl::GetPermissionStatus(content::VRServiceImpl::SessionRequestData, content::BrowserXRRuntimeImpl*)  ../../content/browser/xr/service/vr_service_impl.cc:543:26
  0000000003db756b  content::VRServiceImpl::RequestSession(mojo::StructPtr<device::mojom::XRSessionOptions>, base::OnceCallback<void (mojo::StructPtr<device::mojom::RequestSessionResult>)>)  ../../content/browser/xr/service/vr_service_impl.cc:515:3
  0000000005bb5a43  device::mojom::VRServiceStubDispatch::AcceptWithResponder(device::mojom::VRService*, mojo::Message*, std::__Cr::unique_ptr<mojo::MessageReceiverWithStatus, std::__Cr::default_delete<mojo::MessageReceiverWithStatus>>)  gen/device/vr/public/mojom/vr_service.mojom.cc:3721:13
  v------>  mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*)             ../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:970:56
  0000000004eba195  mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept(mojo::Message*)  ../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:363:18
  0000000004ebd843  mojo::MessageDispatcher::Accept(mojo::Message*)                                   ../../mojo/public/cpp/bindings/lib/message_dispatcher.cc:43:19
  0000000004ebb06d  mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::Message*)              ../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:701:20
  0000000004ebf8ca  mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*)  ../../mojo/public/cpp/bindings/lib/multiplex_router.cc:1096:42
  0000000004ebf5dd  mojo::internal::MultiplexRouter::Accept(mojo::Message*)                           ../../mojo/public/cpp/bindings/lib/multiplex_router.cc:710:7
  0000000004ebd843  mojo::MessageDispatcher::Accept(mojo::Message*)                                   ../../mojo/public/cpp/bindings/lib/message_dispatcher.cc:43:19
  0000000004eb77fe  mojo::Connector::DispatchMessage(mojo::ScopedHandleBase<mojo::MessageHandle>)     ../../mojo/public/cpp/bindings/lib/connector.cc:561:49
  0000000004eb7c35  mojo::Connector::ReadAllAvailableMessages()                                       ../../mojo/public/cpp/bindings/lib/connector.cc:618:14
  0000000004eb7b2f  mojo::Connector::OnWatcherHandleReady(char const*, unsigned int)                  ../../mojo/public/cpp/bindings/lib/connector.cc:417:3
svillar commented 8 months ago

I keep getting these ones. This time in BoulderWorld WebXR experience just after clicking on the enter VR button.

svillar commented 8 months ago

Seems like this is similar to #63 and #57

Somehow we have issues with the JNIEnv persistence

svillar commented 7 months ago

Closing this as already explained in https://github.com/Igalia/wolvic-chromium/issues/57#issuecomment-1910718629

svillar commented 7 months ago

I got the Exception

19:36:56.226  9651-9651   W  java.lang.NullPointerException: Attempt to invoke interface method 'com.igalia.wolvic.browser.api.WResult com.igalia.wolvic.browser.api.WSession$PermissionDelegate.onContentPermissionRequest(com.igalia.wolvic.browser.api.WSession, com.igalia.wolvic.browser.api.WSession$PermissionDelegate$ContentPermission)' on a null object reference
19:36:56.226  9651-9651   W     at com.igalia.wolvic.browser.api.impl.ChromiumPermissionDelegate.requestPermission(ChromiumPermissionDelegate.java:80)
19:36:56.226  9651-9651   W     at com.igalia.wolvic.browser.api.impl.ChromiumPermissionDelegate.requestPermissions(ChromiumPermissionDelegate.java:100)
19:36:56.226  9651-9651   W     at com.igalia.wolvic.browser.api.impl.ChromiumPermissionDelegate.onPermissionRequest(ChromiumPermissionDelegate.java:112)
19:36:56.226  9651-9651   W     at org.chromium.wolvic.PermissionManagerBridge.onPermissionRequest(PermissionManagerBridge.java:104)
19:36:56.226  9651-9651   W     at android.os.MessageQueue.nativePollOnce(Native Method)
19:36:56.226  9651-9651   W     at android.os.MessageQueue.next(MessageQueue.java:336)
19:36:56.226  9651-9651   W     at android.os.Looper.loop(Looper.java:174)
19:36:56.226  9651-9651   W     at android.app.ActivityThread.main(ActivityThread.java:7357)
19:36:56.226  9651-9651   W     at java.lang.reflect.Method.invoke(Native Method)
19:36:56.226  9651-9651   W     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:499)
19:36:56.227  9651-9651   W     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

so reopening...

svillar commented 7 months ago

Closing after landing the fix in Wolvic