Netra j 3.0 Administrator's Guide

Appendix D Troubleshooting

This appendix provides troubleshooting procedures and is organized as follows:

Starting the Administration Interface

To Prepare For Configuration
  1. Make sure the Netra j software is installed according to procedures. Refer to the Netra j 3.0 Installation Guide for instructions.

  2. Complete the Network Computer Configuration Checklist (Appendix A, Network Computer Configuration Form).

  3. Make sure the administrative web server daemon is running:


    % ps -ef | grep httpd 
    

    The output should contain the following line:

    root pid 1 0 date 0:03 /usr/lib/httpd -config /etc/opt/netra/SUNWnetra/conf/httpd.conf

    If it is not running, start it by using the following:


    % /etc/initid/ahttpd start
    

  4. Find the path name of the web server document root. This is the root directory of the web server running on port 80 on your system.

Updating javaos binary

After updating a new javaos binary to flash memory, the server automatically reboots the JavaStation and may display the following warning:

 Can't open device. Keyboard not present. Using ttya for input and output.

This warning is displayed when the JavaOS software is first installed or when the end-user elects to update the operating system on reboot.

This warning is from the Open Boot Prom (OBP) and has no impact on how JavaOS functions.

Web Proxy

On networks with both a Netra j server and a separate Web proxy server, you must modify NC HotJava Views and HotJava Browser preferences to allow no proxy for the Netra j server. Otherwise, the NC client always contacts the Web proxy for all its services, which could lead to potential connectivity problems.

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 JavaStation Client Software Guide for details.

Using the JavaOS Console
  1. To open the JavaOS console window from the network computer client, wait until the star-field screen is displayed, then press the print screen key.

    The JavaOS console window displays the network activity.

Boot Problems

The following table describes how to update the flash-prom (programmable read-only memory) with the JavaOS operating system by changing the javaos.alwaysUpdate property.

Table D-1 Updating the Flash-prom with JavaOS

If 

then 

If not set 

then 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. The default value is null.  

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.  


Note -

See JavaStation Client Software Guide for additional information.


Name Services

The following table describes name services error messages.

Table D-2 Name Services 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 x.x.x.x 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

MailView

HotJava Views Administration

Use of the HotJava Views Administration facility requires a browser that is compliant with JDK 1.1. Both HotJava Views and HotJava Browser are compliant with JDK 1.1, but other browsers may not yet be fully compliant.

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 Tips for Using HJV Administration

CalendarView

You can use the /usr/dt/bin/sdtcm_convert calendar conversion utility to convert data from 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 | tee /tmp dex.last

If you perform a search and this file doesn't get created or updated, then the 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.

Enable 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, create a symbolic link called jdt from within your httpd server's cgi-bin directory (this location varies 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 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.

HotJava Views Troubleshooting

Table D-3 HotJava Views Error Messages and Suggested Actions

Message or 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 NC 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 NC.

You may be on a switched network. In this case, packets from the NC 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 NC and your Solaris system into a mini-hub and run snoop etherid for javastation.

The following table describes HotJava Views error messages and known problems.

GO-Joe

GO-Joe provides diagnostic tools and outputs to help diagnose problems that may arise due to misconfiguration and other difficulties. Check these if you encounter any problems.

Diagnostic Tools

JavaOS Console Output

On devices that provide it, the JavaOS console output (see "Troubleshooting") 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 prints messages to the status bar, but not all Java environments show this status (or they may overwrite it with their own status messages). These messages are also sent to the Java console, so they may be visible in the console log when they are not visible on the status line.

The /tmp/Xerr:n Error File

The GlobalHost loadable ddx 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 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.

HTML References

If the GO-Joe applet fails to load entirely, check 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 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 enable or restrict 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 that served that applet. If you have such a Security Manager, your GO-Joe applet is only able to connect to the go-login program running on the server that the applet was loaded from. In addition, the diagfile functionality of GO-Joe is similarly restricted.

The JavaStation produces a message as follows:


Sunw.hotjava.applet.AppletSecurityException: checkconnect.networknone
at sunw.hotjava.security.CommonSecurity.checkconnect()
at java.net.InetAddress.getAllByName)()

Capturing Log Files

In some cases, if JavaOS fails, it may broadcast an SNMP trap. The trap can be received by any SNMP manager listening on the (sub)net. There is a simple SNMP trap receiver supplied with JavaOS state information in a log file.

To Capture Log Files for JavaOS
  1. Run the following command on any machine in the (sub)net:


    # /opt/SUNWjsos/bin/snmptrapd -x /opt/SUNWjsos/bin/logdumper&
    

If failures do occur, they are saved in the /tmp directory of the server machine with the following unique file name:


/tmp/javaos.log.<IP address of failed client>@<time
in seconds since January 1, 1970>

You can browse the log file to determine errors that may have caused a failure. You may also want to add the snmptrapd command to the Solaris initialization and booting hierarchy. See the README files in /etc/init.d and /etc/rc2.d for details.


Note -

Not all JavaStation client failures result in a log file creation on the server machine.


Additional Error Messages and Known Problems

The following table describes additional error messages and known problems.

Table D-4 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.