Re: idl6.3 bug on Macintel? [message #50881 is a reply to message #50781] |
Thu, 19 October 2006 09:33  |
Christopher Thom
Messages: 66 Registered: October 2006
|
Member |
|
|
Quoth Karl Schultz:
> Faithful followers of this newsgroup may recall a similar issue with the
> ppc architecture back in the OS X 10.1 or 10.2 days. The memcpy()
> function is implemented with Altivec instructions to speed it up. The
> OS X signal handler mechanism didn't save/restore the Altivec registers
> when handling the signal. If the signal handler code used memcpy(), it
> would change the state of the Altivec registers and when the main thread
> resumed execution of the memcpy, the wrong stuff was in the Altivec
> registers, and plop!
>
> (IDL uses a couple of signal handlers for various things, one of them
> being repairing graphics windows periodically)
>
> Memcpy() in OS X for the intel architecture uses the MMX registers for
> performance. And the signal handler was failing to save/restore the MMX
> registers. The situation is slightly worse here because the MMX
> registers and the floating point stack regs share the same register file
> on these chips. So, if the signal hander does a memcpy() or executes an
> FP operation, the MMX register state changes, and the memcpy operation
> in the main thread is compromised.
Thanks karl, for some excellent information. It is an incredibly
frustrating excercise in futility attempting to get any kind of
information from Apple (and their "technical" support, who are apparently
terrified of the mention of registers or library linking). The only decent
information I've had so far is from your post and the IDL tech tip. 'tis
much appreciated!
> Understood. The tech tip does a good job of explaining your options.
> We reported the X app problem to Apple and they said it was a duplicate,
> so others have also reported the same problem. All we can do is hope
> that 10.4.9, or a patch for this specific problem, comes out soon.
Yeah, the options in the tech tip were quite helpful. Since I'm reliant on
my ppc X11 apps, and really need idl to be working smoothly, I opted for
the "device, /notimer" solution, which seems to be working smoothly. I'm
2/3 the way through my data reduction without a hitch. kudos!
Fingers crossed for a patch from apple soon, but i suspect that it's been
dropped into the "wait for 10.5" basket...
cheers
chris
|
|
|