Closed Bug 1407679 Opened 2 years ago Closed 2 years ago

Merge nsIIOService and nsIIOService2

Categories

(Core :: Networking, enhancement, P5)

enhancement

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox58 --- fixed

People

(Reporter: standard8, Assigned: valentin)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Attachments

(1 file)

Now that we don't need to worry about extension compatibility, we should consider merging nsIIOService and nsIIOService2 to reduce complexity in the code.
Assignee: nobody → valentin.gosu
Priority: -- → P2
Whiteboard: [necko-triaged]
Comment on attachment 8920588 [details]
Bug 1407679 - Merge nsIIOService and nsIIOService2

https://reviewboard.mozilla.org/r/191604/#review197234

::: netwerk/base/nsIOService.cpp
(Diff revision 1)
> - *        * aContentPolicyType
> - *
> - * See nsIIoService.idl for a detailed description of those arguments
> - */
> -NS_IMETHODIMP
> -nsIOService::NewChannelFromURIWithProxyFlags(nsIURI *aURI,

Since we're getting rid of this entirely, we should consider dropping the 2 from NewChannelFromURIWithProxyFlags2. Can be done in a followup.
Attachment #8920588 - Flags: review?(hurley) → review+
Pushed by valentin.gosu@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/dab1c5badddb
Merge nsIIOService and nsIIOService2 r=nwgh
Backed out for failing server startup in mochitests on Android:

https://hg.mozilla.org/integration/autoland/rev/2f41083748aec88ddef355a0de1e7b5db1da26df

Push with failures (reftest errors are a different issue): https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=dab1c5badddbf3dafd34b52700c3e1129f76d632&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=139263842&repo=autoland

[task 2017-10-24T18:51:38.906Z] 18:51:38     INFO -  TEST-START | image/test/mochitest/test_bug478398.html
[task 2017-10-24T18:51:38.906Z] 18:51:38     INFO -  TEST-SKIP | image/test/mochitest/test_bug478398.html | took 0ms
[task 2017-10-24T18:51:40.574Z] 18:51:40     INFO -  runtests.py | Failed to copy /builds/worker/workspace/build/tests/mochitest/hyphenation to profile
[task 2017-10-24T18:51:40.881Z] 18:51:40     INFO -  pk12util: PKCS12 IMPORT SUCCESSFUL
[task 2017-10-24T18:51:41.579Z] 18:51:41     INFO -  MochitestServer : launching [u'/builds/worker/workspace/build/hostutils/host-utils-50.0a1.en-US.linux-x86_64/xpcshell', '-g', '/builds/worker/workspace/build/hostutils/host-utils-50.0a1.en-US.linux-x86_64', '-v', '170', '-f', '/builds/worker/workspace/build/hostutils/host-utils-50.0a1.en-US.linux-x86_64/components/httpd.js', '-e', "const _PROFILE_PATH = '/tmp/tmpjmU1Dc.mozrunner'; const _SERVER_PORT = '8854'; const _SERVER_ADDR = '10.0.2.2'; const _TEST_PREFIX = undefined; const _DISPLAY_RESULTS = false;", '-f', '/builds/worker/workspace/build/tests/mochitest/server.js']
[task 2017-10-24T18:51:41.579Z] 18:51:41     INFO -  runtests.py | Server pid: 1144
[task 2017-10-24T18:51:41.587Z] 18:51:41     INFO -  runtests.py | Websocket server pid: 1147
[task 2017-10-24T18:51:41.595Z] 18:51:41     INFO -  runtests.py | SSL tunnel pid: 1150
[task 2017-10-24T18:53:11.916Z] 18:53:11     INFO -  0 ERROR TEST-UNEXPECTED-FAIL | runtests.py | Timed out while waiting for server startup.
[task 2017-10-24T18:53:11.918Z] 18:53:11     INFO -  Failed to stop web server on http://127.0.0.1:8854/server/shutdown
[task 2017-10-24T18:53:11.918Z] 18:53:11     INFO -  Traceback (most recent call last):
[task 2017-10-24T18:53:11.919Z] 18:53:11     INFO -    File "/builds/worker/workspace/build/tests/mochitest/runtests.py", line 497, in stop
[task 2017-10-24T18:53:11.920Z] 18:53:11     INFO -      with closing(urllib2.urlopen(self.shutdownURL)) as c:
[task 2017-10-24T18:53:11.920Z] 18:53:11     INFO -    File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
[task 2017-10-24T18:53:11.921Z] 18:53:11     INFO -      return opener.open(url, data, timeout)
[task 2017-10-24T18:53:11.921Z] 18:53:11     INFO -    File "/usr/lib/python2.7/urllib2.py", line 429, in open
[task 2017-10-24T18:53:11.922Z] 18:53:11     INFO -      response = self._open(req, data)
[task 2017-10-24T18:53:11.924Z] 18:53:11     INFO -    File "/usr/lib/python2.7/urllib2.py", line 447, in _open
[task 2017-10-24T18:53:11.924Z] 18:53:11     INFO -      '_open', req)
[task 2017-10-24T18:53:11.924Z] 18:53:11     INFO -    File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
[task 2017-10-24T18:53:11.924Z] 18:53:11     INFO -      result = func(*args)
[task 2017-10-24T18:53:11.924Z] 18:53:11     INFO -    File "/usr/lib/python2.7/urllib2.py", line 1228, in http_open
[task 2017-10-24T18:53:11.924Z] 18:53:11     INFO -      return self.do_open(httplib.HTTPConnection, req)
[task 2017-10-24T18:53:11.924Z] 18:53:11     INFO -    File "/usr/lib/python2.7/urllib2.py", line 1198, in do_open
[task 2017-10-24T18:53:11.924Z] 18:53:11     INFO -      raise URLError(err)
[task 2017-10-24T18:53:11.924Z] 18:53:11     INFO -  URLError: <urlopen error [Errno 111] Connection refused>
[task 2017-10-24T18:53:11.925Z] 18:53:11     INFO -  Traceback (most recent call last):
[task 2017-10-24T18:53:11.925Z] 18:53:11     INFO -    File "/builds/worker/workspace/build/tests/mochitest/runtests.py", line 2628, in doTests
[task 2017-10-24T18:53:11.925Z] 18:53:11     INFO -      self.startServers(options, debuggerInfo)
[task 2017-10-24T18:53:11.925Z] 18:53:11     INFO -    File "/builds/worker/workspace/build/tests/mochitest/runtestsremote.py", line 170, in startServers
[task 2017-10-24T18:53:11.925Z] 18:53:11     INFO -      ignoreSSLTunnelExts=True)
[task 2017-10-24T18:53:11.926Z] 18:53:11     INFO -    File "/builds/worker/workspace/build/tests/mochitest/runtests.py", line 1187, in startServers
[task 2017-10-24T18:53:11.926Z] 18:53:11     INFO -      self.server.ensureReady(self.SERVER_STARTUP_TIMEOUT)
[task 2017-10-24T18:53:11.926Z] 18:53:11     INFO -    File "/builds/worker/workspace/build/tests/mochitest/runtests.py", line 493, in ensureReady
[task 2017-10-24T18:53:11.926Z] 18:53:11     INFO -      sys.exit(1)
[task 2017-10-24T18:53:11.927Z] 18:53:11     INFO -  SystemExit: 1
Flags: needinfo?(valentin.gosu)
Indeed, there seems to be an issue with the build. It also crashes when I run it locally, with a device, but I'm not super sure why.
There are a few lines in logcat that might point to the issue:

11-07 00:42:01.262  8374  8396 I GeckoConsole: Could not read chrome manifest 'file:///data/user/0/org.mozilla.fennec_icecold/chrome.manifest'.
...
11-07 00:42:01.649  8374  8396 I GeckoConsole: 1510011721645  addons.xpi  WARN  List of valid built-in add-ons could not be parsed.: [Exception... "Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsIXPCComponents_Utils.readURI]"  nsresult: "0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH)"  location: "JS frame :: resource://gre/modules/addons/XPIProvider.jsm :: _readAddons :: line 6388"  data: no] Stack trace: _readAddons()@resource://gre/modules/addons/XPIProvider.jsm:6388 < getAddonLocations()@resource://gre/modules/addons/XPIProvider.jsm:6049 < getInstallState()@resource://gre/modules/addons/XPIProvider.jsm:1578 < checkForChanges()@resource://gre/modules/addons/XPIProvider.jsm:3197 < startup()@resource://gre/modules/addons/XPIProvider.jsm:2173 < callProvider()@resource://gre/modules/AddonManager.jsm:263 < _startProvider()@resource://gre/modules/AddonManager.jsm:730 < startup()@resource://gre/modules/AddonManager.jsm:897 < startup()@resource://gre/modules/AddonManager.jsm:3082 < observe()@jar:jar:file:///data/app/org.mozilla.fen
11-07 00:42:01.650  8374  8396 I Gecko   : 1510011721645  addons.xpi  WARN  List of valid built-in add-ons could not be parsed.: [Exception... "Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsIXPCComponents_Utils.readURI]"  nsresult: "0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH)"  location: "JS frame :: resource://gre/modules/addons/XPIProvider.jsm :: _readAddons :: line 6388"  data: no] Stack trace: _readAddons()@resource://gre/modules/addons/XPIProvider.jsm:6388 < getAddonLocations()@resource://gre/modules/addons/XPIProvider.jsm:6049 < getInstallState()@resource://gre/modules/addons/XPIProvider.jsm:1578 < checkForChanges()@resource://gre/modules/addons/XPIProvider.jsm:3197 < startup()@resource://gre/modules/addons/XPIProvider.jsm:2173 < callProvider()@resource://gre/modules/AddonManager.jsm:263 < _startProvider()@resource://gre/modules/AddonManager.jsm:730 < startup()@resource://gre/modules/AddonManager.jsm:897 < startup()@resource://gre/

11-07 00:42:01.759  8374  8396 I Gecko   : -*- nsDNSServiceDiscovery.js : nsDNSServiceDiscovery
11-07 00:42:01.807  8374  8396 I Gecko   : Attempting load of libEGL.so
11-07 00:42:01.896  8374  8396 F libc    : Fatal signal 7 (SIGBUS), code 1, fault addr 0x1a3aab in tid 8396 (Gecko)
11-07 00:42:01.968  8462  8462 W crash_dump32: type=1400 audit(0.0:155): avc: denied { search } for name="org.mozilla.fennec_icecold" dev="dm-0" ino=1497063 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
11-07 00:42:01.971  8462  8462 I chatty  : uid=10096(u0_a96) crash_dump32 identical 3 lines
11-07 00:42:01.981  8462  8462 W crash_dump32: type=1400 audit(0.0:159): avc: denied { search } for name="org.mozilla.fennec_icecold" dev="dm-0" ino=1497063 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
11-07 00:42:02.017  8462  8462 I crash_dump32: obtaining output fd from tombstoned
11-07 00:42:02.018   633   633 I /system/bin/tombstoned: received crash request for pid 8374
11-07 00:42:02.019  8462  8462 I crash_dump32: performing dump of process 8374 (target tid = 8396)
11-07 00:42:02.019  8462  8462 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-07 00:42:02.019  8462  8462 F DEBUG   : Build fingerprint: 'google/bullhead/bullhead:8.0.0/OPR4.170623.009/4302492:user/release-keys'
11-07 00:42:02.019  8462  8462 F DEBUG   : Revision: 'rev_1.0'
11-07 00:42:02.019  8462  8462 F DEBUG   : ABI: 'arm'
11-07 00:42:02.019  8462  8462 F DEBUG   : pid: 8374, tid: 8396, name: Gecko  >>> org.mozilla.fennec_icecold <<<
11-07 00:42:02.020  8462  8462 F DEBUG   : signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0x1a3aab
11-07 00:42:02.020  8462  8462 F DEBUG   :     r0 00000000  r1 000020cc  r2 00000007  r3 e67fbc90
11-07 00:42:02.020  8462  8462 F DEBUG   :     r4 45305449  r5 0000210c  r6 00000001  r7 0000016b
11-07 00:42:02.020  8462  8462 F DEBUG   :     r8 00000000  r9 ca3169c8  sl 00000002  fp 00000007
11-07 00:42:02.020  8462  8462 F DEBUG   :     ip e67fbb58  sp e67fbb48  lr e9083ff7  pc e90c6a30  cpsr 00000010
11-07 00:42:02.023  8462  8462 F DEBUG   : 
11-07 00:42:02.023  8462  8462 F DEBUG   : backtrace:
11-07 00:42:02.023  8462  8462 F DEBUG   :     #00 pc 0005ba30  /system/bin/linker (__dl_syscall+32)
11-07 00:42:02.023  8462  8462 F DEBUG   :     #01 pc 00018ff3  /system/bin/linker (__dl__ZL13resend_signalP7siginfob+54)
11-07 00:42:02.023  8462  8462 F DEBUG   :     #02 pc 00018e4f  /system/bin/linker (__dl__ZL24debuggerd_signal_handleriP7siginfoPv+710)
11-07 00:42:02.023  8462  8462 F DEBUG   :     #03 pc 00018a38  /system/lib/libc.so
11-07 00:42:02.023  8462  8462 F DEBUG   :     #04 pc 007fc6d4  /data/data/org.mozilla.fennec_icecold/cache/libxul.so (offset 0x2f9000)

This bug is close to landing, in case someone wants it, but I don't have time to debug the Android issue at the moment.
Assignee: valentin.gosu → nobody
Flags: needinfo?(valentin.gosu)
Priority: P2 → P5
From the test logs in comment 5:

JavaScript error: /mozilla/autophone/autophone/builds/aHR0cHM6Ly9xdWV1ZS50YXNrY2x1c3Rlci5uZXQvdjEvdGFzay9NYjB3amdXYVRBNklaMjIyaWRwdmpRL3J1bnMvMC9hcnRpZmFjdHMvcHVibGljL2J1aWxkL3RhcmdldC5hcGs=/tests/mochitest/server.js, line 15: NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN: Cannot modify properties of a WrappedNative

and also from the messages in comment 6, there's clear indications that the IO Service can't be obtained or isn't quite working right.

I went through the patch and compared it to searchfox output, and I couldn't see any missed changes or anything. The builds also appear to have been clobbers (I think, not 100% sure).

It leads me to wonder if there's something special happening on Android in relation to the IO Service.

Maybe James or Jim can help us.
Flags: needinfo?(snorp)
Flags: needinfo?(nchen)
We need updated Android test harness files to support these changes.
Depends on: 1415242
Flags: needinfo?(snorp)
Flags: needinfo?(nchen)
See Also: → 1415368
:valentin -- Updated Android host utilities are available now but need to be pushed simultaneously with this patch. I'm hoping to do that tomorrow. Just checking: can I push your patch when I'm ready?
Flags: needinfo?(valentin.gosu)
(In reply to Geoff Brown [:gbrown] from comment #9)
> :valentin -- Updated Android host utilities are available now but need to be
> pushed simultaneously with this patch. I'm hoping to do that tomorrow. Just
> checking: can I push your patch when I'm ready?

I rebased it, and it builds and runs on Linux. Hope that's OK. Thanks for helping.
Flags: needinfo?(valentin.gosu)
Thanks. Here's a full try run with your latest patch + the host-utils update.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=9fe15e880476032183688ffe7f54c16fbda175c0
Pushed by gbrown@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d5c94765d2ec
Merge nsIIOService and nsIIOService2; r=nwgh
https://hg.mozilla.org/mozilla-central/rev/d5c94765d2ec
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Assignee: nobody → valentin.gosu
You need to log in before you can comment on or make changes to this bug.