aboutsummaryrefslogtreecommitdiff
path: root/src/client/mac/handler
Commit message (Collapse)AuthorAgeFilesLines
* Fix a Breakpad crash during teardown when USE_PROTECTED_ALLOCATIONS is inmark@chromium.org2011-08-261-0/+8
| | | | | | | | | | | | effect. BUG=none TEST=Apple Crash Reporter logs from processes in which Breakpad handles the crash should point the finger at the actual crash source, not the Breakpad thread's attempt to write to unwritable memory. Review URL: http://breakpad.appspot.com/301001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@828 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add missing (parentehses.)mark@chromium.org2011-08-261-1/+1
| | | | | | | | BUG=247, chromium:94107 TEST=Minidump file sizes should be manageable Review URL: http://breakpad.appspot.com/300002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@827 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix CalculateStackSize to behave properly when the main thread's stack ismark@chromium.org2011-08-252-27/+32
| | | | | | | | | | | | | | | | | | split up into multiple regions. An older workaround relyied on known fixed stack locations and only filled in the initial page of the stack if it was in a distinct region. The new approach looks upwards for additional regions that appear to be part of the same stack. With PIE on Lion, the stack no longer begins at a fixed address, so the older workaround became ineffective. BUG=247, chromium:94107 TEST=Stacks should run through to _main/start and then stop when examining Chrome on Lion with PIE and "slid" stacks. Review URL: http://breakpad.appspot.com/300001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@826 4c0a9323-5329-0410-9bdc-e9ce6186880e
* The process_id field is unsigned, so we need this cast in c++0x.mark@chromium.org2011-08-111-1/+2
| | | | | | | | | Patch by Rafael Ávila de Espí­ndola <respindola@mozilla.com> https://bugzilla.mozilla.org/show_bug.cgi?id=677644 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@825 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix clang warnings.mark@chromium.org2011-08-111-2/+2
| | | | | | Review URL: http://breakpad.appspot.com/298002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@823 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a typo in r817ted.mielczarek2011-07-271-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@820 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix compilation using the OS X 10.7 SDK by #ifdefing out PPC support when ↵ted.mielczarek@gmail.com2011-07-262-1/+22
| | | | | | | | targeting 10.7, as PPC support has been removed from the 10.7 SDK A=Rafael Ávila de Espíndola <respindola@mozilla.com>, R=ted at https://bugzilla.mozilla.org/show_bug.cgi?id=673789 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@817 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use task_info(..., TASK_DYLD_INFO, ...) on 10.6 and later in preference tommentovai2011-04-051-5/+57
| | | | | | | looking up the _dyld_all_image_infos symbol in /usr/lib/dyld. Review URL: http://breakpad.appspot.com/276001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@786 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Rename duplicate argument names to make it compile with CLang.ted.mielczarek2011-01-251-8/+8
| | | | | | P=rafael.espindola R=ted at http://breakpad.appspot.com/248001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@765 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix MinidumpGenerator::WriteExceptionStream for writing cross-architecture dumpsted.mielczarek@gmail.com2010-12-161-5/+2
| | | | | | R=mark at http://breakpad.appspot.com/244001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@747 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow out-of-process minidump generation to work on processes of a different ↵ted.mielczarek@gmail.com2010-12-156-620/+899
| | | | | | | | CPU architecture R=mark at http://breakpad.appspot.com/241001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@746 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow writing on-request minidumps with an exception streamted.mielczarek@gmail.com2010-12-152-33/+79
| | | | | | R=mark at http://breakpad.appspot.com/172001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@745 4c0a9323-5329-0410-9bdc-e9ce6186880e
* issue 334 - Fix a race condition between ExceptionHandler::Teardown and ↵ted.mielczarek@gmail.com2010-12-152-6/+14
| | | | | | | | ExceptionHandler::WaitForMessage on OS X R=mark at http://breakpad.appspot.com/165001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@744 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add some unit tests for the mac MinidumpGeneratorted.mielczarek2010-12-131-81/+0
| | | | | | R=mark at http://breakpad.appspot.com/240001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@742 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix WriteMemoryListStream to remove an extraneous loop index variable increment.ted.mielczarek2010-11-301-1/+1
| | | | | | | Patch by timeless <timeless@mozdev.org>, R=me, unittest by me. See https://bugzilla.mozilla.org/show_bug.cgi?id=615534 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@735 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Write a window of memory around the instruction pointer from the crashing ↵ted.mielczarek2010-09-232-3/+132
| | | | | | | | thread to the minidump on OS X. R=nealsid at http://breakpad.appspot.com/200001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@699 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow dumping live processes on OS Xted.mielczarek@gmail.com2010-08-133-1/+44
| | | | | | R=mark at http://breakpad.appspot.com/148001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@647 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Implement CrashGeneration{Client,Server} for OOP dump generation on OS X, ↵ted.mielczarek@gmail.com2010-08-132-4/+34
| | | | | | | | enable OOP dump generation in ExceptionHandler R=mark at http://breakpad.appspot.com/146001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@646 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Change exception_handler_test.cc to use Google Testted.mielczarek@gmail.com2010-08-121-99/+0
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@641 4c0a9323-5329-0410-9bdc-e9ce6186880e
* review: http://breakpad.appspot.com/139001dmaclach2010-07-291-0/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@636 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Review: http://breakpad.appspot.com/136001dmaclach2010-07-284-199/+74
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@633 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Clean up build for 64 bit.dmaclach2010-07-197-42/+55
| | | | | | | | | | | Fix up some broken mac projects. Consolidate project settings in xcconfig files. http://breakpad.appspot.com/130001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@627 4c0a9323-5329-0410-9bdc-e9ce6186880e
* issue 372 - fix Mac OS X minidump generation code to handle x86-64 properly. ↵ted.mielczarek2010-04-291-4/+23
| | | | | | r=mark at http://breakpad.appspot.com/103001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@578 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 39002: Breakpad DWARF parser: Move DWARF parser to ↵jimblandy@gmail.com2009-12-151-3/+3
| | | | | | | | | | | | | | | | platform-independent directory. Move the DWARF parser, and the functioninfo.cc DWARF consumer, from src/common/mac/dwarf to src/commmon/dwarf, so that it can be shared between the Mac and Linux dumpers. Fix up #include directives, multiple inclusion protection macros, and Xcode build files. a=jimblandy, r=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@446 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Mozilla bug 532713 - OS X client code doesn't decoded extended family ids in ↵ted.mielczarek2009-12-141-0/+15
| | | | | | CPU info. Patch by Jeff Muizelaar <jmuizelaar@mozilla.com>, r=me git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@440 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Forward exceptions in child processes to Apple's Crash Reporternealsid2009-11-181-0/+3
| | | | | | | | | | http://breakpad.appspot.com/38001/show R=mmentovai, jeremy A=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@429 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Always export catch_exception_raise.mmentovai2009-11-111-1/+4
| | | | | | | | | Patch by Jeremy Moskovich <jeremy@chromium.org> Code review URL: http://breakpad.appspot.com/37001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@428 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix compilation of OS X handler on PPC with 10.5 SDK. r=nealsid at ↵ted.mielczarek2009-09-302-18/+5
| | | | | | http://breakpad.appspot.com/30001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@404 4c0a9323-5329-0410-9bdc-e9ce6186880e
* issue 323 - OS X exception handler / minidump generator should set exception ↵ted.mielczarek2009-06-125-10/+26
| | | | | | address correctly for EXC_BAD_ACCESS . r=nealsid at http://breakpad.appspot.com/15002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@350 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Patch from Jeremy to have better error reporting, and workaround a Cocoa bug ↵nealsid2009-05-151-1/+2
| | | | | | | | | | in different locales R=nealsid A=jeremy git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@339 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix to support extensible parameter handling, and add process ↵nealsid2009-04-221-9/+1
| | | | | | | | | | | crashtime/uptime support R=stuart morgan A=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@331 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Patch from Jeremy Moskovich to build with 10.5 SDK correctly. Also removed ↵nealsid2009-04-212-8/+18
| | | | | | | | | | | externals directory. A=jeremy R=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@328 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Open sourcing the Breakpad framework from Google. nealsid2009-04-013-10/+8
| | | | | | | | | A=many, many people R=nealsid, jeremy moskovich(from Chromium project) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@322 4c0a9323-5329-0410-9bdc-e9ce6186880e
* New test data to reflect Ted's changes that add function parameters to ↵nealsid2008-12-191-3318/+3457
| | | | | | | | | | symbols when using DWARF R=ted.mielczarek git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@305 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Added some sanity checks when iterating over threads in a crashed process. ↵nealsid2008-11-191-22/+47
| | | | | | | | | | In same cases the ESP could be 0. In other cases it would be borked completely(i.e. pointing to an invalid range). R=Jeremy Moskovich git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@295 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Undo suspend/resume feature since it was meant as a workaround to a bug in ↵nealsid2008-10-272-61/+20
| | | | | | how we handled child process exceptions. Currently we don't return to the kernel when we take an exception from a child process, causing a hang. Now we return KERN_FAILURE, indicating to the kernel to move on to the host-level exception handler(usually Crash Reporter) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@292 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 181: Add version info for Mac OS X modules. Found by iterating over ↵nealsid2008-10-225-94/+160
| | | | | | load commands until I found LC_ID_DYLIB. Also modified crash_report to generate version number. Also added suspend/resume capability to exception handler, necessary because exception handling can behave strangely across fork() calls. Also added fix for filtering out functions with no line number information, and for filtering out some multiple inheritance glue the compiler generates. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@291 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Added DWARF support to Breakpad client. Thanks to Google for open sourcing ↵nealsid2008-10-086-1/+5456
| | | | | | | | | | | | their DWARF code! Modified dump_syms to detect dSYM bundles or a binary with DWARF data appropriately, and convert data from DWARF reader to dump_syms native structures R=danny.berlin (original writer of DWARF code) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@286 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Now we provide our own implementation of the MIG function exc_server, as ↵nealsid2008-07-114-0/+2083
| | | | | | | | | | | | recommended by Apple. See http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/8b363b1f8a404714 For more information git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@282 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Filter out duplicates from the image list when creating a minidump. See ↵nealsid2008-06-042-0/+13
| | | | | | | | | | issue 266 for more details. Reviewer = mmentovai git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@277 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix to stop unit tests from being compiled & run for non-native architecturesnealsid2008-05-081-4/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@272 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Bug fix for issue 263: mach_vm_region_recurse calls have invalid parameter ↵nealsid2008-05-072-5/+4
| | | | | | | | | specified, which succeeds on Leopard but fails on Tiger Reviewer: Chris Rogers(ladderbreaker) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@269 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 261/262: 64-bit bug fix when iterating through load commands of a ↵nealsid2008-05-054-140/+21
| | | | | | 64-bit binary, and added new test case for ReadImageInfoForTask git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@266 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Style changesnealsid2008-04-302-4/+3
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@265 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Updated code to be compliant with style guidelinesnealsid2008-04-299-70/+185
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@264 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 258: Added test cases for ReadTaskMemory, reorganized project file, ↵nealsid2008-04-2512-157/+429
| | | | | | renamed filenames inside comments git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@263 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a bug in start address calculationnealsid2008-04-171-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@261 4c0a9323-5329-0410-9bdc-e9ce6186880e
* As part of resolving issue 256 I'd like to check in some unitnealsid2008-04-155-5/+414
| | | | | | | | | | | | | | | | | | | | tests(ok, just one) for the private copy of nlist that I checked in last week, plus lay some of the ground work for collecting code coverage numbers. Both of these are accomplished by leveraging the built-in facilities of Xcode & Developer Tools(namely, CPlusTest and gcov integration; however, eventually I will also add a way to get lcov results from the gcov results). I also: - renamed breakpad_nlist_64.c to breakpad_nlist_64.cc to be more consistent(even though it's not C++ code it still only gets called by C++ code so I don't have to deal with extern "C" constructs). - I created a new target (minidump_tests) that has a "Coverage" configuration with the appropriate GCC flags turned on. It is only compiled in 64-bit configurations and has 10.5 as a minimum deployment target as well as uses the 10.5 SDK. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@260 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 254: The problem is that nlist() is compiled out of libc innealsid2008-04-125-9/+452
| | | | | | | | | | | 64-bit builds of Leopard. I ported the code over myself and will check it into the Breakpad tree until we decide there's a better longer-term solution. If you want to diff the changes, the Apple source is in libc/gen/nlist.c(I used 498 from 10.5.2). git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@259 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 246: Dynamic_images.* needs to be 64-bit ready. Created types that are ↵nealsid2008-04-045-192/+371
| | | | | | typedefed to the appropriate types depending on 32/64-bit compilation and modified dynamic_images to use these new types. Tested 32-bit minidump-generation. Also did some code cleanup along the way. Removed all blank lines that had spaces. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@253 4c0a9323-5329-0410-9bdc-e9ce6186880e