SRDB ID   Synopsis   Date
46760   Sun Fire[TM] 3800-6800: server hangs when kmem_flags are enabled   24 Oct 2002

Status Issued

Description

On some occasions, a Sun Fire server can hang at the beginning of the boot if the kmem_flags are set either in the /etc/system file or directly in the genunix file.

The system will not respond to a break from the domain shell. However, it is possible to send a XIR signal via "reset -y".

You can use an OBP breakpoint to reset kmem_flags to zero.

This method has been given by CPRE but unsuccessfully tested
	- Use another Sun Fire box that runs Solaris[TM] 8 with the same version of kernel patch and boot.
	- Use the following commands to get the addresses of kmem_flags and main, <kmemflagsaddr>, <mainaddr>: 

	  echo "kmem_flags=J" | mdb -k
	  echo "main=J" | mdb -k

	- When you have the addresses, reset the non-bootable domain and stop it at the
  	  ok prompt before booting.
	- Use "<mainaddr> +bp" (You can verify that the breakpoint is set via
	  ".bp") and then "boot -v".
	  e.g: 
		{3} ok .bp
		breakpoints
		count	bkpt		type	  len	command
		{3} ok 100a8574
		{3} ok +bp
		{3} ok .bp
		breakpoints
		count	bkpt		type	  len	command
		1	0x100a8574	:b instr  4	
		{3} ok boot -v
		Resetting ...

	- When the breakpoint is hit, type "0 <kmemflagsaddr> l! --bp go".
                        

Keywords: kmem_flags, hang, Sun Fire, Serengeti, kernel

SOLUTION SUMMARY:

The fix is to apply the latest firmware patch to ensure that at least SCApp 5.13.2/RTOS 23 is installed on the system.

INTERNAL SUMMARY:

SUBMITTER: Renaud Manus APPLIES TO: ATTACHMENTS:


Copyright (c) 1997-2003 Sun Microsystems, Inc.