Bug 1756569 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Crash report: https://crash-stats.mozilla.org/report/index/ff375cbc-9c0a-4812-b062-18f650220220

Java stack trace:
```
java.lang.NullPointerException
	at org.mozilla.gecko.process.GeckoProcessManager.getCompositorSurfaceManager(GeckoProcessManager.java:4)
```

This is a crash with the GPU process enabled on Android. I think what is happening is that we are encountering a GPU process crash early in its startup. In response to this the `GeckoProcessManager` will remove the `GpuProcessConnection` from its `mNonContentConnections` map [here](https://searchfox.org/mozilla-central/rev/ad38c9d1f0a9036c4da5271a849f47342b68adc8/mobile/android/geckoview/src/main/java/org/mozilla/gecko/process/GeckoProcessManager.java#547). Then when GPU process initialization is [completing](https://searchfox.org/mozilla-central/rev/ad38c9d1f0a9036c4da5271a849f47342b68adc8/gfx/ipc/GPUProcessHost.cpp#162) we we attempt to fetch the `CompositorSurfaceManager` from the `GeckoProcessManager` but hit a null pointer assertion [here](https://searchfox.org/mozilla-central/rev/ad38c9d1f0a9036c4da5271a849f47342b68adc8/mobile/android/geckoview/src/main/java/org/mozilla/gecko/process/GeckoProcessManager.java#105).

I can reproduce by manually inserting a `MOZ_CRASH` in `GPUParent::Init()` *and* inserting a sleep before we dispatch the `GetCompositorSurfaceManager()` call to the launcher thread in `GPUHost::InitAfterConnect()`.

It's perhaps slightly concerning that the numbers for this crash (~250 in the past fortnight) are higher than total GPU process crashes (~210), especially given that there is quite a small time window in which the GPU process crash must occur to cause the null pointer exception. But if we hit this null pointer exception then the parent process crashes before we have a chance to report the GPU process crash. So at the very least fixing this should help us uncover any underlying problem.
Crash report: https://crash-stats.mozilla.org/report/index/ff375cbc-9c0a-4812-b062-18f650220220

Java stack trace:
```
java.lang.NullPointerException
	at org.mozilla.gecko.process.GeckoProcessManager.getCompositorSurfaceManager(GeckoProcessManager.java:4)
```

This is a crash with the GPU process enabled on Android. I think what is happening is that we are encountering a GPU process crash early in its startup. In response to this the `GeckoProcessManager` will remove the `GpuProcessConnection` from its `mNonContentConnections` map [here](https://searchfox.org/mozilla-central/rev/ad38c9d1f0a9036c4da5271a849f47342b68adc8/mobile/android/geckoview/src/main/java/org/mozilla/gecko/process/GeckoProcessManager.java#547). Then when GPU process initialization is [completing](https://searchfox.org/mozilla-central/rev/ad38c9d1f0a9036c4da5271a849f47342b68adc8/gfx/ipc/GPUProcessHost.cpp#162) we we attempt to fetch the `CompositorSurfaceManager` from the `GeckoProcessManager` but hit a null pointer assertion [here](https://searchfox.org/mozilla-central/rev/ad38c9d1f0a9036c4da5271a849f47342b68adc8/mobile/android/geckoview/src/main/java/org/mozilla/gecko/process/GeckoProcessManager.java#105).

I can reproduce by manually inserting a `MOZ_CRASH` in `GPUParent::Init()` *and* inserting a sleep before we dispatch the `GetCompositorSurfaceManager()` call to the launcher thread in `GPUProcessHost::InitAfterConnect()`.

It's perhaps slightly concerning that the numbers for this crash (~250 in the past fortnight) are higher than total GPU process crashes (~210), especially given that there is quite a small time window in which the GPU process crash must occur to cause the null pointer exception. But if we hit this null pointer exception then the parent process crashes before we have a chance to report the GPU process crash. So at the very least fixing this should help us uncover any underlying problem.

Back to Bug 1756569 Comment 0