X

Java 1.3.1 and 1.4.2 Release 2 (#5): Fixes for system-wide freezes when Web browsing

Java 1.3.1 and 1.4.2 Release 2 (#5): Fixes for system-wide freezes when Web browsing

CNET staff
4 min read

We continue to report on an issue where users who have applied Java 1.3.1 and 1.4.2 Release 2 experience a stall in Safari when accessing certain Web sites that usually leads to a complete system freeze accompanied by the unending "spinning beach ball" progress indicator.

Speculation regarding the cause of the issue As we reported yesterday, it appears that this issue is a result of the previously existing problem with the Mac OS X lookupd process. lookupd is a daemon process utilized by a variety of programs to query users and other network machines.

What appears to be happening is that lookupd is becoming flooded with too many requests for some users after the Java update, causing the complete system freeze. When the network-based requests are terminated by interrupting the network connection, lookupd is freed and can again resume processing requests, resulting in the system regaining responsiveness. (As noted yesterday, many users are able to escape the system-freeze by power cycling their network adapter [router, Cable/DSL modem, etc.] or disconnecting an active Ethernet cable.)

MacFixIt reader William Kucharski has some additional input:

"I suspect that a change in Java or to certain web sites' configuration results in more DNS lookups (and timeouts) than was previously the case. Commercial web sites in particular often direct users to ad sites on a round-robin basis, depending on which ad sites respond, exponentially increasing the number of DNS lookups performed over those that would normally be done.

"Note that rebooting your router may cause pending DNS lookups awaiting timeout to fail immediately, thus restoring system operation if the system is hung awaiting responses from lookupd."

Fixes

Clear Java caches A straightforward, quick procedure you can attempt for temporary alleviation of this issue is to open both of the the programs located in Applications/Utilities/Java named:

  • Java 1.4.2 Plugin Settings and
  • Java 1.3.9 Plugin Settings

then click the "Reset" button, or click on the "Cache" tab and press the "Clear" button.

Killing the "crashdump" process Instead of pulling your Ethernet cable or turning off your AirPort card to interrupt Internet access, you may have success using the following process if you can still open the Terminal:

  1. Use ps -ax to get a list of currently running processes
  2. Look for the "crashdump" process and note its PID (process ID, the first number in its listing)
  3. Enter the command kill PID where PID is replaced by the process ID for crashdump.

Turn off Java Some users have reported that simply turning off Java in Safari or your chosen browser resolves this issue, though this obviously does not represent a long-term fix.

In Safari this can be accomplished by opening the application's preferences, clicking the "Security" tab, then unchecking the "Enable Java" option.

Getting the Java update off your Mac Like a number of other key Mac OS X components, an easy method for downgrading to a previous release is elusive for Java 1.3.1 and 1.4.2 Release 2. The best bet for a comprehensive uninstallation that eliminates all remnants of the release is to perform an Archive and Install procedure than apply appropriate Mac OS X and security updates, but refrain from re-installing the Java update via these steps:

  1. Make a full backup of your current Mac OS X installation
  2. Perform an Archive and Install, via the following steps: insert your Mac OS X CD or DVD.. Restart your machine and hold down the "C" key to boot from the newly inserted disc. Follow the on-screen instructions, and after accepting the license agreement, click "Options." Select "Archive and Install," and check the "Preserve User and Network Settings" option.
  3. Bring your installation back up to the point of revision right before you started having problems. This means applying the Mac OS X 10.4.2 Combo Updater (available through Software Update) and any Security Updates released since the pressing of your Mac OS X retail disc.

For more details see our tutorial on reverting to an earlier version of Mac OS X.

Another Terminal workaround Another Terminal-based workaround, previously published on MacFixIt for a similar issue, has proven successful in this case. It involves setting a higher timeout for the lookupd process. Open the Terminal, and enter the following commands, pressing return after each one.

  1. sudo mkdir /etc/lookupd
  2. sudo sh -c "echo TimeToLive 300 > /etc/lookupd/hosts"
  3. sudo sh -c "echo ValidateCache NO >> /etc/lookupd/hosts"

After entering these commands, restart your Mac and power cycle any network adapters (Cable/DSL modems), AirPort base stations, other routers, etc.

Feedback? Late-breakers@macfixit.com.

Resources

  • tutorial
  • Late-breakers@macfixit.com
  • Java 1.3.1 and 1.4.2 Relea...
  • Java 1.3.1 and 1.4.2 Relea...
  • Java 1.3.1 and 1.4.2 Relea...
  • Apple releases Java 1.3.1 ...
  • More from Late-Breakers