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 dyninst/15619] on rawhide ia32, simple scripts sometimes hang


http://sourceware.org/bugzilla/show_bug.cgi?id=15619

Josh Stone <jistone at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jistone at redhat dot com

--- Comment #3 from Josh Stone <jistone at redhat dot com> ---
(In reply to David Smith from comment #0)
> (perhaps related to bug #14655 or bug #15029)

I think for the first, you meant bug #14665.

(In reply to David Smith from comment #2)
> On ia32, an strace'd stapdyn reports:
> 
> ====
> clone(child_stack=0xb616c3a4,
> flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|
> CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID,
> parent_tidptr=0xb616cba8, {entry_number:6, base_addr:0xb616cb40,
> limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1,
> seg_not_present:0, useable:1}, child_tidptr=0xb616cba8) = 8637
> getcpu([0], NULL, 0)                    = 0
> futex(0xb616ec8c, FUTEX_WAKE_OP, 1, 1, 0xb616ec88, {FUTEX_OP_SET, 0,
> FUTEX_OP_CMP_GT, 1}) = 1
> futex(0xb616ec40, FUTEX_WAKE, 1)        = 1
> --- SIGTERM {si_signo=SIGTERM, si_code=SI_TKILL, si_pid=8635, si_uid=5183} ---

It looks like the SIGTERM came here.

> sigreturn() (mask [])                   = 1
> futex(0xb616ec8c, FUTEX_WAKE_OP, 1, 1, 0xb616ec88, {FUTEX_OP_SET, 0,
> FUTEX_OP_CMP_GT, 1}) = 1
> futex(0xb616ec40, FUTEX_WAKE, 1)        = 1
> rt_sigtimedwait([HUP INT QUIT TERM], NULL, NULL, 8
> ====
> 
> So, we're stuck in rt_sigtimedwait(). Which means that we either missed the
> signal or it got masked off somewhere.

It seems it actually didn't get masked early on, so it was already delivered
before we wait for it.  I think we could just mask, check if it already
arrived, and only then do the sigwait.  I can play with this a bit.

-- 
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]