JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Troubleshooting Typical Issues in Oracle Solaris 11.1     Oracle Solaris 11.1 Information Library
search filter icon
search icon

Document Information

Preface

1.  Managing System Crash Information (Tasks)

2.  Managing Core Files (Tasks)

Managing Core Files

Configurable Core File Paths

Expanded Core File Names

Setting the Core File Name Pattern

Enabling setuid Programs to Produce Core Files

Managing Core Files (Task Map)

Displaying the Current Core Dump Configuration

How to Set a Core File Name Pattern

How to Enable a Per-Process Core File Path

How to Enable a Global Core File Path

Troubleshooting Core File Problems

Examining Core Files

3.  Troubleshooting System and Software Problems (Tasks)

4.  Troubleshooting Miscellaneous System and Software Problems (Tasks)

Index

Managing Core Files

Core files are generated when a process or application terminates abnormally. Core files are managed with the coreadm command. For example, you can use the coreadm command to configure a system so that all process core files are placed in a single system directory. This means it is easier to track problems by examining the core files in a specific directory whenever a process or daemon terminates abnormally.

Configurable Core File Paths

Two following configurable core file paths that can be enabled or disabled independently of each other:

When a process terminates abnormally, it produces a core file in the current directory by default. If the global core file path is enabled, each abnormally terminating process might produce two files, one in the current working directory, and one in the global core file location.

By default, a setuid process does not produce core files using either the global or per-process path.

Expanded Core File Names

If a global core file directory is enabled, core files can be distinguished from one another by using the variables that are described in the following table.

Variable Name
Variable Definition
%d
Executable file directory name, up to a maximum of MAXPATHLEN characters
%f
Executable file name, up to a maximum of MAXCOMLEN characters
%g
Effective group ID
%m
Machine name (uname -m)
%n
System node name (uname -n)
%p
Process ID
%t
Decimal value of time(2)
%u
Effective user ID
%z
Name of the zone in which process is executed (zonename)
%%
Literal %

For example, if the global core file path is set to:

/var/core/core.%f.%p

and a sendmail process with PID 12345 terminates abnormally, it produces the following core file:

/var/core/core.sendmail.12345

Setting the Core File Name Pattern

You can set a core file name pattern on a global, zone, or per-process basis. In addition, you can set per-process defaults that persist across a system reboot.

For example, the following coreadm command sets the default per-process core file pattern. This setting applies to all processes that have not explicitly overridden the default core file pattern. This setting persists across system reboots. For example, the following coreadm command sets the global core file pattern for all processes that are started by the init process. This pattern will persist across system reboots.

# coreadm -i /var/core/core.%f.%p

The following coreadm command sets the per-process core file name pattern for any processes:

# coreadm -p /var/core/core.%f.%p $$

The $$ symbols represent a placeholder for the process ID of the currently running shell. The per-process core file name pattern is inherited by all child processes.

After a global or per-process core file name pattern is set, it must be enabled with the coreadm -e command. See the following procedures for more information.

You can set the core file name pattern for all processes that are run during a user's login session by putting the command in a user's initialization file, for example, .profile.

Enabling setuid Programs to Produce Core Files

You can use the coreadm command to enable or disable setuid programs to produce core files for all system processes or on a per-process basis by setting the following paths:

By default, both flags are disabled. For security reasons, the global core file path must be a full pathname, starting with a leading /. If root disables per-process core files, individual users cannot obtain core files.

The setuid core files are owned by root, with read/write permissions for root only. Regular users cannot access these file, even if the process that produced the setuid core file is owned by an ordinary user.

For more information, see the coreadm(1M) man page.

Managing Core Files (Task Map)

Task
Description
For Instructions
1. Display the current core dump configuration.
Display the current core dump configuration by using the coreadm command.
2. Modify the core dump configuration.

Modify the core dump configuration to do one of the following:

  • Set a core file name pattern.
  • Enable a per-process core file path.

  • Enable a global core file path.

3. Examine a core dump file.
Use the proc tools to view a core dump file.

Displaying the Current Core Dump Configuration

Use the coreadm command without any options to display the current core dump configuration.

$ coreadm
               global core file pattern: 
     global core file content: default
       init core file pattern: core
       init core file content: default
            global core dumps: disabled
       per-process core dumps: enabled
      global setid core dumps: disabled
 per-process setid core dumps: disabled
     global core dump logging: disabled

How to Set a Core File Name Pattern

How to Enable a Per-Process Core File Path

  1. Assume the root role.

    See How to Use Your Assigned Administrative Rights in Oracle Solaris 11.1 Administration: Security Services.

  2. Enable a per-process core file path.
    # coreadm -e process
  3. Display the current process core file path to verify the configuration.
    # coreadm $$
    1180:   /home/kryten/corefiles/%f.%p

How to Enable a Global Core File Path

  1. Assume the root role.

    See How to Use Your Assigned Administrative Rights in Oracle Solaris 11.1 Administration: Security Services.

  2. Enable a global core file path.
    # coreadm -e global -g /var/core/core.%f.%p
  3. Display the current process core file path to verify the configuration.
    # coreadm
           global core file pattern: /var/core/core.%f.%p
         global core file content: default
           init core file pattern: core
           init core file content: default
                global core dumps: enabled
           per-process core dumps: enabled
          global setid core dumps: disabled
     per-process setid core dumps: disabled
         global core dump logging: disabled