Comments (5)
Original comment by [email protected]
on 9 May 2007 at 6:12
- Added labels: Component-Client-Handler, OpSys-OSX
from google-breakpad.
I've traced this back to malloc heap corruption of DynamicImage() members. The
attached log was done with debug-by-printf... you can see malloc errors while
walking
the dynamic images like so:
firefox-bin(3114,0x1f801c00) malloc: *** error for object 0x38523be0: incorrect
checksum for freed object - object was probably modified after being freed,
break at
szone_error to debug
I'm quite surprised that the handler is doing any allocations at all... the
Windows
handler was paraniod about doing no allocations and using preallocated buffers.
I think we should probably be using a preallocated buffer and arenas for
objects that
need to be created during handling. But I'm wondering... why do we need this
complicated object structure? Couldn't most of that work be done directly in
loops
and written to the dumpfile without keeping a DynamicImages() object around at
all?
Original comment by [email protected]
on 17 May 2007 at 6:26
Attachments:
from google-breakpad.
I replaced the dyld calls with the DynamicImage stuff in order to inspect the
crashed process and generate a
report from another process. So in our usage, the mallocs are not an issue
since they're not happening in the
crashed process itself.
Probably, what we should do for the case where the minidump generation happens
in the crashed process is
revert back to the old dyld calls.
Original comment by [email protected]
on 17 May 2007 at 6:50
from google-breakpad.
I've attached a patch to minidump_generator.cc to avoid these mallocs if the
generation is happening in the
crashed process
Original comment by [email protected]
on 21 May 2007 at 9:13
Attachments:
from google-breakpad.
Original comment by [email protected]
on 22 May 2007 at 5:43
- Changed state: Fixed
from google-breakpad.
Related Issues (20)
- Linux symbol dumper should discard the "age" field in the first line of symbol file HOT 2
- Wrong version of swprintf used with VS 7.1 CRT HOT 2
- dump_syms crashes in c++filt in some cases HOT 2
- Crash when processing file names less then 4 bytes HOT 2
- Build fails against the 10.3.9 sdk. HOT 3
- Minidump without context crashes the processor HOT 2
- mac dump_syms produces different module GUIDs for stripped Universal Binary vs. unstripped native binary HOT 4
- linux dump_syms should write to stdout HOT 3
- consider including MD5 code in breakpad source HOT 4
- OS X dump_syms produces bad sym file - line data after PUBLIC HOT 5
- OS X dump_syms could call __cxa_demangle directly instead of using c++filt HOT 4
- Allow crash report generation from other process on Mac HOT 2
- dynamic_images.h doesn't build on gcc 3 HOT 2
- Mac exception_handler calls exit() instead of _exit() HOT 2
- handle pure virtual function calls in VC++ HOT 5
- dynamic_images.cc doesn't build on 10.3.9 SDK HOT 1
- MACHINE_THREAD_STATE on older 10.4 versions. HOT 1
- Stacks truncated on win32 HOT 1
- dump_syms on Mac only has line numbers for __TEXT__text section HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from google-breakpad.