http://defect.opensolaris.org/bz/show_bug.cgi?id=10090
--- Comment #4 from amaguire <alan.maguire at sun.com> 2009-08-14 18:01:15 UTC --- thanks for the additional detail John! We can glean a number of useful things from the corefile, including the fact that the coredump happened when nwamd was shutting down: > shutting_down/x nwamd`shutting_down: nwamd`shutting_down: 1 > We know that the ENM handle (and associated nvlist) got freed in the middle of our condition checks. Examining the other threads' stacks doesn't give us much, but given that we free things in very few places, here's what I suspect is going on: - a shutdown request occurs, originating from a SIGTERM - we call graceful_shutdown(), which shuts down the event sources, and finis the event lists. The fini event triggers a state change event to uninitialized, which results in enqueuing of a state change event, the handler for which frees the enm handle. Finally we enqueue a shutdown event, which, when caught, causes us to destroy the object lists and event queues and exit. - some time after this and prior to the exit, we get a condition check event, and we try to access the enm properties for the condition check from the enm handle (which has been freed). We probably need to be more formal about the types of processing we allow/prohibit during shutdown. If the global "shutting_down" is true, we should be more selective about events we handle. Don't handle condition checks, ncu checks, etc. -- Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
