Setting network.captive-portal-service.enabled to false and immediately after that to true leads to crash
Categories
(Core :: Networking, defect, P2)
Tracking
()
People
(Reporter: dartraiden, Assigned: valentin)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression, Whiteboard: [necko-triaged][necko-priority-review])
Crash Data
Attachments
(1 file)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
Steps to reproduce:
Create a user.js with just 2 strings:
user_pref("network.captive-portal-service.enabled", false);
user_pref("network.captive-portal-service.enabled", true);
Start Firefox after that
Actual results:
Crash. Tested on Firefox 107 under Windows/Linux and Firefox Nightly under Linux.
Comment 1•3 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Networking' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•3 years ago
|
||
Comment 3•3 years ago
|
||
Updated•3 years ago
|
Comment 4•3 years ago
|
||
This isn't that surprising. This causes the preference service to notify the captive portal service of a preference change, which causes the captive portal service to try to load a JSM. But this is too early to run JS.
We should maybe try not to notify of pref changes this early.
| Assignee | ||
Comment 5•3 years ago
|
||
This looks like a regression from bug 1579367.
Updated•3 years ago
|
Comment 6•3 years ago
|
||
Set release status flags based on info from the regressing bug 1579367
Updated•3 years ago
|
Comment 7•3 years ago
|
||
(In reply to Kris Maglione [:kmag] from comment #4)
We should maybe try not to notify of pref changes this early.
You mean checking for this in NotifyCallbacks? I'm not familiar with this at all so I don't know what the implications are of changing that...
Could we initialize the nsIOService after loading these prefs?
| Assignee | ||
Comment 8•3 years ago
|
||
I don't know if we can change when nsIOService is created.
We can fix just this individual case maybe, if we have a way of knowing when it's OK to run JS.
But there might be other prefs for which we trigger JS.
Comment 9•3 years ago
|
||
I think we probably have to do it case-by-case. I don't think we have a way to check whether we're ready to run JS, but we can add one. Or the captive portal code could just add a flag when it gets the "app-startup" notification, and only handle pref changes afterward.
Comment 10•3 years ago
|
||
Set release status flags based on info from the regressing bug 1579367
Comment 11•3 years ago
|
||
We have some of these CaptivePortalService crashes from Fenix 107.1.0 Release, which doesn't have an about:config page available to users. Is there another way this crash can be triggered besides toggling the network.captive-portal-service.enabled pref?
https://crash-stats.mozilla.org/report/index/63b1ea58-7a66-4836-ba42-ca1320221122
Updated•3 years ago
|
Comment 12•3 years ago
|
||
Necko will take this one.
| Assignee | ||
Comment 13•3 years ago
|
||
Updated•3 years ago
|
Comment 14•3 years ago
|
||
Comment 15•3 years ago
|
||
Backed out for causing Xpcshell failures in test_ext_captivePortal.js.
-
Failure line: TEST-UNEXPECTED-TIMEOUT | xpcshell-remote.ini:toolkit/components/extensions/test/xpcshell/test_ext_captivePortal.js | Test timed out
-
It also failed on this.
-
Failure line: TEST-UNEXPECTED-TIMEOUT | netwerk/test/unit/test_trr.js | Test timed out
| Assignee | ||
Updated•3 years ago
|
Comment 17•3 years ago
|
||
Comment 18•3 years ago
|
||
| bugherder | ||
Updated•3 years ago
|
Updated•3 years ago
|
Comment 19•3 years ago
|
||
Description
•