Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Issue 1009003002: Fix subtle dynamic library loading problem and deflake the tree.

Created:
5 years, 9 months ago by Nick Bray (chromium)
Modified:
5 years, 9 months ago
Reviewers:
viettrungluu, qsr, eseidel
CC:
mojo-reviews_chromium.org, qsr+mojo_chromium.org, yzshen+watch_chromium.org
Base URL:
git@github.com:domokit/mojo.git@master
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Fix subtle dynamic library loading problem and deflake the tree. Dynamic libraries were given a name on disk determined by the sha256 of their content. If the same library was loaded from multiple origins, it would be given the same path on disk. Because it had the same path, this dynamic library would be initialized once. mojo_shell would invoke MojoMain multiple times, however, to create instances for different URLs. This caused the TLS of RunLoop::current() to be allocated multiple times, and prior instances would suddenly see RunLoop::current() == nullptr when the existing TLS was clobbered. This CL mixes the URL into the sha256 to give different apps different names. Fixes #63

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+15 lines, -6 lines) Patch
M shell/application_manager/network_fetcher.h View 1 chunk +4 lines, -2 lines 0 comments Download
M shell/application_manager/network_fetcher.cc View 4 chunks +11 lines, -4 lines 0 comments Download

Messages

Total messages: 14 (3 generated)
Nick Bray (chromium)
Note: I am not entirely happy with this solution as it will fold the _entire_ ...
5 years, 9 months ago (2015-03-14 00:19:24 UTC) #2
qsr
On 2015/03/14 00:19:24, Nick Bray (chromium) wrote: > Note: I am not entirely happy with ...
5 years, 9 months ago (2015-03-16 08:40:31 UTC) #4
eseidel
qsr is right, that the reason we rename to sha256 is so we have a ...
5 years, 9 months ago (2015-03-16 14:11:01 UTC) #6
eseidel
https://github.com/domokit/mojo/blob/master/sky/tools/mojo_cache_linker.py is the script we use to build the directory of symlinks for gdb. pprop ...
5 years, 9 months ago (2015-03-16 14:17:19 UTC) #7
qsr
On 2015/03/16 14:17:19, eseidel wrote: > https://github.com/domokit/mojo/blob/master/sky/tools/mojo_cache_linker.py is > the script we use to build ...
5 years, 9 months ago (2015-03-16 14:19:18 UTC) #8
eseidel
fwiw, gdb only cares about the basename, not the full path. So we could do ...
5 years, 9 months ago (2015-03-16 14:21:55 UTC) #9
qsr
On 2015/03/16 14:21:55, eseidel wrote: > fwiw, gdb only cares about the basename, not the ...
5 years, 9 months ago (2015-03-16 14:22:41 UTC) #10
Nick Bray (chromium)
Do one of you want to pick this up and run with it? It sounds ...
5 years, 9 months ago (2015-03-16 18:29:31 UTC) #11
eseidel
There was no design doc. Here is the relevant thread on gdb-discuss: https://groups.google.com/a/google.com/d/msg/gdb-discuss/Fd0R-gFaqXk/c9SN_xlFBjoJ You should ...
5 years, 9 months ago (2015-03-16 19:55:12 UTC) #12
qsr
> 2) the question of app?foo vs app?bar being separate apps is rather important. > ...
5 years, 9 months ago (2015-03-19 11:09:53 UTC) #13
qsr
5 years, 9 months ago (2015-03-19 11:10:15 UTC) #14

Powered by Google App Engine
This is Rietveld 408576698