Making Solaris SMF ignore core dumps in child processes

By Alasdair Lumsden on 19 Jan 2010

Making Solaris SMF ignore core dumps

I can never ever remember how to do this and googling for it always takes ages, so I thought I’d jot it down here.

When Solaris SMF starts a process, it tracks that process and all its children. If any of those children coredump, SMF treats it as a failure and puts the state into maintenance mode. Not terribly useful if you’re launching buggy software like FFMpeg.

The solution? Simple! Slap this in your SMF Manifest just below an </exec_method> block (within the same XML level as the <exec_method>), eg:

      <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60'>
              <method_context/>
      </exec_method>
      <property_group name='startd' type='framework'>
                 <!-- sub-process core dumps shouldn't restart
                         session -->
                 <propval name='ignore_error' type='astring'
                         value='core,signal' />
      </property_group>