Netra j 2.0 Administrator's Guide

Appendix D Troubleshooting

This appendix provides problem-solving procedures:

Viewing Network Activity

You can view network activity to help facilitate how to troubleshoot problems with the operating system.

You can also change the console key from PrintScreen to another key by setting a JavaOS property. See Chapter 9, Setting JavaOS Properties for details.

Using the JavaOS Console
  1. To open the JavaOS console window from the JavaStation client, wait until the star-field screen is displayed.

  2. Press the print screen key.

    The JavaOS console window displays the network activity.

Boot Problems

Table D-1 describes tips related to the JavaOS and Table D-2 describes boot problems and their solutions.

Table D-1 Tips

Tip 

Description 

Disabling the "flash-prom" update prompt. 

Change the javaos.alwaysUpdate property. The default value is null.

  • If not set, the default behavior occurs: if the DHCP-supplied checksum is present and is not zero and does not match the checksum stored in flash, then an Update Flash dialog is displayed.

  • If set to true, then if the above conditions hold, no dialog is displayed and flash is updated.

  • If set to any value other than true, then regardless of checksum presence/value, flash is not updated.

Note, that if the DHCP checksum is not present or is zero, the flash is not updated.  

See Chapter 9, Setting JavaOS Properties , for additional information.

Table D-2 Boot Problemsand Suggested Actions

Problem 

Solution 

After typing boot net/javaos on a SPARCstation, the following message is displayed:

Timeout waiting for ARP/RARP packet

The rarpd daemon on the server is not responding. On the server, type ps -cfe | grep rarpd to verify the daemon is running.

 

Verify that there is an entry in the /etc/ethers and /etc/hosts files on the server for the client.

Also make sure that the /etc/nsswitch.conf file on the server looks at the local copy of the /etc/ethers and

/etc/hosts files before looking at the NIS copies.

After booting JavaOS over the net, messages indicate that the booter is unable to mount the root file system. 

 

Make sure the /etc/bootparams file has the correct information for the JavaOS client root file system. It should be the directory that contains the JavaOS binary on the server.

The contents should look something like:  

cuesta root=capo:/tftpboot/cuesta

where cuesta is the name of the JavaOS client and capo is the name of the server. The /tftpboot/cuesta directory contains the JavaOS binary.

Type ps -cfe | grep bootparamd to verify the bootparamd daemon is running. If it is not, type: /usr/sbin/rpc.bootparamd.

Verify the client's root directory is exported over NFS by typing share. The directory containing the client's JavaOS binary (for example, /tftpboot/cuesta) should be in the output. If it is not, you need to update /etc/dfs/dfstab and then type shareall.

After booting JavaOS, the screen goes blank and nothing happens. 

There are a number of reasons this could happen. The most likely reasons include incompatible network and graphics adapters.  

After booting JavaOS, the screen shows twinkling stars or a watch but no login window. 

 

This is due to a misconfigured or missing DHCP server. Click on the print screen key to display the JavaOS console to view network activity. 

JavaOS will not boot. 

Use snoop(1M) to view network activity. For more information regarding snoop, type man snoop on any Solaris machine.

In addition, you can click on the print screen key to display the JavaOS console to view network activity. 

The following message is displayed: 

date bootserver in.dhcpd[pid]: (Error 0) No more IP address for subnet network

No action is required. This is an informational message from /usr/lib/inet/in.dhcpd

that is displayed in the console window of the boot server when the JavaStation is powered on or rebooted. 

Name Services

Table D-3 describes name service error messages.

Table D-3 Name Service Error Messages

Message 

Action 

DNS domain name is empty 

Host name field is empty 

Specify a DNS domain name or host name 

Invalid DNS server IP address 

Invalid IP address  

Invalid subnet mask 

Invalid router IP address 

IP addresses must be in the form "xxx.xxx.xxx.xxx" where x is a number between 0 and 255. Type man inet for more information. Hex values are also acceptable.

Host name already exists  

IP address already exists 

Ethernet address already exists 

Each client must have a unique host name, Ethernet address, and IP address. Enter a different value. 

Invalid ethernet address 

 

Ethernet addresses must be in the form "xx:xx:xx:xx:xx:xx," where xx is a hexadecimal number separated by colons.  

HotJava Views

This section lists some of the known problems with the HotJava Views software.

General

CalendarView

CalendarView works best with the CDE calendar server. The feature of storing mail messages with appointments is available only for data version 4 format calendars. This format is supported by the CDE calendar server. The OpenWindows calendar server does not support data version 4 format.

MailView

HotJava Views Administration

Use of the HotJava Views Administration facility requires a fully JDK 1.1-compliant browser. Both HotJava Views 1.1 WebView and HotJava Browser 1.1 (currently in beta) are JDK 1.1-compliant. Other browsers may not yet be fully JDK 1.1-compliant. For example, Netscape Navigator Version 3.x supports only JDK 1.0.2 and Netscape Navigator Version 4.x supports only a subset of JDK 1.1.

The administration facility is applicable only when configuring HotJava Views installed on the HTTP server that is used to deliver Views applets and configuration files.

Tips

General

CalendarView

You can use the /usr/dt/bin/sdtcm_convert calendar conversion utility to convert data version 3 calendars to data version 4 format. Refer to the sdtcm_convert man page for details.

NameView

And uncomment the line:


# $JAVA_HOME/bin/java sunw.jdt.dex.server.Namesvc [boxv  ] tee /tmp dex.last

If you perform a search and this file doesn't get created or updated, then chances are your httpd server is having problems launching the cgi-bin script. If the output in the file indicates some type of error:


Content-type: text/plain
<DBError>:6

then the database probably couldn't be found or the permissions on the file are not set correctly. Make sure the database files have read access for world.

Enabling Error Message Logging

This release of HotJava Views has an error message logging capability that is used most extensively by NameView. If you want to enable this capability, use the following procedure on the system running your web server.

  1. Assuming you have installed HotJava Views in /opt/SUNWjdt, make a symbolic link called jdt from within your httpd server's cgi-bin directory (this location will vary among servers) to /opt/SUNWjdt/cgi-bin.

    For example, if you are running the Apache server, you can use the following commands:


    # pwd
    # /opt/WWW/Apache/httpd/cgi-bin Your
    httpd server's cgi-bin dir
    # ln -s /opt/SUNWjdt/cgi-bin ./jdt
    # ls jdt
    # getidsvc.2.0   jdtlogsvc  namesvc.2.0
    

  2. Some web servers require that you explicitly turn on cgi-bin support before cgi-bin scripts can be executed. Refer to your httpd server's documentation to determine your server's requirements.

  3. Edit the /etc/syslog.conf file and add the following line:


    # local0.info		/var/opt/SUNWjdt/jdt.log
    

    Make sure that you use tabs, not the spaces between the values.

  4. Create /var/opt/SUNWjdt/jdt.log and modify its permissions:


    # mkdir /var/opt/SUNWjdt
    # touch /var/opt/SUNWjdt/jdt.log
    # chmod 666 /var/opt/SUNWjdt/jdt.log
    

  5. Restart the syslog daemon:


    # kill -HUP `cat /etc/syslog.pid
    

    HotJava Views uses CGI to send error messages to the jdtlogsvc script on your web server. The jdtlogsvc script uses syslog to log the errors.

Troubleshooting

Table D-4 HotJava Views Error Messagesand Suggested Actions

Message/ Problem 

Action 

JavaOS 1.1 boots OK, but upon login, the heap viewer applet displays instead of Views. 

The alternate main parameters are not getting passed to JavaOS. Make sure you have specified the correct URL in the -i option in /var/dhcp/dhcptab. Use a web browser to verify the URL.

Make sure the javaos.mainProgram, javaos.mainZip and javaos.mainHomeprop parameters are correctly specified in the javaosopt.txt file. Use the -i URL indirection.

Make sure you have sent a SIGHUP to in.dhcpd if you have changed the /var/dhcp/dhcptab file.

JavaOS 1.1 boots OK, but upon login, a blue screen displays instead of Views. 

JavaOS has received the alternate main parameters, but they are incorrect. Make sure javaos.mainProgram and javaos.mainZip are specified correctly in the javaosopt.txt file. Verify the URLs are correct by using a web browser.

class not found/defined error

This error is common if you are using the JavaServer(TM) server. Servers may fail to handle HTTP requests. If this happens when Views is trying to load a class file, you get a class not found/defined error.

Try using the Apache or Netscape server to correct this problem.  

Tables do not parse well in WebView. 

The .jdt/props/selector.props files may contain invalid entries for class names that handle HTML tags.

Check your selector.props file for entries that specify classes that start with sun.hotjava . If you find such entries, move your .jdt/props/selector.props file aside (don't forget to reset your proxies).

After modifying Appointment Reminder properties within the 

Properties dialog, the appointment reminder types (Post Notice and /or Ring Bell) do not match the property value settings. 

Restart Selector for the new property setting to take effect. 

Several (or many) reminders are posted for a single appointment. 

Chances are your calendar file is in an older format, and/or your workstation has a different time than your calendar server. Update your calendar file and sync your workstation clock with the server's clock. 

No reminders are displayed for appointments inserted through Month view. 

After inserting appointments in Month view, perform an action that reloads your calendar, such as changing the month you're viewing or switching to Day view or Week view. 

Closing the Mail Login dialog in Calendarview can cause HotJava Views to lock up. 

Don't close the Mail Login dialog using the window menu. Use the Login and Cancel buttons to close the dialog. 

HotJava Views complains about not being able to mount my home directory. 

JavaOS mounts your home directory when you log in. It gets the location of your home directory from the passwd and auto.home NIS maps. Make sure these maps are correct and that your home directory is properly exported so the JavaStation can mount it.

You can run snoop(1M) and watch for the MOUNT request that happens after you log into JavaOS.

snoop(1M) doesn't show all the packets from the JavaStation.

You may be on a switched network. In this case, packets from the JavaStation may not be visible to the system on which you are running snoop.

The best way to make sure you see all packets is to plug the JavaStation and your Solaris system into a mini-hub and run snoop etherid for javastation.

Table D-5 describes HotJava Views error messages and known problems.

nown problems.

GO-Joe

GO-Joe provides several diagnostic tools and outputs to help diagnose problems that may arise due to misconfiguration and other difficulties. These should be checked whenever problems are encountered.

JavaOS Console Output

On devices that provide it, the JavaOS console output can be highly informative if the applet terminates prematurely. When viewing this output, look for all exceptions that may be listed. Exceptions may occur that cause further exceptions as the program continues to execute, and it is usually the original exception that indicates the true cause of the problem. In addition, the GO-Joe applet will print messages to the status bar, but not all Java environments will show this status (or they may overwrite it with their own status messages). These messages are also sent to the JavaOS console, so they may be visible in the console log when they are not visible on the status line.

Applet diagfile Parameter

Recall that the applet supports a diagfile parameter that redirects the messages normally printed into the console log into a file on the local disk (or into a port on a remote machine). Note that depending on the configuration of the Java Security Manager, the applet may or may not be permitted to connect to the remote host.

The /tmp/Xerr:n File

The GlobalHost ddx loadable module redirects the standard error output for the session to a file called /tmp/Xerr:n, where n represents the display number of the session. This file s contains diagnostic messages from the GlobalInit program, from the ddx loadable module itself, and from the X clients that run throughout the session.

Common Problems

The GO-Joe product has been designed to be easy to configure and use, yet is somewhat complex in operation. Some of the more common problems encountered are described here.

Device Driver Permissions

The GlobalHost loadable module device driver in /devices/pseudo/goglobal@0:goglobal0 must be world readable and world writable. Early versions of the GO-Joe package would not always preserve these permissions. This problem has been corrected, but this remains a possible failure point for the session initialization. This problem can be diagnosed by checking the /tmp/Xerr:n file for permission denied messages related to the /dev/fbs/goglobal0 device.

The /etc/inetd.conf Entry

The inetd.conf entry has proved to be one of the more trouble-prone parts of the GO-Joe installation. This should be corrected with the use of the shim script in /usr/openwin/server/etc/shim. Diagnose this problem by double-checking the /etc/inetd.conf entry: verify that an entry does exist, and that the path to the shim script is valid with no misspellings. Check also that the shim script contains the correct path to the go-login program.

HTML References

If the GO-Joe applet fails to load entirely, suspect the HTML file you are loading and verify that the APPLET tag is correctly formed. Check the codebase path and the path and file name to the applet file itself. Finally, investigate the log files for your HTTP server (usually called access_log and error_log) to see if the applet is being successfully transmitted to the Java environment. It may sometimes also help to exit your browser or Java environment and restart it to clear any cached files that may be interfering with the applet's execution.

Java Security Manager Exceptions

All Java environments implement a security manager that determines what operations may be dangerous for an applet to perform, and can allow or disallow these actions as it sees fit. The biggest restriction that most security managers implement with respect to GO-Joe, is that an applet is allowed to connect only to the host which served that applet. This means that, for example, if you have such a security manager, your GO-Joe applet will only be able to connect to go-login running on the server that the applet was loaded from. In addition, the diagfile functionality of GO-Joe is similarly restricted.

The exact exception that this generates is dependent on the Java environment in question, but it may appear similar to this message (from a Netscape browser):


security.AppletSecurityExceptionsecurity: Couldn't connect to 'x_host' with origin 'web_server_host'.

If your browser supports it (such as some versions of HotJava), you may be able to relax the behavior of the security manager to allow these connections.

Additional Error Messages and Known Problems

Table D-5 Miscellaneous Error Messages and Suggested Actions

Message 

Action 

Cannot read /etc/hosts

 

File not found: 

/opt/SUNWjshm/bin/jdhostcfg

 

Cannot read 

/opt/SUNWjshm/lib/Help.txt

 

Cannot write /tmp/.jdcfg

 

 

Check to ensure the Solaris operating environment and the SUNWjshm package are installed correctly. Also check file system permissions.

 

Cannot find java interpreter. 

When installing Java Runtime Environment (JRE), include it in the PATH (environment variable).

 

Table D-5 describes additional error messages.