Giter Club home page Giter Club logo

Comments (5)

GoogleCodeExporter avatar GoogleCodeExporter commented on July 21, 2024

Original comment by [email protected] on 9 May 2007 at 6:12

  • Added labels: Component-Client-Handler, OpSys-OSX

from google-breakpad.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 21, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 21, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 21, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 21, 2024

Original comment by [email protected] on 22 May 2007 at 5:43

  • Changed state: Fixed

from google-breakpad.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.