search cancel

Seos_cscom is causing fax to return to death

book

Article ID: 215292

calendar_today

Updated On:

Products

CA Privileged Identity Management Endpoint (PIM)

Issue/Introduction

A server running PIM crashed and the OS vendor analysis points to a conflict between Dtrace and SEOS_syscall."

int devfs:devfs_readdir+0x330((struct vnode *)0x1840014d99040, (struct uio *)0x2a103296e48, (struct cred *)0x184007dc5fa08, (int *)0x2a103296e2c, (caller_context_t *)0x2a103296de0, (int)0)
int genunix:fop_readdir+0x144((vnode_t *)0x1840014d99040, (uio_t *)0x2a103296e48, (cred_t *)0x184007dc5fa08, (int *)0x2a103296e2c, (caller_context_t *)0x2a103296de0, (int)0)
SEOS_syscall:SEOS_get_nodename+0x154(0x1840014d99040, 0x82e80003, 0x2a1032975f0, 0x184007cc5c000, 0x3ffb00000000, 0x2a1032974ec)
SEOS_syscall:SEOS_get_prev_component+0x104(0x184001de7b840, 0x2a1032974d8, 0x2a1032975f0, 0x2a1032970a0, 0x184007cc5c000, 0x2a1032974ec)

Cause

This token determines how to co-exist with Solaris Dtrace when the hooking system calls.
This is because dtrace enables and disables system call interception on an as-needed basis.  One typical scenario is that when SEOS is enabled, dtrace has already been intercepting.  dtrace then disables and re-enables interception.  This breaks the interception order and causes dtrace function and open at hook function to call each other in an infinite loop until it panics the system.
 
In the seos.ini file, there is a dtrace_coexistence token.  It is used to address this problem.
This token determines how to co-exist with Solaris Dtrace when the hooking system calls.
 

Environment

Release : 12.8

Component : User Activity Reporting

Resolution


; Valid values: 0 (Use the standard last-in-first-out method.)
;               1 (If Dtrace is activated, overwrite Dtrace hook. This will
;                  disable Dtrace interception and user needs to restart
;                  Dtrace session to re-activate Dtrace interception.)
;               2 (If Dtrace is activated, hook in a way so Dtrace will
;                  intercept first, and then AC will. This makes it look like
;                  AC has started before Dtrace.)
; Default Value: 0
dtrace_coexistence = 0
 
By default, it is set to 0.  I will recommend setting this to 2.  What the customer needs to know is when shutting down AC, you need to deactivate dtrace first.