Monday, May 30, 2005

iMac G5 Developer Note - hardware

iMac G5 Developer Note

Via Macintouch. These notes have far more detail on the new G5s than Apple's marketing materials. The SuperDrive supports DVD+R double layer format, for example. Power supply is 180W.

Note the memory specs:
Additional DIMMs can be installed. The combined memory of all of the DIMMs installed is configured as a contiguous array of memory. The throughput of the 400 MHz memory bus is dependent on the DIMMs installed. If only one DIMM is installed, the memory bus is 64-bit. If two non-identical DIMMs are installed, there are two 64–bit memory buses. If two identical DIMMs are installed, the memory bus is 128-bit. Identical DIMM pairs have the same size and composition and provide the fastest and most efficient throughput.
On PCs at least paired DIMMS have to be purchased together. So when you buy a G5 with 512MB of DRAM, you've got to sell that somehow to get the fastest memory -- or donate it to a friend!

Saturday, May 28, 2005

Shoebox: yet another OS X media management package

Shoebox
Like several others it claims iPhoto "import and export", but what they describe seems pretty simplistic. Perhaps they do more than it seems, but true iPhoto integration is not a trivial task. I'm still hoping for an 'iPhoto Pro' replacement for iPhoto build atop Tiger's infrastructure.

iMac essential: a thermal monitoring program

Macintouch: iMac G5 (Part 9)
Scott Richardson

Anyone that is suspecting fan or thermal problems with a newer Macintosh should get hold of the free program called Temperature Monitor or, for more detailed sensor information, the $9 shareware Hardware Monitor by the same author, and
run it in record history mode. Hardware Monitor will give you very detailed sensor data, and a plot recording of exactly what is going on within your system - temperature sensors, fan speeds, current, and voltage readings, plus you will have hard copy proof to show Apple Support if there is a warranty issue with your machine, especially if it is highly intermittent thermal problem you are trying to record on paper (like a fan that quits, or a power supply that goes out of spec). Couple this sensor data with the Console Log time stamp, and you have a very detailed record of any intermittent problems. Without the sensor data, you are really in the dark.

Thursday, May 26, 2005

iMac 2nd generation: temperature data

Macintouch: iMac G5 (Part 9)

There have been 3 possible inter-related problems with the first generation iMacs:

1. Cooling problems.
2. Inadequate power supply.
3. Leaking capacitors.

So this temperature data on 2nd generation iMacs is interesting:
Scott McDonald

I'm wondering if there's a compilation of CPU temperatures that users are seeing on the new iMac G5's - I have a 2nd generation 2GHz 17" iMac, I'm seeing CPU temperature of 132 - 140 F when it's running mail only - when I'm actively using it to do Photo editing, web surfing, etc., the temperature is usually around 150-160 F.

If I turn the processor performance from 'automatic' to 'highest' I instantly see a jump in temperature on the CPU - I'm wondering what temperatures others with the new iMacs are seeing.

These are my current readings from a session that I'm VNCed into, the Mac is only running Mail.app at the moment:

125.6 F <-- Hard Drive
141.5 F <-- CPU
122.0 F <-- Smart Disk ST3160023AS

I'm using Temperature Monitor 2.5 from Marcel Bresink Software-Systeme. [You could try Jeremy Kezer's ThermographX. It includes periodically updated graphs of user-submitted temperature records. -MacInTouch]

Chris Perardi

Just thought I'd report in on the CPU temperatures of my new 2.0 GHz iMac G5 with 512 megabytes of RAM and 250 gigabyte hard drive. The temperature under a fairly mild load (listening to iTunes, browsing in Camino) stays a pretty constant 65¼C. The room temperature is around ~21¼C. During a fairly heavy load (watching XViD encoded video with VLC in the background while working on GoLive CS in the foreground) the temperature has spiked up to 80¼C, which is the highest I've been able to achieve.

The fan noise seem to be pretty constant. It's not a "whoosh" sound I'm used to in previous Macs; it's more of a higher-pitched whine. Slightly annoying, but I'm usually playing music anyway, which drowns it out completely. The machine almost always stays cool to the touch, except, somewhat oddly in my opinion, after waking up the system in the morning. Overall, I've been quite happy. The iMac has been very fast, the Migration Assistant was awesomely useful, and it's nice to have a Core Graphics capable graphics card.
If Apple is indeed talking to Intel about anything, I suspect it's because they can't get the G5 into a laptop. Intel has done incredibly well at producing relatively cool and energy efficient chips that that still perform quite well.

If one is torn between the 17" and 20" iMacs, a possible justification for the 20" is that there may be more room for the G5 to dissipate heat into.

Audiocorder for OS X: handy for general office use

Audiocorder 4.3.2 records audio to the hard disk of a Mac and includes timed recording, VOX (voice-controlled) recording, iTunes integration, and other features.... Audiocorder is $19.99 for Mac OS X and Mac OS 9.

Wednesday, May 25, 2005

Obscure OS X Tiger upgrade bug: runaway process related to automated file defragmentation?

MacInTouch Home Page

This may occur specifically with upgrades from older systems that may date back to 10.1. Some OS crashes may also trigger it. Sounds complex:
Several people followed up on a strange problem with "runaway" processes in Mac OS X:

[MacInTouch Reader] I had the same problem with the unkillable "update" process regularly hijacking the entire processor on my iMac G3 400MHz after upgrading to Tiger over a Panther installation. It would occur every 12 hours or so and could only be stopped with a forced reboot. This discussion at Apple put me on the right track to solving the problem. Specifically, checking the system log in Console revealed repeated errors such as:

"hotfiles_evict: err 28 relocating file 27611"

suggesting that the system was getting "stuck" while relocating a certain file. The discusion also suggested using hfsdebug to identify the file and delete it manually.

Unfortunately on my iMac, hfsdebug was unable to identify the file while the "update" process was running, so I had to record the file number from the error message, then run hfsdebug in the Terminal after force-rebooting the iMac. I was then able to locate and manually trash the offending file in the Finder.

This went on for a few days, with the "update" process reappearing every 12 hours or so, getting stuck on a new file. I noticed that the stuck file identification numbers were increasing (about a dozen files between 14931 and 112976), and that all of the files were quite old, created around 2001 or 2002. (I had not performed a clean install since the Public Beta days.)

Well after a few days of catching the "update" process in the act and manually deleting the problem files, I can happily report that the problem has disappeared and my ageing iMac is good as new!

["Xratchy"] The "update" problem has nothing to do with "System Update". The update program will have added lines to your system.log. Check them out for

hotfiles_evict: err 28 relocating file 20

The meaning for the error number can be found in

/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/errno.h
#define ENOSPC 28
/* No space left on device */

It's a bug in the kernel in the disk optimizing (defragment-hotfiles) code, where the opitomizing process doesn't find a free contiguous-block of disk space.

It's triggered in this case when there is no more continuous free block available, where the process needs/expect one, then it will just retry the search and brings your system to a halt.
The optimizing process is also triggered by opening a file, not only on reading/writing.

Try to make sure to have 10% disk space free at all times (if it's error 28). (Virtual memory can eat a lot of disk space.) Check your disk for errors after the crash (with your Tiger disk - Panther doesn't find/fix them all).

OS X esoterica: roots in NeXTStep and the Installer

The following as a comment in a discussion thread on the location of OS X applications. In general OS X applications, once installed, should not be relocated. This is similar to Windows, but in addition many OS X applications have very rigid requirements for installation paths. This is more restrictive than Windows.

It's also very strange for MacOS veterans. The original MacOS maintained a superb level of indirection between an applications physical storage and its unique indentifier. This level of indirection was broken with OS X, a result of the UNIX roots of NeXTStep and thus of OS X.

Alex Blewitt describes this in some detail. For OS X geeks his discussion is quite revealing. Emphases mine. Note the nasty bug -- in general I avoid symlinks.
# Alex Blewitt wrote on May 25th, 2005 at 1:09 am:

The applications can’t easily be moved and then referenced with a symbolic link. It might stand a better chance with an HFS Alias, but that’s no good if it’s on a different partition, since HFS Aliases only work on the same HFS partition (IIRC).

The problem is that the Mac OS X Installer program (which dates back to NeXT days, by the way, not Mac OS proper) packages its applications up in a compressed format called PAX; which is rather like the Unix TAR but just different. Unfortunately, the un-PAXer engine (pax -r) will overwrite symlink’d directories and replace them with real directories instead. This has been a known bug since time began; it may have been fixed in 10.4 but I’m not expecting it to have been.

Although most apps can be moved, there are a few ‘gotchas’. Unlike comment 3 indicates, most apps don’t write into /bin or /usr/bin (the only ones really being stuff like X.app and XCode.app which include command-line-compilery things). However, they can install private frameworks into /System/Library/PrivateFrameworks/ (which is a kind of Mac OS X dynamic link library, if you’re interested). The iLife apps are an example of this, as are the Apple Pro tools (which use Pro Application Support, or some arrangement of those words). [jf: these framworks have resources which remind me of old MacOS apps]

Since the app in a few cases is a shell to the underlying framework (e.g. Safari is a set of widgets around the WebCore framework, QuicktimePlayer is a set of widgets around the Quicktime framework etc.) it’s not safe to just move the app elsewhere, as it will rely on the framework versions too. This is one reason why they are all bodged to install only on / [jf: / is root] in case you’re interested; they have to write the app, and the framework in the OS partition there as well [jf: the path to the framework is a relative path]. For example, you can’t (easily) set up iPhoto.app on a networked share, because you also need the framework set up as well. (However, you can set the framework up on a networked share too …)

It’s also worth noting that ‘Applications’ is the well-known name for putting apps in, which is why if you create a user account and put a directory called ‘Applications’ in, it turns into the specific icon for an Applications directory. Ditto for Library, and Mac OS X will go through a search path for finding apps:
~/Applications /Applications /Network/Applications (/Developer/Applications)
as well as libraries:
~/Library /Library /System/Library /Network/Library (/Developer/Library ?)

From this, it’s relatively easy to create a share and mount a directory into the /Network/Applications and /Network/Library which are part of the known search path. Whilst it doesn’t matter too much about the applications, it’s really handy having the frameworks available in /Network/Library as well. To achieve this, you’ll need a server capable of hosting shares (I use NFS; I’ve found AFP to be problematic at best of times, but it’s getting better) and then mount them into /Network/Applications and /Network/Library.

For example, if you have a FireWire drive that you want to put stuff in, stick them in /Volumes/MyBigDrive/Applications (and ../Libraries as well). Then, set up an NFS export (see Mac OS X hints for how :-) for /Volumes/MyBigDrive/Applications and then re-mount it as /Network/Applications; ditto for Libraries. You should then see them in the /Network tab in your drawer.

When updates come out, you can install them onto a different ‘target’, although (to my knowledge) not via the Installer app itself. Download the package (Download and Keep from Software Update), then run it with ‘installer -target /Volumes/MyBigDrive -pkg SecUpd_1023.pkg’. (If you want to get rid of excess languages, you can also add -lang en to only install English)

A few of the apps (mostly the iLife ones) will attempt to complain if the drive isn’t / — but that can be fixed. There’s a file called something like preinstall in the SecUpd_1023.pkg/Contents/Resources directory; there’s usually something like ‘if [ $drive = ‘/’ ]; echo “You must install this on /”; exit 1′ in there. Removing this line, or getting rid of the exit will allow you to install it anywhere you want.

The other approach (and the one that Apple wants people to do) is to image a virgin Mac with the disk image utility, and then make the image available via NetBoot. That way, all macs have exactly the same image at all times; when an update comes in, you can test it on your ‘virgin’ mac, and then push the image everywhere. I’m not sure if these imaging tools are only part of Mac OS X Server, but given that they are just DiskUtility type ‘make an image of this hard drive’ it’s not entirely impossible to do it outside of a Server environment.

Of course, I’ve not had time to go into the /Library/Receipts folder for what you’ve installed where, but you might want to move the receipts into the shared /Network/Library/Receipts for the packages that you have installed on the shared drive in the past…