Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition | |||
|
|
Solution Type Problem Resolution Sure Solution 1001557.1 : The Green Newt Cursor, or Icon 26 D, Stays on the Sun Ray[TM] Appliance
PreviouslyPublishedAs 202131 Symptoms After logging out of a user session at a Sun Ray[TM] appliance, or after inserting or pulling out a smartcard, a green newt appears, but no dtgreet screen, no user session, and none of the other Sun Ray[TM] icons. This guide explains the significance of the green newt cursor. The corresponding OSD status code for Sun Ray appliances running 2.0 firmware is 26 D. Resolution Background: The green newt cursor is the default cursor for a Sun Ray appliance running 1.x firmware. The cursor remains as a green newt until an application, typically the X server (Xsun resp. Xnewt), changes the cursor to an "X", an hourglass, or an arrow. The green newt cursor does not necessarily mean the Sun Ray appliance is in an error condition, but rather that it is ready, and awaiting display rendering commands from the Xserver. Similarly, a Sun Ray appliance running 2.0 or higher firmware will display OSD icon 26 D if it has received all DHCP parameters, has successfully made initial connection to an authentication manager, and is now waiting for an X server to send display request to the appliance. Note: if you are running the Sun Ray Server Software 2.0 or 3.0 in a remote LAN configuration, you must update the firmware before putting an appliance into the network. 1.x firmware does not support remote LAN configurations. A remote LAN configuration exists if Sun Ray appliances are not within the same subnet as the Sun Ray server. On Solaris[TM], the Xsun is started by the dtlogin master process. /etc/dt/config/Xservers /etc/dt/config/Xconfig Sun Ray replaces the above two files with links to /tmp/SUNWut/config/xconfig. When a new Sun Ray[TM] session is created, the authentication manager (utauthd) will spawn subprocesses which add the corresponding lines to Xservers and Xconfig, and subsequently a SIGHUP will be sent to the dtlogin master process to make it rescan Xservers and Xconfig. On Linux, the gdm and Xnewt shipped with the SRSS must be used. The authentication manager still uses /tmp/SUNWut/config/xconfig/Xservers and /tmp/SUNWut/config/xconfig/Xconfig.
Related logfiles:
On Linux (SRSS 3.0):
Resolution: If the green newt cursor, resp. OSD icon 26 D, is displayed for an extended period, there is no X server sending display rendering commands to the Sun Ray appliance. The problem can usually be traced back to To troubleshoot a green newt cursor, you need to consider: Are the patches up to date? Is it only one session which shows the green newt/icon 26 D? Are the daemons up and responsive? Is there really a problem? Is the problem caused by lack of system resources? Is the problem caused by a misconfiguration? Are the configuration files corrupt? Are the patches up to date? The following patches contain related bugfixes: Is it only one session which shows the green newt/icon 26 D? If it is only one session which is stuck at the green newt/icon 26 D, some processes essential for that sessions are hanging, looping, or failed to start up. Typically, the user can resolve this problem by pressing Ctrl-Alt-Backspace twice to terminate the existing session. Example: In the example, the user with smartcard JavaBadge-nonPers.4090009c227b2d0a3c13 reports that he gets persistent icon 26 D. The display number of the user's session is 18: ptree output shows that the session for display :18 is incomplete: ps output shows that the Xsun process is looping: Thus, in this example, one would kill the runaway Xsun process. Are the daemons up and responsive? - dtlogin master process + The pid of the dtlogin master process is logged in /var/dt/Xpid. Check that this process is running. If the dtlogin master process crashes, dtlogin child process will have parent process id 1, existing user sessions will continue to run, but no new sessions can be created. If neither dtlogin master process nor dtlogin child processes are there, check that /etc/rc2.d/S99dtlogin exists. Warning: on a Sun Ray server, you cannot just restart the dtlogin master process. If dtlogin has crashed, you MUST reboot. + Check that all dtlogin child process are child processes of the dtlogin master process. If there are dtlogin child processes with parent process id 1, probably somebody restarted the dtlogin parent process, which can cause green newt conditions on a Sun Ray[TM] server. + Check that the dtlogin master process is not leaking memory. Normal size of the dtlogin master process is 5-6 MB. + Check /var/dt/Xerrors for messages indicating that dtlogin received and processed a SIGHUP: Fri Apr 30 17:27:45 2004 info (pid 495): Rebuilding default language list from /usr/lib/locale Fri Apr 30 17:27:45 2004 info (pid 495): Rescanning both config and servers files Fri Apr 30 17:27:45 2004 info (pid 495): Rereading configuration file /etc/dt/config/Xconfig If you do not see such messages, then either the dtlogin master (pid 495 here) did not receive a SIGHUP from the Sun Ray[TM] session startup scripts, or it is in a dysfunctional state. If you think that the dtlogin master process might be unresponsive, send it a SIGHUP ("kill -HUP <dtlogin_pid>"), and then check whether lines such as the above are appended to /var/dt/Xerrors. - utauthd Note: a problem with utauthd will cause green newt conditions only if the subprocesses spawned by utauthd somehow fail. If utauthd itself is unresponsive, you normally get OSD icons 22 (2.0/3.0 firmware) resp. the hourglass with three dashes (1.x firmware). + Check in ps output that exactly one utauthd is running. + Check in ps output that utauthd was started after the dtlogin master process, and after utdsd (2.0/3.0) resp dsservd (1.x). + check in ptree (pstree on Linux) output that no subprocesses spawned by utauthd are hanging. Example ptree of a failure because the loopback interface was unresponsive: 63455 /opt/SUNWut/jre/bin/../bin/sparc/native_threads/java auth.utauthd.utauthd 20313 /bin/ksh -p /opt/SUNWut/lib/utdtsession -c gulogin add 20773 /bin/ksh -p /opt/SUNWut/lib/utdmsession -c 11 -z utdtsession 20782 /bin/ksh -p /opt/SUNWut/lib/utscrevent -c 11 -z utdtsession 20784 ksh -c echo 'CREATE_SESSION 11 # utdtsession' >/dev/tcp/127.0.0.1/7013 [... more of those ...] + Check /var/opt/SUNWut/log/messages for utauthd activity, and for error messages indicating that other Sun Ray[TM] services were unable to contact utauthd. + Telnet to utauthd callback port 7010, and enter "status". You should get information about the Sun Ray appliances currently in contact with utauthd. + If you suspect misbehaviour of a running utauthd, collect a pstack and a java threaddump of the utauthd ("kill -3 <utauthd_pid>"; the utauthd java threaddump will be written into auth_log), and check that all worker threads and callback thread are alive. There should be one callback thread and eight worker threads. As the number of worker threads is configurable, the following command will tell you what your configuration is: # grep workers /etc/opt/SUNWut/auth.props - utdevmgrd + Check that one watchdog and one child utdevmgrd process are running. + Check /var/opt/SUNWut/log/messages for error messages indicating utdevmgrd failure, such as Apr 14 23:35:21 [10.21.3.224.2.2] 0x0.0xc46ce4f 0:3:ba:2a:54:c8 USB: rdd: unable to contact device manager on 10.21.3.1:7011 retrying + Check /var/adm/messages for error messages from utdevmgrd - utsessiond + Check that one watchdog and one child utsessiond process are running. - utdsd/dsservd + Check that one utdsd (2.0/3.0) resp. dsservd (1.x) daemon is running. - ocfserv (only if enabled in the inetd.conf, only for 1.3 and 2.0) + Check whether there are utscrevent processes hanging. In 1.3 and 2.0, utscrevent tries to connect to ocfserv if ocfserv is running. If ocfserv is responsive, utscrevent will finish within a few seconds. It also is recommended that coreadm is turned on with global-setid cores enabled, so that in case of a dtlogin or X server crash corefiles are collected: # coreadm -e global -e global-setid -g /var/cores/core.%f.%t # mkdir /var/cores Is there really a problem? The Sun Ray administration model has several user session types: Default -- normal user login NSCM -- non smart card mobility Kiosk -- anonymous user operation utselect -L -- utselect in "login" mode Register -- user self-registration Insert card -- user smart card required Card error -- unrecognized user smart card type No entry -- user's smart card token is blocked The first two session types have normal login processes. The last four session types do not have a login process at all, but display an icon on the Sun Ray appliance monitor, possibly along with the green newt cursor. This icon indicates that the user must take other steps before successful login is possible. These last four session types, their icons, and the appearance of the green newt cursor are not cause for alarm. The user can: - Insert a recognized smart card in the correct orientation - Ask the Sun Ray[TM] administrator to grant access For the SRSS 2.0, see pages 195ff. of the SRSS 2.0 Administration Guide for detailed information regarding Sun Ray appliance startup, and the icons displayed. With the SRSS 1.3, the icons and the green newt are explained in Appendix A of the SRSS 1.3 Administration Guide, pages 95ff. Is the problem caused by lack of system resources? Sluggish Sun Ray server performance or excessive disk swapping is an indication that the Sun Ray[TM] server is under-provisioned. Under these circumstances, there might be insufficient virtual memory available to start an X Window server instance for a user's session. If after several retries the Xsun process does not start, the dtlogin daemon just gives up. With no X Window server running, the cursor remains a green newt. Typical error messages in /var/adm/messages are "WARNING: /tmp: File system full, swap space limit exceeded" Typical error messages in /var/opt/SUNWut/log/messages are "UNEXPECTED: SESSION_ERROR ... java.io.IOException: Not enough space </opt/SUNWut/lib/utdtsession add>" "UNEXPECTED: AuthRecord::CreateClient:/opt/SUNWut/lib/utdtsession add :child error: write: No space left on device" The solution in this situation is to add more memory and/or increase the size of the swap partition. The suggested Sun Ray server configuration includes approximately 50-100 MBytes of swap space per user. See the Sun Ray[TM] Server Software Installation Guide for additional hardware requirements. Furthermore, if the system is overloaded, or utauthd resp. utsessiond are overloaded, utauthd and utsessiond might not be passing information efficiently to the X servers. Is the problem caused by a misconfiguration? - /etc/dt/config/Xconfig must link to /tmp/SUNWut/config/xconfig/Xconfig Are the configuration files corrupt? These configuration files are susceptible to corruption, especially if cronjobs or scripts touch /tmp, if the system ran out of swap space, or if /tmp is not mounted on a tmpfs. /etc/dt/config/Xservers (links to /tmp/SUNWut/config/xconfig/Xservers) /etc/dt/config/Xconfig (links to /tmp/SUNWut/config/xconfig/Xconfig) /tmp/SUNWut/config/displays The first two files are used by the dtlogin master process. When they are corrupt, the dtlogin daemon cannot properly start the Xsun. Without an X server running, the cursor remains a green newt. The files in the /tmp/SUNWut/config/displays directory contain information needed by the Xsun process at session startup. Some symptoms for corruption of the configuration files are: + Error message in /var/opt/SUNWut/log/messages: Error: could not open file '/var/opt/SUNWut/displays/<display>' (this message means that the file /tmp/SUNWut/config/displays/<display> does not exist or that the link from /var/opt/SUNWut/displays to /tmp/SUNWut/config/displays is broken) + Example error messages in /var/dt/Xerrors: Fatal server error: SunRay SessionId not specified! Signal 10 received! (pid 28464) [...] and Fatal server error: error (<pid>): Server for <display> terminated unexpectedly 0 error (pid <pid>): Server open attempt #8 failed for <display>, giving up error (pid <pid>): Hung in XOpenDisplay(<display>)attempt #<nr>, aborting. These messages mean that the Xsun died because it could not extract the Sun Ray session ID from /tmp/SUNWut/config/displays/<display>, either because the file does not exist or because it is corrupted. /etc/dt/config/Xservers should contain lines such as the following. Solaris version: # BEGIN SUNRAY CONFIGURATION :4 SunRay local@none /usr/openwin/bin/Xsun :8 -nobanner . . :5 SunRay local@none /usr/openwin/bin/Xsun :9 -nobanner # END SUNRAY CONFIGURATION Linux version: # BEGIN SUNRAY CONFIGURATION :21 SunRay local /usr/X11R6/bin/Xnewt :21 [...] # END SUNRAY CONFIGURATION There also might be a few # :<display> RESERVED lines in there, where a display has been reserved for use in a future Sun Ray session. A RESERVED entry might for example indicate a session at the NSCM login GUI. Note - These are simplified examples. Your output may have tens of lines between the BEGIN SUNRAY CONFIGURATION and END SUNRAY CONFIGURATION comments. /etc/dt/config/Xconfig should contain lines such as the following: Solaris version: # BEGIN SUNRAY CONFIGURATION Dtlogin.*_4.environment: SUN_SUNRAY_TOKEN=pseudo.080020c0ec84 CORONA_TOKEN=pseudo.080020c0ec84 . . Dtlogin.*_5.environment: SUN_SUNRAY_TOKEN=user.1051355046-6093 CORONA_TOKEN=user.1051355046-6093 # END SUNRAY CONFIGURATION Linux version: # BEGIN SUNRAY CONFIGURATION DisplayManager.*_20.exportList: SUN_SUNRAY_TOKEN=MicroPayflex.000095af65000100 CORONA_TOKEN=MicroPayflex.000095af65000100 # END SUNRAY CONFIGURATION For each display number which currently is in use (4 and 5 in this example), there must be one line in both Xservers and Xconfig, and one corresponding file in /tmp/SUNWut/config/displays. All three must be in sync. % cat /tmp/SUNWut/config/displays/4 SESSION=labhost:7007:5380295458739376318 <---- session id TOKEN=pseudo.080020c0ec84 SESSION_TYPE=default TOKEN_SET=pseudo.080020c0ec84 CALLBACK_COOKIE=8891015337650688598 DISPLAY=4 <---- the display number yet again. INSERT_TOKEN=pseudo.080020c0ec84 The tokens in the displays file must match the token in the corresponding line in Xconfig. Relief/Workaround This does not have any impact on existing Sun Ray[TM] sessions. Sun Ray 1.3 and 2.0 uses ocfserv when it is enabled, but does not need it for normal operations. If the utauthd is hanging, or has crashed, restart utauth without terminating existing sessions: If the dtlogin master process has crashed, or is unresponsive, schedule an outage to reboot the Sun Ray server. Additional Information Use /opt/SUNWut/bin/utdesktop -lw to identify Sun Ray[TM] appliances which might be in an error state. Abbreviations: OSD - On Screen Display On Linux systems which do not provide the NPTL, multithreading is implemented by spawning a separate process for each thread. 20 utauthd processes on SLES 8.1 or JDS 2 are normal, they just represent the different utauthd threads. Product Sun Ray Server Software 2.0 Sun Ray Server Software 1.3 Sun Ray Server Software 1.2 Sun Ray Server Software 1.1 Sun Ray Server Software 1.0 Sun Ray Server Software 3.0 Sun Ray 1 Ultra-Thin Client Sun Ray 170 Ultra-Thin Client Sun Ray 100 Ultra-Thin Client Sun Ray 1g Ultra-Thin Client Sun Ray 150 Ultra-Thin Client Additional Information c9ce6c09-cf3d-44f8-8ecd-a5d8347f7a5d | Sun Ray Server Software 2.0 afda57d6-2bd5-11d6-9be5-d553091c84d2 | Sun Ray Server Software 1.3 b1ac72d8-2bd5-11d6-8006-a25b429366fa | Sun Ray Server Software 1.2 b1a5f2c8-2bd5-11d6-8c7d-d03a6864d8d3 | Sun Ray Server Software 1.1 a3e88394-2bd5-11d6-99ec-e284e058ebef | Sun Ray Server Software 1.0 bdec8c12-4b81-11d8-99fc-080020a9ed93 | Sun Ray Server Software 3.0 2a10261e-0a18-11d6-8686-ca682ff2e4cc | Sun Ray 1 Ultra-Thin Client 122e905b-cc49-11d8-ab52-080020a9ed93 | Sun Ray 170 Ultra-Thin Client 2a1a3906-0a18-11d6-99bc-99a2ccb5e0fb | Sun Ray 100 Ultra-Thin Client 17b4fb54-0ee3-11d7-91b0-934b10cdd83f | Sun Ray 1g Ultra-Thin Client 2a1f4cc0-0a18-11d6-99d7-dc92ef4207a7 | Sun Ray 150 Ultra-Thin Client Internal Comments As Andras has moved to a different position within the company, this document is now maintained by Thomas Dehn ([email protected]).
currency review 4/16/10 Sun Ray, sunray, green newt, newt, GNOD, 26 D Previously Published As 21962 Change History Date: 2006-05-29 User Name: 91286 Action: Add Comment Comment: Also 6431361. Version: 0 Attachments This solution has no attachment |
||||||||||||
|