Open Bug 2021618 Opened 18 days ago Updated 12 days ago

Geckoview's DelayedInit queue isn't processed till the end if a queued init errors

Categories

(GeckoView :: General, defect, P3)

All
Android
defect

Tracking

(Not tracked)

People

(Reporter: bea, Assigned: bea)

References

Details

Attachments

(1 file)

This https://searchfox.org/firefox-main/source/mobile/shared/components/geckoview/GeckoViewStartup.sys.mjs#406 call throws on my local dev build.

That prevents the DelayedInit queue from being completely flushed. If a new pending init is added to the queue it would be cleared, but it doesn't seem that happens.

Note, this prevents all the InitLater calls from geckoview.js from running and probably other important calls. From my logs, the faulty one is the second queued init (deterministically), so anything queued after it is not running.

I will send a suggested patch fixing this.

Assignee: nobody → bea
See Also: → 2021884

Hi Beatriz, I wonder if turning off browser.crashReports.onDemand pref would solve this issue for you?

Flags: needinfo?(bea)

If it doesn't help, can you show us the stacktrace of the crash? Thank you!

Severity: -- → S3
Priority: -- → P3

Hi Beatriz, I wonder if turning off browser.crashReports.onDemand pref would solve this issue for you?

It doesn't.

If it doesn't help, can you show us the stacktrace of the crash? Thank you!

This is the error I get from the line I pointed to:

Error: Failed to load resource://gre/modules/RemoteSettingsCrashPull.sys.mjs"

Even if we fix this specific error, wouldn't it be better to also catch error on the DelayedInit module? It's doesn't seem ok to let a single error prevent the whole queue from running.

Flags: needinfo?(bea)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: