This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug dyninst/15619] on rawhide ia32, simple scripts sometimes hang
- From: "jistone at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Thu, 13 Jun 2013 19:55:09 +0000
- Subject: [Bug dyninst/15619] on rawhide ia32, simple scripts sometimes hang
- Auto-submitted: auto-generated
- References: <bug-15619-6586 at http dot sourceware dot org/bugzilla/>
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.