I've been having some strange problems with my Mac Book Pro lately. Nothing very serious; it just doesn't always go to sleep when I tell it to. The screen goes blank, and the little "sleep" light comes on, but it doesn't blink, and the hard drive and fans are still running. Sometimes it will complete the transition after a few minutes, but often I've come back after hours to find it still halfway there.
I've checked around; a few other people say they've seen this, but so far nobody knows why. I've tried shutting down all apps; it still does this. Lately, I've been doing full shutdowns when I quit for the day.
And THAT caused me more trouble. Monday night I remembered that I had not shutdown and headed toward the computer.. unfortunately I was carrying a glass of milk and, yeah, I spilled some on my keyboard..
Not much, just a little splash on the right hand side. I shut down immediately and tipped the machine upside down to drain, but I knew I was never going to get that milk out and while I could run a detached keyboard under water and have hope, I don't think that would be smart with the MacBook.
Sure enough, Tuesday morning found part of the keyboard dead. I was lucky that I was able to login - I had several dead keys and others would randomly capitalize.. ugggh. I had an 8:00 AM appointment with a new customer in R.I. so I threw the computer in its bag and rushed out the door. I got about a mile down the road when I realized I had no cash, so I turned around and went home to get some from my wife's wallet. I then set out again, a few minutes late but I always leave myself plenty of time so I'd be fine.
It was when I got onto Rte 295 heading into R.I. when I realized that I didn't have my cell phone.
My first rather stupid thought was that I needed to call my wife to tell her that I didn't have it. So I reached for my cell phone.. DUH!. OK.. pay phones? Ha.. darn few of those any more.. oh, well, wait til I get to the customer..
This customer had two problems: broken Visionfs and broken backups. The ancient SCO system was running on an old HP E-50 server - remember when those were cutting edge? SCO 5.0.5, appropriate patches, plenty of disk space.. I looked at Visionfs first although the customer said that it had stopped working coincidentally with the backup. I dismissed that as pure coincidence and dug in.
After a couple of false starts, I realized that the Visionfs was strictly a perms issue. Execute permission had been removed from everything, including directories. That made me very suspicious and nervous that someone had down a high level recursive chmod, but no, as far as I could see it was only Visionfs that had been changed. I fixed it, we tested and all was fine.. I did suggest that since all they were using this for was to let Unix print to two Windows attached printers, they'd be smarter to put those printers on print servers, and they said they thought that was a good idea.
The backup was just a dead tape drive. They knew that, but were hesitant to replace it because of cost. This system is slated for replacement Real Soon Now. They therefore were doing an FTP get from their New Hampshire offices, but of course ordinary FTP can't get the whole system - it will hang up on device files and pipes. As they had been running Microlite Edge, I suggested we just upgrade that to a new version that would be able to do ftp up to their New Hampshire office. Again, they agreed, so I downloaded the upgrade, installed it and configured it to do the backups.
I sent off an email to my wife before I left in case she was sleeping late and headed back for the road. Destination: Apple Store in Braintree.
The store was busy as most Apple stores are. As I've been buying Apple stock since they came out with OS X, I love seeing that. I didn't have to wait long for someone to look over my computer and agree that it needs a new keyboard - that'll be around $150 with labor.. an expensive glass of milk, but there it is. However, the Apple Genius suggested that since they did not have the part in stock, I might want to just buy a USB keyboard and take the machine home for now. I agreed that was a good idea..
I sent another email to my wife while at the store and found that she had taken one call for me, another new customer needing help relinking a SCO kernel. I told her I'd be home soon.
When I did get home, that customer had already called twice again and had sent email. The problem was that there was a syntax error in /usr/include/sys.h so the kernel couldn't compile. I arranged for remote access and soon enough was logged in. The USB keyboard was working fine, but suddenly started acting like the Enter key was being held down. Obviously that was coming from the built-in keyboard, so I pried the cap off and the repeating stopped. However, a few moments later the Delete key acted like it was stuck and I couldn't clear that, so I shut it all down. I suppose I could open the machine and disconnect the keyboard, but that's a big job.
So I switched to a Linux box and reconnected. The first thing I did was check the file date on /usr/include/sys/user.h - it was from the original install, so nobody had touched it. I compared the size to another 5.0.6 system; they were identical. However, when I looked at the offending line, it was obviously incorrect: it said
unsigned short u_];
Well, that's obviously wrong. I then did a "wc -l" on this and my known good file; this was shorter by 24 lines..
These clues told me that the disk drive itself was physically at fault. The inode still thought this had the right number of bytes, but they had to be nulls.. this file was damaged. I queried the customer and was told that one drive in their RAID-5 array had failed in mid July. That would explain this - the rebuild apparently hadn't been entirely successful. I explained that I could fix this file, but of course I had no way of knowing if there was more damage elsewhere. The customer understood, so I replaced the file with a proper copy and succesfully relinked. However, I explained again that was no guarantee that all was perfect - there could be subtle problems elsewhere.
We rebooted and all looked good, but when I checked syslog I saw that the RAID array was reporting errors - recoverable errors, but errors. Looking back, I saw that this had been true right along since the bad drive had been replaced: obviously whoever did that didn't follow through. I warned the customer to investigate and effect repairs before this got worse.
So now I'm waiting for Apple to call to bring my machine in. I'm hoping they can do the repair while I wait, but if not, not. In the meantime, I'm happy enough on Linux.
. . .
A few days later, I picked up my repaired machine. For a few months, life was good again, but then keys started failing once more. They weren't sticking, but they were not working. It was only a few keys, but having not quite enough keys doesn't really have any work arounds. Apple has a 90 day warranty on repairs, so I just reattached the USB keyboard and thar's what I've used ever since.
Got something to add? Send me email.
More Articles by Anthony Lawrence © 2011-05-06 Anthony Lawrence