| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/151066
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19618 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/147224
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19407 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add linux-gate.so to the minidump mappings list by checking for the
load address in the aux vector and adding a filename of linux-gate.so
when we encounter that load address. This is necessary for crash
reporting to walk the stack correctly when a crash happens while in a
system call.
http://codereview.chromium.org/147032
Committed for Neal Sidhwaney.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19214 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
This is (cleaned up) code from Breakpad's /client/linux/handler/minidump_generator.cc.
Review URL: http://codereview.chromium.org/146001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18996 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
This is code from Breakpad's /client/linux/handler/minidump_generator.cc.
Review URL: http://codereview.chromium.org/144002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18986 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This removes the need for separate build runs with different hammer flags (e.g.
--mode=Tool).
Review URL: http://codereview.chromium.org/125009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18202 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A ucontext isn't a POD datatype, so we can end up sending it to the
browser and then walking an embedded pointer which is only valid in
the renderer context.
This fix sends the floating point registers (which were at the other
end of said pointer) in the context and stops using the pointer in the
ucontext.
BUG=13465
http://codereview.chromium.org/119249
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17771 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
the bottom-most address before calling clone().
BUG=none
TEST=Official builds on Linux should be able to dump/upload reliably when running with --crash-test.
Review URL: http://codereview.chromium.org/115955
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17354 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
allow dump_syms to access DWARF data for line numbers and other stuff, and not
just public symbol table data.
BUG=12776
TEST=set branding to Chrome, dsymutil should run and take forever
Review URL: http://codereview.chromium.org/113999
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17316 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Do endian swapping for the identifier in dump_syms.
Fill in the pdb_file_name (debug_file) field for modules.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/113943
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17081 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
memory instead of MD5 of text section.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/113893
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17031 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The crash server requires an MDRawSystemInfo stream in order to process the
file, although it actually only needs a single value in it.
Additionally, it needs a PDB7 structure for each module, so we remove those
modules which probably aren't shared libraries and XOR the first page of data
to get a signature for them. The previous code opened the file and MD5 summed
the text segment. However, we can't know if the shared library is still linked
on disk, nor if the whole text segment is mapped in memory. Thus, we only
assume that a single page is mapped.
dump_syms will need to be forked and updated to match the signature scheme used
in this patch.
http://codereview.chromium.org/113875
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17030 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/114045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16812 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Fedora 11.
Review URL: http://codereview.chromium.org/113780
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16782 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/113774
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16773 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
leiz reports that it doesn't build: missing assert.h. Since it's
breakpad code I'm not going to fork it just for this.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16726 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16724 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
See comment in the patch.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16723 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commits a rewrite of the Breakpad Linux client.
The old code:
* Had a number of plain bugs in it, but those could just have been
fixed.
* Allocated memory from the heap, which is a no go.
* Made libc calls which can enter the dynamic linker - another source
of crashes.
* Didn't understand some of the tricks needed, like clone() via libc
will write to random areas of memory because it assumes that it's
only called from libpthread
Additionally, we had one more requirement which meant changing the
interface:
* We need to be able to crash dump the renderers from the browser
process.
And that last one really needed a rewrite.
We intend to try and upstream this new code into Breakpad.
The new Breakpad design works like this:
When a renderer crashes, a signal handler runs on an alternative stack
and collects information about the registers of the thread before the
crash. Then we enter Chromium specific code an send a datagram message
to a magic file descriptor (4) containing:
* the registers and tid of the crashing thread
* the active URL
* a file descriptor to a socket
* a CREDENTIALS structure giving the PID of the renderer.
On the other end of the socket is an object on the IO thread
(render_crash_handler_host_linux.cc) which reads and parses the
datagram. The CREDENTIALS structure is validated by the kernel, so the
renderer can't lie about it's PID and try and get the browser to crash
dump the wrong process.
The browser then ptraces the renderer and extracts all the needed
information to write a minidump to a temp file. Then we write a byte
to the file descriptor which the renderer gave the browser in the
datagram and that's the signal to the renderer to finish dying. It
dies by sending itself the same signal which trigger the crash dump in
the first place, so it will appear to crash as normal as far as kernel
core dumps and waitpid are concerned.
The browser then constucts a MIME message in a temp file for upload to
the crash service. We then fork out to /usr/bin/wget to actually do
the upload (since Debian numbers suggest that 99.8% of users have wget
installed.) A second forked child unlinks the temp files once wget has
completed.
For a browser crash, everything works pretty much the same except that
the datagram step is omitted and we clone() off a process to ptrace
ourselves and write the minidump.
This code is only enabled in Chrome branded builds. Stub source files
are substituted in the case of a Chromium build.
http://codereview.chromium.org/115526
BUG=9646,10772
TEST=Build a Chrome branded binary. Send SEGV to a renderer and verify that wget output appears on stderr. Send a SEGV to the main binary and verify the same.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16719 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
string based.
Review URL: http://codereview.chromium.org/115510
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16369 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
(out of build/temp_gyp)
Review URL: http://codereview.chromium.org/113352
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15980 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
* Compile OS X dump_syms & symupload utilities from the public repository to simplify the branded builder.
* Correct comment in breakpad_mac_stubs.mm so it more accurately reflects reality.
Review URL: http://codereview.chromium.org/113114
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15574 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
* Link agasint Breakpad from public svn repo.
* Bump DEPS to new svn rev of Breakpad with fixes for 10.5 compilation.
* Fill in code to differentiate between processes types in crash report.
Review URL: http://codereview.chromium.org/88043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14245 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/87014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14110 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/62076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13223 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/53121
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12982 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
It has the fix to not timeout when the network is
too slow.
Review URL: http://codereview.chromium.org/53018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12412 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/42044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11388 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
(doesn't run correctly yet).
Switched all uses of windows system libraries that assumed they were in the include path to use -l (which will be
supported on windows in a separate change).
Review URL: http://codereview.chromium.org/27362
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10781 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
No code change.
B=4380
Review URL: http://codereview.chromium.org/19501
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8988 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also updates the .vcproj files themselves to fix minor stylistic
incompatibilities with the rest. Affected .vcproj files:
* No change (byte-for-byte identical):
media\build\media.vcproj
media\build\media_player.vcproj
media\build\media_unittests.vcproj
google_update\ondemand_updates.vcproj
* Remove .\ prefix where inconsistent with the rest of a filelist:
rlz\rlz.vcproj
breakpad\breakpad_handler.vcproj
* Add empty <ToolFiles>, <References> and <Globals> sections:
breakpad\breakpad_sender.vcproj
* Add explicit RootNamespace attribute:
sdch\sdch.vcproj
* Use Windows-canonical \ separators:
sdch\sdch.vcproj
* Remove unnecessary Filter and UniqueIdentifier attributes from
<Filter> declarations:
sdch\sdch.vcproj
Additional cleanups along for the ride:
* Split breakpad\SConscript logic into separate
breakpad_{handler,sender}.scons files.
* Add a media\media_player.scons configuration.
Review URL: http://codereview.chromium.org/18717
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8644 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
updated ICU dep that uses it as well.
Add a SHARED scons command-line flag to build shared libraries.
Review URL: http://codereview.chromium.org/16477
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7479 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(project files still to come). To wit:
* Solution file configuration is in *_sln.scons files (base\base_sln.scons,
chrome\chrome_sln.scons).
* Individual Project file configuration is in the the .scons file for
the relevant target (base\base_unittests.scons,
third_party\libxml\libxml.scons, etc.)--that is, where their file
lists will live.
* MSVSProject() calls are currently placeholders that establish
the existence of Project Nodes (and Project dependencies) but don't yet
have actual Project configuration information (file lists, .vsprops, etc.).
* Configuraiton is very manual. In particular, the entries in the .sln
file will be written out in exactly the order specified in the
configuration(s). The current ordering is taken from our existing
.sln files, so we can generate virtually the same configurations
on output.
* Generated solution files are nearly byte-for-byte identical
with our existing .sln files, modulo:
* net\dump_cache has a WebsiteProperties sections (making that
configurable per project isn't important right now);
* sandbox\sandbox.sln was missing a dependency of base.vcproj on
on debug_message.vcproj (present in other .sln files)
* webkit\webkit.sln was missing dependencies of WebCore.vcproj on
libxml_config.vcproj and libxslt_config.vcproj (present in
chrome.sln);
* add a handful of other miscellaneous missing dependencies on various
.vcproj definitions in chrome.sln (present in other .sln files).
* remove stats_viewer.csproj from chrome.sln (sorry, mbelshe),
which was complicating the solution configuration with unnecessary
(for us) "Mixed Platform" types;
* All MSVSFolder(), MSVSProject() and MSVSSolution() calls have
hard-wired guid= values taken from our existing configuration,
so we can: 1) verify generation of working configs; 2) minimize
diffs when checking in generated .sln files. We can remove
these in the future in favor of extracting them from existing
.sln files if we wish.
* Add ChromeMSVSFolder(), ChromeMSVSProject() and ChromeMSVSSolution()
wrappers to chromium_builders.py, that gate the underlying call to
the env.MSVS*() builders based on whether env.Bit('msvs') is set
(i.e., we're in --mode=msvs).
* Remove platform-specific gating of to-be-ported .scons files that we
now need to load on any platform to generate coheren MSVS files.
Move the env.Bit('windows') tests for actually building their
executables into the individual .scons files.
Review URL: http://codereview.chromium.org/14472
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7297 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and better-thought-out Hammer env.Bits() idioms:
* env['PLATFORM'] == 'win32' => env.Bit('windows')
* env['PLATFORM'] == 'posix' => env.Bit('linux')
* env['PLATFORM'] == 'darwin' => env.Bit('mac')
New idioms:
* env.Bit('posix') => really does mean "any POSIX platform"
* env.AnyBits('mac', 'linux') => specifically mac or linux, excluding
other POSIX platforms
Where we were using compound conditionals (e.g., "env['PLATFORM'] in
('posix', 'darwin')") I tried to take my best shot at translating
the intent (i.e., "env.Bits('posix')" for something POSIX, "not
env.Bits('mac')" for something not yet ported to Mac, etc.)
Review URL: http://codereview.chromium.org/15051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7270 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Patch fails otherwise on non-Windows platforms.
Review URL: http://codereview.chromium.org/14478
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7093 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/13133
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6372 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Move chrome/browser/SConscript => chrome/browser/browser.scons.
* Use using_*.scons files instead of by-hand settings.
* Add new using_*.scons files:
breakpad/using_breakpad.scons
chrome/third_party/hunspell/using_hunspell.scons
chrome/third_party/wtl/using_wtl.scons
google_update/using_google_update.scons
third_party/npapi/using_npapi.scons
* Delete some unused CPPPATH directories.
Review URL: http://codereview.chromium.org/9243
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4456 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
This will facilitate changing where the main sconstruct lives.
Review URL: http://codereview.chromium.org/7847
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3725 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
TBR: beng
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1607 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
skip and instead have in in the parent. This allows us to pull third-party sources or external repositories and not have to make them add a DEPS file for our deps checker.
BUG=1342686
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1358 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1011 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
TBR=evanm
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@823 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@754 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@600 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TBR: evanm,bradnelson
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@304 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
various SConscripts into readable and maintainable shape. To wit:
* Put the near-universal settings of /DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS, /DWIN32_LEAN_AND_MEAN, /wd4503 and /wd4819 in the base construction environment.
* Sort various unsorted source file lists.
* Fix indentation and quoting for consistency in a couple SConscript files that escaped previous dragnets.
* Eliminate two left-over uses of Split() for input file lists.
* Give the devenv invocation to build v8_shell.exe the full path to the relevant .vcproj file.
* Add /nologo to the base LINKFLAGS setting.
* Remove various CPPPATH and other settings that have been hanging around commented out from the Visual Studio build (in case we needed them, which we evidently don't).
* Get rid of unnecessary env.File() and env.Dir() calls in various settings (esp. CPPPATH) and source file lists.
* Add copyright notice to an overlooked SConscript file.
* Clean up version.bat invocation.
TBR: bradnelson
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174 0039d316-1c4b-4281-b951-d872f2087c98
|
|
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6 0039d316-1c4b-4281-b951-d872f2087c98
|