Closed Bug 1870760 Opened 1 year ago Closed 1 year ago

After installing the proxy extension, restarting Fenix and entering the extension management keeps loading.

Categories

(Fenix :: WebExtensions, defect, P2)

Firefox 121
All
Android
defect

Tracking

(firefox121 wontfix, firefox122 wontfix, firefox123 fixed)

RESOLVED FIXED
123 Branch
Tracking Status
firefox121 --- wontfix
firefox122 --- wontfix
firefox123 --- fixed

People

(Reporter: lin.crk, Assigned: robwu)

References

Details

(Whiteboard: [addons-jira])

Attachments

(3 files)

Steps to reproduce:

1.Install any proxy extension such as:
https://addons.mozilla.org/zh-CN/firefox/addon/foxyproxy-standard/
https://addons.mozilla.org/zh-CN/firefox/addon/smartproxy/
https://addons.mozilla.org/zh-CN/firefox/addon/switchyomega/
https://addons.mozilla.org/zh-CN/firefox/addon/proxy-toggle/

2.Completely exit fenix with no opened tab, re-open fenix, click the three dots in the lower right corner, "Add-ons"

Actual results:

As shown in the picture, it keeps loading.

Expected results:

Show add-ons list

This bug is reproducible on 123.0a1

Status: UNCONFIRMED → NEW
Ever confirmed: true

Can you take a look?

Flags: needinfo?(wdurand)
Flags: needinfo?(cpeterson)

Thanks, I'll take a look.

Flags: needinfo?(wdurand)
Flags: needinfo?(cpeterson)

I can easily reproduce on Release.

:lindongbin does the list load if you open a new tab first after re-opening fenix?

Flags: needinfo?(lin.crk)
Severity: -- → S4
Priority: -- → P3
Priority: P3 → P2

(In reply to William Durand [:willdurand] from comment #4)

I can easily reproduce on Release.

:lindongbin does the list load if you open a new tab first after re-opening fenix?

Yes, open any website first, then open the add-ons and the list will load normally

Flags: needinfo?(lin.crk)

Pretty weird. If there's one tab open, the addon manager will show normally.

It looks like all loadicon requests created , but no response until timeout (about 5mins) and then addon manager will show but with default addon icons.

Maybe some bug with proxy under homepage ?

Some update:

When no tab with proxy add-on installed , all requests created (client.fetch called ) but not send ( even no dns query found with tcpdump).

For example :
These requests created, but no dns query

https://contile.services.mozilla.com/v1/tiles
https://incoming.telemetry.mozilla.org/submit/org-mozilla-fenix-debug/metrics/1/xxxxxxx
https://addons.mozilla.org/user-media/addon_icons/607/607454-64.png?modified=mcrushed

Yeah, that's because proxy add-ons are only started when their background pages are started, and for that, we need a gecko session. A tab creates one. In other words, without any tab, we do not have a gecko session. Without a gecko session, extension background pages are not started. Without proxy extension background pages, requests (including "system" requests) are pending.

Thanks for explanation!

That's quite a design issue. ( I always don't like the idea of homepage/newtab is not actual tab )

Assignee: nobody → rob
Status: NEW → ASSIGNED
Whiteboard: [addons-jira]

I suffering this bug today. I install add-on accidentally by touch "+" in add-on manager, then I exit Fenix, after enter add-on manager again, it keeps loading.

(In reply to Tom25519 from comment #10)

I suffering this bug today. I install add-on accidentally by touch "+" in add-on manager, then I exit Fenix, after enter add-on manager again, it keeps loading.

Thank goodness, I reinstall Fenix without uninstall or clear app data, it return to.normal.

(In reply to Tom25519 from comment #11)

(In reply to Tom25519 from comment #10)

I suffering this bug today. I install add-on accidentally by touch "+" in add-on manager, then I exit Fenix, after enter add-on manager again, it keeps loading.

Thank goodness, I reinstall Fenix without uninstall or clear app data, it return to.normal.

You don't need to reinstall acutally.

You can 1. either wait about 5mins to let it timeout 2. go back to homepage , and open a tab, then go to add-on manager again.

See Also: → 1730026

Startup of extension's background script is currently delayed until
after "browser-delayed-startup-finished". On desktop, this notification
is sent as soon as any browser window has been painted, which is usually
soon enough.

On Android, this notification is sent from geckoview.xhtml, which is
only loaded when any Gecko-hosted (web) content is shown. Network
requests can already be triggered from elsewhere (GeckoView) without
having loaded any Gecko-hosted "browser window" (geckoview.xhtml). This
is a problem when a proxy.onRequest handler has been registered,
because this can result in a request blocked indefinitely, as long as
the user has not opened an unrelated browser window.

To get around this problem, allow proxy request listeners to immediately
wake up the background page, on Android.

The extensions.webextensions.early_background_wakeup_on_request pref
is currently only implemented for the proxy.onRequest event. This
extra test case verifies that a non-proxy event does not trigger the
early background startup (even with the pref), and that triggering
proxy.onRequest after that does trigger early background startup.

Pushed by rob@robwu.nl: https://hg.mozilla.org/integration/autoland/rev/feeabb9006d9 Start background upon receiving a proxy request r=rpl,geckoview-reviewers,zmckenney
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 123 Branch

The patch landed in nightly and beta is affected.
:robwu, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox122 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(rob)
Flags: needinfo?(rob)
Pushed by rob@robwu.nl: https://hg.mozilla.org/integration/autoland/rev/bfb56a59dd11 Extra test case to verify that non-proxy events are not affected r=rpl
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: