Foxyproxy conflict with Chatzilla in Nightly

RESOLVED FIXED in Feb

Status

RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: bandinfinite, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

4 years ago
User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
Build ID: 20150210030231

Steps to reproduce:

1. Have both Foxyproxy 4.5.1 and Chatzilla 0.9.91.1 installed along Firefox Nightly.
2. Run Chatzilla.
3. Connect to any IRC networks.



Actual results:

Chatzilla report "Error Creating Socket".



Expected results:

Chatzilla should successfully connect to IRC network.

Discovery:
If I disable Foxyproxy, Chatzilla works again.
And probably this problem has its root at https://bugzilla.mozilla.org/show_bug.cgi?id=436344
Even though the breakage has been fixed independently, either Foxyproxy or Chatzilla alone works well now, but when enable both, Chatzilla is still broken.

Comment 1

4 years ago
Jesper, do you know what's causing this? Naively (I don't know much about foxyproxy), it sounds like foxyproxy is changing the outcome of the proxy getting to return an exception here (ie the asyncResolve call is causing an exception, which produces the message listed in comment #0), which might be either a config issue or one with the foxyproxy-side fix for bug 1125372 ?
Flags: needinfo?(jesper)

Comment 2

4 years ago
Here's what I have found as a cause.
I'll start in ChatZilla's connection-xpcom.js: http://hg.mozilla.org/chatzilla/file/2fce7cb4ab9d/js/lib/connection-xpcom.js#l283
uri = ios.newURI(uri, null, null);
if ("asyncResolve" in pps)
{
    pps.asyncResolve(uri, 0, {
        onProxyAvailable: function(request, uri, proxyInfo, status) {
            continueWithProxy(proxyInfo);
        }
    });
}
Here CZ passes along a nsIURI to asyncResolve.
Now CZ is allowed to pass a nsIURI or nsIChannel to asyncResolve which is entirely in key with the IDL.
Here's how we handle that nsIURI in FoxyProxy currently: http://code.getfoxyproxy.org/Plugin/tree/src/components/protocolProxyServiceWrapper.js#n31
  asyncResolve : function(aURI, aFlags, aCallback) {
    // Bug 1125372 and Bug 436344
    var aChannelOrURI = aURI;
    if (aURI instanceof Ci.nsIChannel)
      aURI = aURI.URI;

    if (this.fp && this.fp.mode != "disabled") {
      let pi = this.fp.applyFilter(null, aURI, null);
      if (typeof pi != "string") {
        // XXXXXXXXXXXXX: Chatzilla: aURI: [xpconnect wrapped nsISupports] aChannelOrURI: [xpconnect wrapped nsISupports]
        // JavaScript error: file:///D:/foxyproxy-dev/basic-standard/src/components/protocolProxyServiceWrapper.js, line 48: NS_ERROR_XPC_BAD_CONVERT_JS: Could not convert
        // JavaScript argument arg 1 [nsIProtocolProxyCallback.onProxyAvailable]
        aCallback.onProxyAvailable(null, aChannelOrURI, pi, 0);
...
Now the thing here is that while asyncResolve got changed to supporting nsIURI along with nsIChannel, onProxyAvailable only takes a nsIChannel
Flags: needinfo?(jesper)

Comment 3

4 years ago
Since this is a FoxyProxy bug, can we move this bug somewhere more appropriate?

Comment 4

4 years ago
Fixed http://code.getfoxyproxy.org/Plugin/commit/?id=44bd50b122a7aced6eb8ec8cedaf286a9a442655
Assignee: rginda → nobody
Status: UNCONFIRMED → RESOLVED
Last Resolved: 4 years ago
Component: ChatZilla → Add-ons
Product: Other Applications → Tech Evangelism
Resolution: --- → FIXED
Target Milestone: --- → Feb
(Reporter)

Comment 5

4 years ago
when will a new version with this fix release? It's been around for a long time, and before the fixed version release, all foxyproxy+chatzilla user won't be happy. And if you're planning a new version with important new features, which might need more time, can you provide a test-build for us atm? is there any way to get a nightly or trunk build of foxyproxy?

Comment 6

4 years ago
Late today or tomorrow
(Reporter)

Comment 7

4 years ago
Does it delay again? Still no new version yet.
You need to log in before you can comment on or make changes to this bug.