[tbb-bugs] #30249 [Applications/Tor Browser]: Tor Browser starts two copies of meek-client-torbrowser, immediately kills one of them

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Apr 19 22:07:43 UTC 2019


#30249: Tor Browser starts two copies of meek-client-torbrowser, immediately kills
one of them
------------------------------------------+----------------------
     Reporter:  dcf                       |      Owner:  tbb-team
         Type:  defect                    |     Status:  new
     Priority:  Medium                    |  Milestone:
    Component:  Applications/Tor Browser  |    Version:
     Severity:  Normal                    |   Keywords:
Actual Points:                            |  Parent ID:
       Points:                            |   Reviewer:
      Sponsor:                            |
------------------------------------------+----------------------
 After the first configuration with meek, Tor Browser starts one copy of
 meek-client-torbrowser, kills it within a second, then starts a second
 copy, which it actually uses.

 1. Edit Browser/TorBrowser/Data/Tor/torrc-defaults and activate the log of
 meek-client-torbrowser.
    {{{
 ## meek configuration
 ClientTransportPlugin meek exec ./TorBrowser/Tor/PluggableTransports/meek-
 client-torbrowser --log meek-client-torbrowser.log --
 ./TorBrowser/Tor/PluggableTransports/meek-client
    }}}
 2. `tail -F Browser/meek-client-torbrowser.log`
 3. `start-tor-browser.desktop`
 4. '''Configure''', '''Tor is censored in my country''', '''Provide a
 bridge I know''':
    {{{
 meek 0.0.2.0:5 url=https://meek.bamsoftware.com/
    }}}
 5. Close the browser.
 6. Notice that on this first bootstrap, there was only one copy of meek-
 client-torbrowser (look for `running firefox command` and `sig
 terminated`).
    {{{
 2019/04/19 21:00:55 running firefox command ["/home/user/tor-browser_en-
 US/Browser/firefox" "--invisible" "-no-remote" "-profile" "/home/user/tor-
 browser_en-US/Browser/TorBrowser/Data/Browser/profile.meek-http-helper"]
 2019/04/19 21:00:55 firefox started with pid 19130
 2019/04/19 21:00:55 running meek-client command
 ["./TorBrowser/Tor/PluggableTransports/meek-client" "--helper"
 "127.0.0.1:44303"]
 2019/04/19 21:00:55 meek-client started with pid 19159
 2019/04/19 21:01:56 sig terminated
 2019/04/19 21:01:56 sending signal terminated to PID 19159
 2019/04/19 21:01:56 killing PID 19159
 2019/04/19 21:01:56 killing PID 19130
    }}}
 7. `start-tor-browser.desktop` a second time, let it bootstrap, and close
 the browser.
 8. Notice that this time, there were two copies of meek-client-torbrowser,
 and the first one was killed right away. (See `running firefox command` at
 21:14:51, `sig terminated` at 21:14:52, and `running firefox command` at
 21:14:52.)
    {{{
 2019/04/19 21:14:51 running firefox command ["/home/user/tor-browser_en-
 US/Browser/firefox" "--invisible" "-no-remote" "-profile" "/home/user/tor-
 browser_en-US/Browser/TorBrowser/Data/Browser/profile.meek-http-helper"]
 2019/04/19 21:14:51 firefox started with pid 20227
 2019/04/19 21:14:51 running meek-client command
 ["./TorBrowser/Tor/PluggableTransports/meek-client" "--helper"
 "127.0.0.1:37937"]
 2019/04/19 21:14:51 meek-client started with pid 20254
 2019/04/19 21:14:52 sig terminated
 2019/04/19 21:14:52 sending signal terminated to PID 20254
 2019/04/19 21:14:52 killing PID 20254
 2019/04/19 21:14:52 killing PID 20227
 2019/04/19 21:14:52 running firefox command ["/home/user/tor-browser_en-
 US/Browser/firefox" "--invisible" "-no-remote" "-profile" "/home/user/tor-
 browser_en-US/Browser/TorBrowser/Data/Browser/profile.meek-http-helper"]
 2019/04/19 21:14:52 firefox started with pid 20274
 2019/04/19 21:14:52 running meek-client command
 ["./TorBrowser/Tor/PluggableTransports/meek-client" "--helper"
 "127.0.0.1:40397"]
 2019/04/19 21:14:52 meek-client started with pid 20304
 2019/04/19 21:15:44 sig terminated
 2019/04/19 21:15:44 sending signal terminated to PID 20304
 2019/04/19 21:15:44 killing PID 20304
 2019/04/19 21:15:44 killing PID 20274
    }}}

 I started to bisect this because I don't remember seeing it before, but I
 got back to 7.5 and it still happened. These are the versions I tested:

 ||= tor-browser-linux64-7.5_en-US =|| bad ||
 ||= tor-browser-linux64-8.0_en-US =|| bad ||
 ||= tor-browser-linux64-8.0.8_en-US =|| bad ||
 ||= torbrowser-install-win64-8.0.8_en-US =|| bad ||

 On Windows, I saw the two copies result in a "Firefox is already running"
 dialog, similar to what you get if you switch to meek while the browser is
 running (#12774).

 I did not see the same problem with obfs4 configured. In torrc-defaults I
 tried setting
 {{{
 ## obfs4proxy configuration
 ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec
 ./TorBrowser/Tor/PluggableTransports/obfs4proxy -enableLogging -logLevel
 DEBUG
 }}}
 and then monitoring Browser/TorBrowser/Data/Tor/pt_state/obfs4proxy.log, I
 see only one copy being started. (Look for `[NOTICE]: obfs4proxy-0.0.5 -
 launched` and `[NOTICE]: obfs4proxy - terminated`.)

 I also did not see the problem when running tor separately from Tor
 Browser.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/30249>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tbb-bugs mailing list