1.Let Tor Browser bootstrap without any pluggable transports.
2. Open Network Settings and choose meek.
An alert appears:
Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system.
After that you can't browse. But closing the browser and allowing it to bootstrap from scratch again (with meek) works.
Tested on 3.6.3-meek-1 and on a build of the 4.0-alpha-1 branch.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
The proximate cause seems to be tor starting two instances of meek-client-torbrowser, which both try to start their own headless browser helper with -no-remote. Here is the tor log showing four rounds of "does not provide any needed transports" messages, the first two with meek and the next two without, when I select meek at 09:56:53.000:
Aug 02 09:56:53.000 [notice] Pluggable transport proxy (fte exec ./TorBrowser/Tor/PluggableTransports/fteproxy.bin --managed) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (obfs2,obfs3,scramblesuit exec ./TorBrowser/Tor/PluggableTransports/obfsproxy.bin managed) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (flashproxy exec ./TorBrowser/Tor/PluggableTransports/flashproxy-client --register :0 :9000) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (meek exec ./TorBrowser/Tor/PluggableTransports/meek-client-torbrowser -- ./TorBrowser/Tor/PluggableTransports/meek-client) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (fte exec ./TorBrowser/Tor/PluggableTransports/fteproxy.bin --managed) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (obfs2,obfs3,scramblesuit exec ./TorBrowser/Tor/PluggableTransports/obfsproxy.bin managed) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (flashproxy exec ./TorBrowser/Tor/PluggableTransports/flashproxy-client --register :0 :9000) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (meek exec ./TorBrowser/Tor/PluggableTransports/meek-client-torbrowser -- ./TorBrowser/Tor/PluggableTransports/meek-client) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (fte exec ./TorBrowser/Tor/PluggableTransports/fteproxy.bin --managed) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (obfs2,obfs3,scramblesuit exec ./TorBrowser/Tor/PluggableTransports/obfsproxy.bin managed) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (flashproxy exec ./TorBrowser/Tor/PluggableTransports/flashproxy-client --register :0 :9000) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (fte exec ./TorBrowser/Tor/PluggableTransports/fteproxy.bin --managed) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (obfs2,obfs3,scramblesuit exec ./TorBrowser/Tor/PluggableTransports/obfsproxy.bin managed) does not provide any needed transports and will not be launched.Aug 02 09:56:53.000 [notice] Pluggable transport proxy (flashproxy exec ./TorBrowser/Tor/PluggableTransports/flashproxy-client --register :0 :9000) does not provide any needed transports and will not be launched.Aug 02 09:56:54.000 [notice] Our directory information is no longer up-to-date enough to build circuits: We have no usable consensus.Aug 02 09:57:32.000 [warn] The communication stream of managed proxy './TorBrowser/Tor/PluggableTransports/meek-client-torbrowser' is 'closed'. Most probably the managed proxy stopped running. This might be a bug of the managed proxy, a bug of Tor, or a misconfiguration. Please enable logging on your managed proxy and check the logs for errors.Aug 02 09:57:32.000 [notice] Failed to terminate process with PID '21979' ('No child processes').Aug 02 09:57:33.000 [warn] We were supposed to connect to bridge '0.0.2.0:1' using pluggable transport 'meek', but we can't find a pluggable transport proxy supporting 'meek'. This can happen if you haven't provided a ClientTransportPlugin line, or if your pluggable transport proxy stopped running.Aug 02 09:58:58.000 [notice] Tried for 120 seconds to get a connection to [scrubbed]:80. Giving up. (waiting for circuit)Aug 02 09:59:14.000 [notice] Owning controller connection has closed -- exiting now.
Of course, meek-client-torbrowser should be able to cope with two instances of itself running at once.
It may be that -no-remote, used in meek-client-torbrowser, is not what we want. If profile.meek-http-helper is opened twice, it seems we want both to run, using the same profile, and it's probably okay to have them even in the same process.
Firefox has -new-instance, which is separate from -no-remote. Historically their relationship has been muddled. In the past, -no-remote was required, if you didn't want Firefox to ignore your -profile option, but that may no longer be the case. Also note that Tor Browser has a patch (in the 4.0 branch, not in maint-3.6) that makes -no-remote the default, and to turn it off you must use -allow-remote.
So we should try starting the helper with either "-allow-remote -new-instance" or "-allow-remote".
This is Tor bug, for changed options it assume transport starts and reports back instantly, else it re-reads reports only once a second every (pt_configure_remaining_proxies called by run_scheduled_events). Any (RE)SETCONF trigger call of pt_prepare_proxy_list_for_config_read, that in-tolerate for yet starting transports. It must to allow non-PT_PROTO_COMPLETED managed proxy if changed options unrelated to those managed proxy. For example you should be allowed to add bridges for another transports without terminating non completed transport just started before, or even some changes to bridge unrelated options.
I suspect this issue is moot after #29430 (moved) landed. However, we should double-check that once our fancy new bridge selection UI is in place in the browser.
I suspect this issue is moot after #29430 (moved) landed. However, we should double-check that once our fancy new bridge selection UI is in place in the browser.
Actually it's pretty safe to assume we are done here as no multiple Firefox instances are involved anymore under the new paradigm. Thus, closing.
Trac: Resolution: N/Ato fixed Status: new to closed
I suspect that the underlying problem is actually with tor; i.e., it flaps when its configuration changes and it stops and starts subprocesses rapidly. (But it's something that meek should be able to cope with, nevertheless.) Leaving this open because it's probably still an issue with the WebExtension (#29347 (moved)) and ESNI.