Issue metadata
Sign in to add a comment
|
chrome --version is not working properly any more |
||||||||||||||||||||||
Issue descriptionSomeone broke the output of "chrome --version" between 65.0.3322.0 and 65.0.3323.0 (at least on ChromeOS). It used to output the version on stdout, which we rely on, as we have scripts that read this version and use it for appropriate naming of files (such as the perf data files we use for AFDO compilations). You can see the weird behavior by logging into a Chromebook: localhost ~ # /opt/google/chrome/chrome --version Google Chrome 65.0.3325.11 unknown localhost ~ # /opt/google/chrome/chrome --version > /tmp/chrome-version.2.txt localhost ~ # ls /tmp/chrome-version.2.txt /tmp/chrome-version.2.txt localhost ~ # more /tmp/chrome-version.2.txt localhost ~ # localhost ~ # /opt/google/chrome/chrome --version &> /tmp/chrome-version.2.txt localhost ~ # more /tmp/chrome-version.2.txt localhost ~ # localhost ~ # wc /tmp/chrome-version.2.txt 0 0 0 /tmp/chrome-version.2.txt localhost ~ # /opt/google/chrome/chrome --version | grep Google localhost ~ # This needs to be fixed ASAP, as it's breaking the AFDO builds and will cause the PFQ to start failing if it isn't fixed in the next few days.
,
Jan 24 2018
simple reproducer is: # /opt/google/chrome/chrome --version <get output> # /opt/google/chrome/chrome --version | cat <no output with 65.0.3323.0+>
,
Jan 24 2018
,
Jan 24 2018
I can take a look
,
Jan 24 2018
bisect shows the culprit CL is: https://chromium.googlesource.com/chromium/src/+/19a74a4e72ee85c2c24336a7bb5f2024523ca8bd
,
Jan 24 2018
Looks like the author gab@ is in UTC time. I will revert the CL: https://chromium-review.googlesource.com/c/chromium/src/+/883603 now.
,
Jan 24 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/00d4c5682096bf92e821637a697628fc40d9915c commit 00d4c5682096bf92e821637a697628fc40d9915c Author: Qiang(Joe) Xu <warx@chromium.org> Date: Wed Jan 24 18:36:13 2018 Revert "TerminateProcess instead of letting main unwind." This reverts commit 19a74a4e72ee85c2c24336a7bb5f2024523ca8bd. Reason for revert: crbug.com/805443 Original change's description: > TerminateProcess instead of letting main unwind. > > Avoids going through wasteful and often problematic static > uninitialization phase. > > Unfortunately can't do this in ContentMain because of embedders (namely > test frameworks). > > Bug: 800808 > Change-Id: I768b096a8dbea4804a94d0d50e7345d46c9ef781 > Reviewed-on: https://chromium-review.googlesource.com/860617 > Commit-Queue: Gabriel Charette <gab@chromium.org> > Reviewed-by: Jochen Eisinger <jochen@chromium.org> > Cr-Commit-Position: refs/heads/master@{#529233} TBR=gab@chromium.org,jochen@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 800808, 805443 Change-Id: Icb7b027db65ee5e39f240d52f13e9a025edc76cf Reviewed-on: https://chromium-review.googlesource.com/883603 Commit-Queue: Qiang(Joe) Xu <warx@chromium.org> Reviewed-by: Qiang(Joe) Xu <warx@chromium.org> Cr-Commit-Position: refs/heads/master@{#531616} [modify] https://crrev.com/00d4c5682096bf92e821637a697628fc40d9915c/chrome/app/chrome_main.cc
,
Jan 24 2018
,
Jan 24 2018
in that case, my guess would be that it exits w/out flushing any of its stdio handles. it probably should add a fflush(stdout); fflush(stderr); before terminating immediately.
,
Jan 24 2018
A better fix might be to flush stdout / stderr in the --version handler, not during shutdown. (Somewhat surprising that --version doesn't just exit after printing and instead goes to the regular chrome shutdown path)
,
Jan 24 2018
i'm not sure that's a good idea. you're suggesting every point in the code that writes to stdout/stderr during the main startup needs defensively flush stdio ? that would include all CHECK related statements too. what is the concern with just calling fflush at this point in main ? if there's nothing to flush, then the calls should be pretty cheap (since the FILE handles are all in userspace/the C library), and if there is something to flush, it better well be flushed before we exit hard.
,
Jan 24 2018
One of the intents with termination is that it happens immediately and after all blocking tasks are flushed. A sustainable workaround may be to post a BLOCK_SHUTDOWN task to flush the streams. The tricky part about this is that for correctness, this needs to happen after all tasks blocking shutdown have run or it could be racy.
,
Jan 24 2018
Revert landed in tot. Problem is fixed. I will delegate to cl owner for follow up fix.
,
Jan 25 2018
I will not realistically have cycles to look into this shortly. Feel free to grab from me if interested. robliao's approach of posting a BLOCK_SHUTDOWN task to flush buffers SGTM. Ideally would run last among BLOCK_SHUTDOWN tasks though. Ping me for ideas on how to do that. Cheers, Gab
,
Feb 6 2018
Issue 809020 has been merged into this issue.
,
Feb 9 2018
Issue 810805 has been merged into this issue.
,
Feb 9 2018
Requesting merge for the revert to M-65. This broke in 65.0.3323.0.
,
Feb 9 2018
This bug requires manual review: Reverts referenced in bugdroid comments after merge request. Please contact the milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Feb 10 2018
I believe this is P1, as beta is being affected.
,
Feb 10 2018
Agreed, let's revert on branch as well.
,
Feb 12 2018
,
Feb 13 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/23c73d55a5e5dc485a7bb02fece033d1d6987063 commit 23c73d55a5e5dc485a7bb02fece033d1d6987063 Author: Qiang(Joe) Xu <warx@chromium.org> Date: Tue Feb 13 07:34:32 2018 [Merge M65] Revert "TerminateProcess instead of letting main unwind." This reverts commit 19a74a4e72ee85c2c24336a7bb5f2024523ca8bd. Reason for revert: crbug.com/805443 Original change's description: > TerminateProcess instead of letting main unwind. > > Avoids going through wasteful and often problematic static > uninitialization phase. > > Unfortunately can't do this in ContentMain because of embedders (namely > test frameworks). > > Bug: 800808 > Change-Id: I768b096a8dbea4804a94d0d50e7345d46c9ef781 > Reviewed-on: https://chromium-review.googlesource.com/860617 > Commit-Queue: Gabriel Charette <gab@chromium.org> > Reviewed-by: Jochen Eisinger <jochen@chromium.org> > Cr-Commit-Position: refs/heads/master@{#529233} TBR=gab@chromium.org,jochen@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 800808, 805443 Change-Id: Icb7b027db65ee5e39f240d52f13e9a025edc76cf Reviewed-on: https://chromium-review.googlesource.com/883603 Commit-Queue: Qiang(Joe) Xu <warx@chromium.org> Reviewed-by: Qiang(Joe) Xu <warx@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#531616}(cherry picked from commit 00d4c5682096bf92e821637a697628fc40d9915c) Reviewed-on: https://chromium-review.googlesource.com/915063 Reviewed-by: Gabriel Charette <gab@chromium.org> Cr-Commit-Position: refs/branch-heads/3325@{#443} Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369} [modify] https://crrev.com/23c73d55a5e5dc485a7bb02fece033d1d6987063/chrome/app/chrome_main.cc
,
Feb 14 2018
Facing the same issue with chrome beta channel
,
Feb 14 2018
This will be fixed in 65.0.3325.70+ (current Beta is 65.0.3325.51, next release should happen in next few days).
,
Feb 14 2018
,
Feb 24 2018
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by cmt...@chromium.org
, Jan 24 2018