Re: [Pyobjc-dev] Crash on Intel When Scrolling NSOutlineView With adjustScroll: Overridden
Brought to you by:
ronaldoussoren
From: Bob I. <bo...@re...> - 2006-06-13 21:11:04
|
On Jun 13, 2006, at 1:52 PM, Ronald Oussoren wrote: > > On 13-jun-2006, at 22:08, Ronald Oussoren wrote: > > >>> >>> <http://mjtsai.com/files/PyOutlineEdit.app.dmg> >> >> I'm slowly getting very depressed from this. I have no idea what >> causes this and haven't managed to reproduce this crash outside of >> an application bundle yet. It doesn't seem to have anything to do >> with stack alignment or memory corruption. > > I spoke too soon, the application crashes with the instruction > pointer at 0x9038c54c and according to gdb the instruction there is > 'movdqu %xmm0, -168(%ebp)'. And guess what, the address -168(%ebp) > isn't a multiple of 16 as it should be (that address % 16 is 12). > > The function at that fails is called a lot and stack alignment > starts out all right. I haven't got a clue why this changes, it > seems that someone isn't cleaning up after itself because PyObjC > isn't in the callstack except for the wrapper for NSApplicationMain. Maybe you could add some kind of assertion to libffi so that it checks the stack alignment on every function call? It'd be a lot easier to find out what's wrong if it crashed every time the stack was mangled instead of just when particular alignment sensitive SSE2 functions get called... -bob |