This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug translator/16614] New: signal forwarding to child processes uses invalid pthread* functions


https://sourceware.org/bugzilla/show_bug.cgi?id=16614

            Bug ID: 16614
           Summary: signal forwarding to child processes uses invalid
                    pthread* functions
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
          Assignee: systemtap at sourceware dot org
          Reporter: fche at redhat dot com

Tracing through stap / stap-serverd signal handling, thence kill_stap_spawn(),
thence spawned_pids_t::killall, one finds pthread mutex lock operations
wrapping
our reading of a set<pid_t>.

That's not appropriate.  We can't call pthread mutex ops from a signal handler
at all; among other reasons, it's a deadlock recipe if the signal comes in at
the wrong time.  We can't just traverse the set<> locklessly either, because it
may be in the middle of being updated by another thread.

We need a signal-safe structure for collecting & iterating child pids.

-- 
You are receiving this mail because:
You are the assignee for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]