My Oracle Support Banner

Solaris Operating System Hang or Panic due to Third Party Kernel Modules (Doc ID 1411793.1)

Last updated on JANUARY 12, 2019

Applies to:

Solaris Operating System - Version 8.0 and later
Information in this document applies to any platform.

Symptoms

Solaris System may hang or panic in a Third Party Module or the panic may be related to a Third Party Module.

Third Party in this instance refers to a kernel Module that is not provided with the Solaris Operating Environment.


User level applications operate out side of the kernel and should not be able to cause the kernel to panic the system.  Kernel modules are run within the kernel and are given full access and permission to the kernel memory space which means they are fully capable of causing the kernel to panic.

For an example, the following panic was recorded in the kernel's message buffer.  This should also closely match what would be observed in a system's messages file:

When looking at the functions involved in the following stack, please note the functions may have two parts, the module before the colon(:) and then the function after it. Modules are collections of related functions all provided in a single unit.  If that unit is provided as part of Solaris or provided by Oracle it can be supported by Oracle but if that module is provided by a 3rd party they when that 3rd party will need to view the crash dump and determine why the panic happened.  That 3rd party may request Oracle's assistance or may determine that Solaris was a factor or did something wrong, but we need that 3rd party to do their review and tell us if they suspect Solaris is an issue.  As the module was not provided by Oracle, Oracle does not have the source code or knowledge to do a full analysis.

 

The above panic happened in the module "vxfs" and all of the other functions are also from the "vxfs" module except for the top three which are from the module "unix". Note that the module unix is part of the main kernel, and those function are error handling code which handled the error and triggered the panic to provide the kernel crash dump to allow an analysis. 

Look though the functions involved shows that each function contains a module followed by a colon. This was followed by a function and  the offset within that function where it left that function for the next one. After this are some possible arguments enclosed in parenthesis to be held in the cpu registers.  Note that a stack is read from the bottom up. Additional discussion about the stack is beyond the scope of the article.

The "vxfs" module may be familiar.  If not, more information can be obtained from crash dump .

 

$ echo "::modctl" | mdb -k unix.0 vmcore.0 | grep vxfs
600c48c0230 600cad19cc0 li 0x00 2 fs/vxfs
$ echo "::modinfo" | mdb -k unix.0 vmcore.0 | grep vxfs
228 7aa00000 1bc8a0 1 vxfs (VxFS 5.0_REV-5.0MP1u_sol SunOS )

This shows us that the vxfs module is part of a the VxFS 5.0 package.  If this is checked on the Internet this package is supported by the Symantec Corporation in this case.  Other modules may be supported by different Third Party Vendors.

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.