Closed
Bug 1250776
Opened 9 years ago
Closed 9 years ago
Use System Proxy Setting not working with a PAC, which the PAC file come from shadowsocks.
Categories
(Core :: Networking, defect)
Tracking
()
RESOLVED
FIXED
mozilla49
Tracking | Status | |
---|---|---|
firefox49 | --- | fixed |
People
(Reporter: gang.zhuo, Assigned: xeonchen)
Details
(Whiteboard: [necko-active])
Attachments
(7 files)
User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
Steps to reproduce:
The PAC file come form shadowsocks. (https://github.com/shadowsocks/shadowsocks-windows/tree/master)
The PAC file host by IIS 7.
Step:
1. Open Firefox, and change the proxy setting to use system proxy settings, close the Firefox.
2. Change the system proxy settings to http://172.165.1.5:8080/pac.txt?v=1
3. Open the Firefox, and open the https://www.google.com/?gws_rd=ssl. The Proxy not work.
See attachment for details and screenshots.
Actual results:
Cannot open google site through a proxy
Expected results:
Open google site through a proxy
OS: Unspecified → Windows 8.1
Hardware: Unspecified → x86_64
Do you know if it used to work with some previous versions of Firefox?
Flags: needinfo?(gang.zhuo)
People chenshaoju reported that it work on version 42, and renziyao reported that it is not work on version 43, see https://github.com/shadowsocks/shadowsocks-windows/issues/439#issuecomment-181919392. On my test, it work when i reduce the rules (the size of PAC file <= 112KB).
Flags: needinfo?(gang.zhuo)
There are two new attachments: work.pac.txt and not_work.pac.txt. Work when using work.pac.txt, not work when use not_work.pac.txt. Difference of two files:
--- work.pac.txt 2016-02-23 22:18:56.491027600 -0500
+++ not_work.pac.txt 2016-02-24 06:53:04.903420600 -0500
@@ -4144,7 +4144,7 @@
"||yesasia.com.hk"
];
-/*
+/*AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
* This file is part of Adblock Plus <http://adblockplus.org/>,
* Copyright (C) 2006-2014 Eyeo GmbH
*
Updated•9 years ago
|
Whiteboard: [necko-backlog]
I have the same problem all the time.
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0
error info:
PAC Execution Error: mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create []
PAC Execution Error: uncaught exception: out of memory []
PAC file failed to install from http://127.0.0.1:1080/pac?t=201604061314295770
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → xeonchen
Assignee | ||
Comment 8•9 years ago
|
||
I currently cannot reproduce this issue based on the discussion on [1] and [2].
[1] https://github.com/shadowsocks/shadowsocks-windows/issues/439 (Simplified Chinese)
[2] https://github.com/shadowsocks/shadowsocks-windows/issues/487 (Simplified Chinese)
Assignee | ||
Comment 9•9 years ago
|
||
STR:
1. open browser console
2. setup auto proxy configuration to the attached file (or reload)
3. see following error message
PAC Execution Error: mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create []
PAC Execution Error: uncaught exception: out of memory []
PAC file failed to install from http://host/pac.txt
Comment 10•9 years ago
|
||
I encountered this issue for many days , it really cost me lot of time to debug..
Version 46.0
Assignee | ||
Comment 11•9 years ago
|
||
(In reply to ElvisWang from comment #10)
> I encountered this issue for many days , it really cost me lot of time to
> debug..
> Version 46.0
@ElvisWang, how big is your pac file?
Comment 12•9 years ago
|
||
pac-ElvisWang
Comment 13•9 years ago
|
||
(In reply to Gary Chen [:xeonchen] from comment #11)
> (In reply to ElvisWang from comment #10)
> > I encountered this issue for many days , it really cost me lot of time to
> > debug..
> > Version 46.0
>
> @ElvisWang, how big is your pac file?
My pac is 125KB , attached as "pac-ElvisWang" to this bug.
Comment 14•9 years ago
|
||
(In reply to ElvisWang from comment #13)
> (In reply to Gary Chen [:xeonchen] from comment #11)
> > (In reply to ElvisWang from comment #10)
> > > I encountered this issue for many days , it really cost me lot of time to
> > > debug..
> > > Version 46.0
> >
> > @ElvisWang, how big is your pac file?
>
> My pac is 125KB , attached as "pac-ElvisWang" to this bug.
But , however , i don't think it is relates to the size of the pac file .
just reduce the size by delete many items from the array "rules" , just left few items , but firefox still can not phase the pac file .
Reporter | ||
Comment 15•9 years ago
|
||
I think you should close the firefox, then change you pac file, then open a firefox. In this case, big pac not work, but small pac file work. In my test, just delete some comments, you can download my pac files, and do compare.
Reporter | ||
Comment 16•9 years ago
|
||
See comment 6. I think it's cause by small buffer, maybe.
Comment 17•9 years ago
|
||
(In reply to Gang Zhuo from comment #16)
> See comment 6. I think it's cause by small buffer, maybe.
Unfortunately , the work pac provided by Gang Zhou still doesn't work in my test .
got the same error on console :
PAC Execution Error: mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create []
PAC Execution Error: uncaught exception: out of memory []
PAC file failed to install from file:///F://work.pac.txt
version 46.0
Comment 18•9 years ago
|
||
(In reply to ElvisWang from comment #17)
> (In reply to Gang Zhuo from comment #16)
> > See comment 6. I think it's cause by small buffer, maybe.
>
> Unfortunately , the work pac provided by Gang Zhou still doesn't work in my
> test .
> got the same error on console :
>
> PAC Execution Error: mutating the [[Prototype]] of an object will cause your
> code to run very slowly; instead create the object with the correct initial
> [[Prototype]] value using Object.create []
> PAC Execution Error: uncaught exception: out of memory []
> PAC file failed to install from file:///F://work.pac.txt
>
> version 46.0
Additional information :
My Firefox is an original English version which was downloaded from mozilla.org , but not firefox.com.cn
Not sure whether they different code branch , just for your information .
Assignee | ||
Comment 19•9 years ago
|
||
The data in the PAC file is too big, and OOM is reported in [1].
If I increase the run-time heap size for JavaScript VM defined in [2] to |2<<21|, the script will be loaded successfully.
@bagder, does the original heap size 2KiB have special meaning or is it possible to increase it?
[1] https://dxr.mozilla.org/mozilla-central/rev/fc15477ce628599519cb0055f52cc195d640dc94/js/src/gc/Allocator.cpp#263
[2] https://dxr.mozilla.org/mozilla-central/rev/fc15477ce628599519cb0055f52cc195d640dc94/netwerk/base/ProxyAutoConfig.cpp#619
Flags: needinfo?(daniel)
Assignee | ||
Comment 20•9 years ago
|
||
(In reply to Gary Chen [:xeonchen] from comment #19)
> @bagder, does the original heap size 2KiB have special meaning or is it
Sorry for typo... it's 2MiB.
Comment 21•9 years ago
|
||
It seems this has been the size all since :mcmanus brought the code in this commit from 2012 for bug 769764: https://github.com/mozilla/gecko-dev/commit/d70af841f6eddc89a5789
Patrick, do you recall any specific details to why the size was picked or if there's anything that prevents us from just bumping this to 4MB?
Was there a particular reason to state the size as 2 << 20? It doesn't make it immediately obvious to me as my in-brain bitshifting logic is a bit on the slowish side! =)
The error reporting when running into this problem is far from ideal too...
Flags: needinfo?(daniel) → needinfo?(mcmanus)
Assignee | ||
Comment 23•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/49695/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/49695/
Attachment #8747039 -
Flags: review?(daniel)
Assignee | ||
Updated•9 years ago
|
Whiteboard: [necko-backlog] → [necko-active]
Comment 24•9 years ago
|
||
Comment on attachment 8747039 [details]
MozReview Request: Bug 1250776 - increase JavaScript runtime heap size to 4 MB; r?bagder
https://reviewboard.mozilla.org/r/49695/#review46683
bonus points for comment! =)
Attachment #8747039 -
Flags: review?(daniel) → review+
Comment 25•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Whiteboard: [necko-active]
Comment 26•9 years ago
|
||
We are marking bugs as [necko-active] if some one is working on them - for an easier management of bugs :)
Whiteboard: [necko-active]
Comment 27•9 years ago
|
||
bugherder |
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
status-firefox49:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
Comment 28•7 years ago
|
||
I still experience this with a very large PAC file that includes a complete list of IP addresses blocked in Russia:
https://relay.abbradar.moe/antizapret-pac.js
I could have evaded object creation in runtime and just make the whole object a constant but then it won't fit into Chromium's [[1MB file size limit|https://bugs.chromium.org/p/chromium/issues/detail?id=678022]]. Either way I've tried this too and it also doesn't fit into current heap size.
Comment 29•7 years ago
|
||
I managed to mitigate this problem by using a hash clustered by first two bytes of an IP address.
Comment 30•5 years ago
|
||
I have the same issue with Firefox 74.
You need to log in
before you can comment on or make changes to this bug.
Description
•