|
|
Created:
5 years, 5 months ago by Ian Cullinan Modified:
5 years, 5 months ago CC:
chromium-reviews, erikwright+watch_chromium.org, Mark Mentovai, cjhopman, Primiano Tucci (use gerrit) Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionFix ProcessUtilTest.GetTerminationStatusCrash on Android L+
On Android L+, signal and sigaction symbols are provided by libsigchain
that override the system's versions. There is a bug in these functions
where they essentially ignore requests to install SIG_DFL. This causes
ProcessUtilTest.GetTerminationStatusCrash to fail (as
CrashingChildProcess goes into infinite loop instead of crashing).
Workaround this issue by explicitly performing a syscall to
__NR_rt_sigaction to install SIG_DFL on Android, as breakpad does
(see https://breakpad.appspot.com/1804002/).
BUG=512255
TEST=ProcessUtilTest.GetTerminationStatusCrash
Committed: https://crrev.com/31510fe3e2d3b1f3123f391db52372b2506c46ca
Cr-Commit-Position: refs/heads/master@{#339584}
Patch Set 1 #
Total comments: 3
Patch Set 2 : Return comment to its original location #Messages
Total messages: 18 (3 generated)
cullinan@amazon.com changed reviewers: + thakis@chromium.org
PTAL at this fix for http://crbug.com/512255
Looks terrible, please commit :-) (after updating this so that the comment stays next to the line it was next to before) Does base need to grow a dep on lss in some gyp / gn file too? https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... File base/process/process_util_unittest.cc (right): https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... base/process/process_util_unittest.cc:233: // instead of an abnormal termination through the crash dump handler. keep this with the ::signal call in the elif posix below https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... base/process/process_util_unittest.cc:239: // To work around this, directly call the system's sigaction. whaaaaaaaat that is horrible
On 2015/07/20 23:44:07, Nico wrote: > Looks terrible, please commit :-) (after updating this so that the comment stays > next to the line it was next to before) > > Does base need to grow a dep on lss in some gyp / gn file too? I don't think so - lss is just that one header file, and I can't find any gyp or gn files that mention it. > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > File base/process/process_util_unittest.cc (right): > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > base/process/process_util_unittest.cc:233: // instead of an abnormal termination > through the crash dump handler. > keep this with the ::signal call in the elif posix below Done > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > base/process/process_util_unittest.cc:239: // To work around this, directly call > the system's sigaction. > whaaaaaaaat that is horrible Yeah :(
"lgtm"
The CQ bit was checked by cullinan@amazon.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1241333002/20001
Message was sent while issue was closed.
Committed patchset #2 (id:20001)
Message was sent while issue was closed.
Patchset 2 (id:??) landed as https://crrev.com/31510fe3e2d3b1f3123f391db52372b2506c46ca Cr-Commit-Position: refs/heads/master@{#339584}
Message was sent while issue was closed.
primiano@chromium.org changed reviewers: + primiano@chromium.org
Message was sent while issue was closed.
https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... File base/process/process_util_unittest.cc (right): https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... base/process/process_util_unittest.cc:239: // To work around this, directly call the system's sigaction. On 2015/07/20 23:44:07, Nico wrote: > whaaaaaaaat that is horrible Yes, it is, but to the best of my knowledge this is the "best" workaround around that. Also, this is... ahem... **not the most horrifying** thing we've done to work around these kinds of issues (typedefing + #include_next to fix typos in the NDK, that's my favourite).
Message was sent while issue was closed.
On 2015/07/21 09:04:11, Primiano Tucci wrote: > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > File base/process/process_util_unittest.cc (right): > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > base/process/process_util_unittest.cc:239: // To work around this, directly call > the system's sigaction. > On 2015/07/20 23:44:07, Nico wrote: > > whaaaaaaaat that is horrible > > Yes, it is, but to the best of my knowledge this is the "best" workaround around > that. > Also, this is... ahem... **not the most horrifying** thing we've done to work > around these kinds of issues (typedefing + #include_next to fix typos in the > NDK, that's my favourite). This patch broke the mips builder for Android ../../third_party/lss/linux_syscall_support.h:121:21: fatal error: sgidefs.h: No such file or directory #include <sgidefs.h> ^
Message was sent while issue was closed.
On 2015/07/21 16:30:36, michaelbai wrote: > On 2015/07/21 09:04:11, Primiano Tucci wrote: > > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > > File base/process/process_util_unittest.cc (right): > > > > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > > base/process/process_util_unittest.cc:239: // To work around this, directly > call > > the system's sigaction. > > On 2015/07/20 23:44:07, Nico wrote: > > > whaaaaaaaat that is horrible > > > > Yes, it is, but to the best of my knowledge this is the "best" workaround > around > > that. > > Also, this is... ahem... **not the most horrifying** thing we've done to work > > around these kinds of issues (typedefing + #include_next to fix typos in the > > NDK, that's my favourite). > > This patch broke the mips builder for Android > > ../../third_party/lss/linux_syscall_support.h:121:21: fatal error: sgidefs.h: No > such file or directory > #include <sgidefs.h> > ^ Yup, tracked at crbug.com/512384
Message was sent while issue was closed.
On 2015/07/21 16:34:38, Nico wrote: > On 2015/07/21 16:30:36, michaelbai wrote: > > On 2015/07/21 09:04:11, Primiano Tucci wrote: > > > > > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > > > File base/process/process_util_unittest.cc (right): > > > > > > > > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > > > base/process/process_util_unittest.cc:239: // To work around this, directly > > call > > > the system's sigaction. > > > On 2015/07/20 23:44:07, Nico wrote: > > > > whaaaaaaaat that is horrible > > > > > > Yes, it is, but to the best of my knowledge this is the "best" workaround > > around > > > that. > > > Also, this is... ahem... **not the most horrifying** thing we've done to > work > > > around these kinds of issues (typedefing + #include_next to fix typos in the > > > NDK, that's my favourite). > > > > This patch broke the mips builder for Android > > > > ../../third_party/lss/linux_syscall_support.h:121:21: fatal error: sgidefs.h: > No > > such file or directory > > #include <sgidefs.h> > > ^ > > Yup, tracked at crbug.com/512384 It seemed that you can't fix this quickly, I need to revert this patch as it broke the buildbot :(
Message was sent while issue was closed.
On 2015/07/21 16:43:04, michaelbai wrote: > On 2015/07/21 16:34:38, Nico wrote: > > On 2015/07/21 16:30:36, michaelbai wrote: > > > On 2015/07/21 09:04:11, Primiano Tucci wrote: > > > > > > > > > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > > > > File base/process/process_util_unittest.cc (right): > > > > > > > > > > > > > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > > > > base/process/process_util_unittest.cc:239: // To work around this, > directly > > > call > > > > the system's sigaction. > > > > On 2015/07/20 23:44:07, Nico wrote: > > > > > whaaaaaaaat that is horrible > > > > > > > > Yes, it is, but to the best of my knowledge this is the "best" workaround > > > around > > > > that. > > > > Also, this is... ahem... **not the most horrifying** thing we've done to > > work > > > > around these kinds of issues (typedefing + #include_next to fix typos in > the > > > > NDK, that's my favourite). > > > > > > This patch broke the mips builder for Android > > > > > > ../../third_party/lss/linux_syscall_support.h:121:21: fatal error: > sgidefs.h: > > No > > > such file or directory > > > #include <sgidefs.h> > > > ^ > > > > Yup, tracked at crbug.com/512384 > > It seemed that you can't fix this quickly, I need to revert this patch as it > broke the buildbot :( I didn't mean you, Nico :)
Message was sent while issue was closed.
On 2015/07/21 16:48:52, michaelbai wrote: > On 2015/07/21 16:43:04, michaelbai wrote: > > On 2015/07/21 16:34:38, Nico wrote: > > > On 2015/07/21 16:30:36, michaelbai wrote: > > > > On 2015/07/21 09:04:11, Primiano Tucci wrote: > > > > > > > > > > > > > > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > > > > > File base/process/process_util_unittest.cc (right): > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > > > > > base/process/process_util_unittest.cc:239: // To work around this, > > directly > > > > call > > > > > the system's sigaction. > > > > > On 2015/07/20 23:44:07, Nico wrote: > > > > > > whaaaaaaaat that is horrible > > > > > > > > > > Yes, it is, but to the best of my knowledge this is the "best" > workaround > > > > around > > > > > that. > > > > > Also, this is... ahem... **not the most horrifying** thing we've done to > > > work > > > > > around these kinds of issues (typedefing + #include_next to fix typos in > > the > > > > > NDK, that's my favourite). > > > > > > > > This patch broke the mips builder for Android > > > > > > > > ../../third_party/lss/linux_syscall_support.h:121:21: fatal error: > > sgidefs.h: > > > No > > > > such file or directory > > > > #include <sgidefs.h> > > > > ^ > > > > > > Yup, tracked at crbug.com/512384 > > > > It seemed that you can't fix this quickly, I need to revert this patch as it > > broke the buildbot :( > > I didn't mean you, Nico :) That bot doesn't have a trybot and not many devs build mips, so I think it's OK to wait a bit with the revert maybe?
Message was sent while issue was closed.
On 2015/07/21 16:50:22, Nico wrote: > On 2015/07/21 16:48:52, michaelbai wrote: > > On 2015/07/21 16:43:04, michaelbai wrote: > > > On 2015/07/21 16:34:38, Nico wrote: > > > > On 2015/07/21 16:30:36, michaelbai wrote: > > > > > On 2015/07/21 09:04:11, Primiano Tucci wrote: > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > > > > > > File base/process/process_util_unittest.cc (right): > > > > > > > > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/1241333002/diff/1/base/process/process_util_u... > > > > > > base/process/process_util_unittest.cc:239: // To work around this, > > > directly > > > > > call > > > > > > the system's sigaction. > > > > > > On 2015/07/20 23:44:07, Nico wrote: > > > > > > > whaaaaaaaat that is horrible > > > > > > > > > > > > Yes, it is, but to the best of my knowledge this is the "best" > > workaround > > > > > around > > > > > > that. > > > > > > Also, this is... ahem... **not the most horrifying** thing we've done > to > > > > work > > > > > > around these kinds of issues (typedefing + #include_next to fix typos > in > > > the > > > > > > NDK, that's my favourite). > > > > > > > > > > This patch broke the mips builder for Android > > > > > > > > > > ../../third_party/lss/linux_syscall_support.h:121:21: fatal error: > > > sgidefs.h: > > > > No > > > > > such file or directory > > > > > #include <sgidefs.h> > > > > > ^ > > > > > > > > Yup, tracked at crbug.com/512384 > > > > > > It seemed that you can't fix this quickly, I need to revert this patch as it > > > broke the buildbot :( > > > > I didn't mean you, Nico :) > > That bot doesn't have a trybot and not many devs build mips, so I think it's OK > to wait a bit with the revert maybe? This is unit tests and seemed not a urgent patch, and if I don't revert this, it could hide other breakage in mips build.
Message was sent while issue was closed.
A revert of this CL (patchset #2 id:20001) has been created in https://codereview.chromium.org/1247023002/ by michaelbai@chromium.org. The reason for reverting is: This patch broke the mips builder for Android ../../third_party/lss/linux_syscall_support.h:121:21: fatal error: sgidefs.h: No such file or directory #include <sgidefs.h>. |