Bug 740121
Summary: | WARNING: at kernel/signal.c:2013 do_signal_stop+0x246/0x2c3(): TAINTED ---------W | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Luke Macken <lmacken> | ||||
Component: | kernel | Assignee: | Oleg Nesterov <onestero> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 15 | CC: | gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, pfrields | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Unspecified | ||||||
Whiteboard: | abrt_hash:dbb75361c9befde7a1176567a7e23e644dd43839 | ||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2012-06-06 19:45:16 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Luke Macken
2011-09-21 01:45:17 UTC
if (current->group_stop & GROUP_STOP_PENDING) { ==> WARN_ON_ONCE(!(current->group_stop & GROUP_STOP_SIGMASK)); goto retry; } (In reply to comment #0) > > :WARNING: at kernel/signal.c:2013 do_signal_stop+0x246/0x2c3() Hmm. Thanks. So far I don't understand how this is possible. And this code was significantly changed in 3.1, I already forgot the details. I'll try to reread it again. Perhaps utrace patches broke get_signal_to_deliver... > :I was able to trigger this while playing around sending SIGSTOP/SIGCONT to > various process groups, while using the tool tamefox > http://github.com/lmacken/tamefox unlikely I can reproduce ;) > :I have not been able to easily reproduce it, May be because of WARN_ON_ONCE, you need to reboot to see the warning again. I'll try to think more... Can you try the debugging patch if I make it? (In reply to comment #2) > (In reply to comment #0) > May be because of WARN_ON_ONCE, you need to reboot to see the warning > again. > > I'll try to think more... Can you try the debugging patch if I make it? Sure. I'll reboot and try and reproduce the issue at some point today as well. I am able to reliably reproduce this issue by doing the following: firefox & pkill -STOP firefox strace -f -p $(pidof firefox) (In reply to comment #4) > I am able to reliably reproduce this issue by doing the following: By 'reliably', I mean 'occassionally'. It feels a bit racy, and sometimes the strace seems to CONT the process, but sometimes it doesn't. The times that it doesn't work, I am able to reproduce this by opening up 'htop' and attempting to strace to once of firefox's threads. (In reply to comment #4) > I am able to reliably reproduce this issue by doing the following: > > firefox & > pkill -STOP firefox > strace -f -p $(pidof firefox) OK, thanks a lot... But this is quite different. I didn't try to inspect the ptrace paths, because I assume your previous test-case doesn't use ptrace but still triggers the warning? Anyway, thanks for the info, I'll continue tomorrow. Now that I think about it, the original oops *might* have been triggered using ptrace. I frequently use htop and hit 's' to strace the process, I may have done that out of muscle memory to begin with. Created attachment 524655 [details]
[PATCH stable-3.0] do_signal_stop: don't clear GROUP_STOP_SIGMASK if task_is_stopped()
Could you please test this patch? It should fix the problem.
But, I wasn't able to reproduce it until I understood what
happens (damn! this took me 2 days of grepping ;) May be
your testing has found something else...
This is upstream bug, I'll send the patch to -stable.
Ironically, 3.1 has the similar problem although the code
and the reason are quite different.
And. Both are buggy wrt jctl stop && ptrace/clone, this needs
another fix.
(In reply to comment #8) > Created attachment 524655 [details] > [PATCH stable-3.0] do_signal_stop: don't clear GROUP_STOP_SIGMASK if > task_is_stopped() > > Could you please test this patch? It should fix the problem. > But, I wasn't able to reproduce it until I understood what > happens (damn! this took me 2 days of grepping ;) May be > your testing has found something else... > > This is upstream bug, I'll send the patch to -stable. > > Ironically, 3.1 has the similar problem although the code > and the reason are quite different. > > And. Both are buggy wrt jctl stop && ptrace/clone, this needs > another fix. I am unable to reproduce my problem with your patch applied. Thanks! |