Re: weird IOKit crash in IOIteratorNext()
Re: weird IOKit crash in IOIteratorNext()
- Subject: Re: weird IOKit crash in IOIteratorNext()
- From: Chris Thomas <email@hidden>
- Date: Mon, 5 Dec 2005 10:20:00 -0500
On Dec 1, 2005, at 10:08 PM, Julian Mayer wrote:
IOIteratorNext does not call CFRelease at + 0x10, it calls
_io_iterator_next by way of a dyld_stub, which loads a function
pointer and jumps to it. There are only two reasonable ways that
dyld's function pointer could be wrong.
- its prebound, incorrectly.
- its been stomped by a memory smasher.
My bet, from having witnessed this happen before, is the first.
it is still not clear to me why the binary in question crashes on
one machine and runs properly on all other...is there a real
problem and the prebinding problem only accounts for an incorrect
crash log, or is prebinding completely responsible for the problem?
if so, what do i have to do to remedy this problem? does this also
mean that the rest of the crash log is also wrong?
You may find a difference between 10.3.9 vs 10.4.x. Also, if
prebinding is redone by an installer, the problem may (or may not) be
magically fixed (or magically broken).
In one case -- in a dylib I dynamically loaded using NSAddImage --
not only did I have to disable prebinding, I had to set the "bind
everything at load time" flag. It "just worked" on 10.4.x, but on
10.3.9, it would bind incorrectly at runtime -- but not on all 10.3.9
systems, just some of them...
You might turn off prebinding and see if that fixes the issue.
Chris
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden