New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 813483 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: ----



Sign in to add a comment

FileManagerFileWatcherTest.WatchLocalFile in unit_tests failing on chromium.memory/Linux ChromiumOS MSan Tests

Project Member Reported by sheriff-...@appspot.gserviceaccount.com, Feb 19 2018

Issue description

Filed by sheriff-o-matic@appspot.gserviceaccount.com on behalf of tyoshino@chromium.org

FileManagerFileWatcherTest.WatchLocalFile in unit_tests failing on chromium.memory/Linux ChromiumOS MSan Tests

Builders failed on: 
- Linux ChromiumOS MSan Tests: 
  https://build.chromium.org/p/chromium.memory/builders/Linux%20ChromiumOS%20MSan%20Tests


 
Components: Internals>Cast>FileManager
Owner: yoshiki@chromium.org
Cc: yoshiki@chromium.org
Owner: fukino@chromium.org
Fukino-san, could you reassign this to an appropriate person?

Comment 4 by fukino@chromium.org, Feb 19 2018

Cc: jonnymack@chromium.org sashab@chromium.org
Components: -Internals>Cast>FileManager Platform>Apps>FileManager
Labels: OS-Chrome
Status: Started (was: Available)
Thank you for the report!
I'll disable the test.

The stack in the failure:

[ RUN      ] FileManagerFileWatcherTest.WatchLocalFile
==10493==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x7f25f5f20ec3 in capacity ./../../buildtools/third_party/libc++/trunk/include/string:900:18
    #1 0x7f25f5f20ec3 in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::assign(char const*, unsigned long) ./../../buildtools/third_party/libc++/trunk/include/string:2012:0
    #2 0x7f25f5f2095f in std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) ./../../buildtools/third_party/libc++/trunk/include/string:2076:9
    #3 0x181ee9d8 in base::FilePath::operator=(base::FilePath const&) ./../../base/files/file_path.cc:186:51
    #4 0x9133282 in void google_apis::test_util::internal::CopyResultCallback<base::FilePath, bool>(base::FilePath*, bool*, google_apis::test_util::internal::CopyResultCallbackHelper<base::FilePath>::InType, google_apis::test_util::internal::CopyResultCallbackHelper<bool>::InType) ./../../google_apis/drive/test_util.h:190:9
    #5 0x9133107 in Run ./../../base/callback.h:65:12
    #6 0x9133107 in Invoke<base::OnceCallback<void (const base::FilePath &, bool)>, base::FilePath, bool> ./../../base/bind_internal.h:491:0
    #7 0x9133107 in MakeItSo<base::OnceCallback<void (const base::FilePath &, bool)>, base::FilePath, bool> ./../../base/bind_internal.h:530:0
    #8 0x9133107 in RunImpl<base::OnceCallback<void (const base::FilePath &, bool)>, std::__1::tuple<base::FilePath, bool>, 0, 1> ./../../base/bind_internal.h:604:0
    #9 0x9133107 in base::internal::Invoker<base::internal::BindState<base::OnceCallback<void (base::FilePath const&, bool)>, base::FilePath, bool>, void ()>::RunOnce(base::internal::BindStateBase*) ./../../base/bind_internal.h:572:0
    #10 0x2d3c3d62 in google_apis::test_util::RunAndQuit(base::RunLoop*, base::OnceCallback<void ()>) ./../../base/callback.h:65:12
    #11 0x8ec5195 in Invoke<base::RunLoop *const &, base::OnceCallback<void ()> > ./../../base/bind_internal.h:402:12
    #12 0x8ec5195 in MakeItSo<void (*const &)(base::RunLoop *, base::OnceCallback<void ()>), base::RunLoop *const &, base::OnceCallback<void ()> > ./../../base/bind_internal.h:530:0
    #13 0x8ec5195 in RunImpl<void (*const &)(base::RunLoop *, base::OnceCallback<void ()>), const std::__1::tuple<base::RunLoop *> &, 0> ./../../base/bind_internal.h:604:0
    #14 0x8ec5195 in base::internal::Invoker<base::internal::BindState<void (*)(base::RunLoop*, base::OnceCallback<void ()>), base::RunLoop*>, void (base::OnceCallback<void ()>)>::Run(base::internal::BindStateBase*, base::OnceCallback<void ()>&&) ./../../base/bind_internal.h:586:0
    #15 0x9132cb6 in google_apis::internal::ComposedCallback<void (base::FilePath const&, bool)>::Run(base::OnceCallback<void (base::OnceCallback<void ()>)>, base::OnceCallback<void (base::FilePath const&, bool)>, base::FilePath const&, bool) ./../../base/callback.h:65:12
    #16 0x9132edd in Invoke<const base::RepeatingCallback<void (base::OnceCallback<void ()>)> &, const base::RepeatingCallback<void (const base::FilePath &, bool)> &, const base::FilePath &, bool> ./../../base/bind_internal.h:402:12
    #17 0x9132edd in MakeItSo<void (*const &)(base::OnceCallback<void (base::OnceCallback<void ()>)>, base::OnceCallback<void (const base::FilePath &, bool)>, const base::FilePath &, bool), const base::RepeatingCallback<void (base::OnceCallback<void ()>)> &, const base::RepeatingCallback<void (const base::FilePath &, bool)> &, const base::FilePath &, bool> ./../../base/bind_internal.h:530:0
    #18 0x9132edd in RunImpl<void (*const &)(base::OnceCallback<void (base::OnceCallback<void ()>)>, base::OnceCallback<void (const base::FilePath &, bool)>, const base::FilePath &, bool), const std::__1::tuple<base::RepeatingCallback<void (base::OnceCallback<void ()>)>, base::RepeatingCallback<void (const base::FilePath &, bool)> > &, 0, 1> ./../../base/bind_internal.h:604:0
    #19 0x9132edd in base::internal::Invoker<base::internal::BindState<void (*)(base::OnceCallback<void (base::OnceCallback<void ()>)>, base::OnceCallback<void (base::FilePath const&, bool)>, base::FilePath const&, bool), base::RepeatingCallback<void (base::OnceCallback<void ()>)>, base::RepeatingCallback<void (base::FilePath const&, bool)> >, void (base::FilePath const&, bool)>::Run(base::internal::BindStateBase*, base::FilePath const&, bool) ./../../base/bind_internal.h:586:0
    #20 0x9133107 in Run ./../../base/callback.h:65:12
    #21 0x9133107 in Invoke<base::OnceCallback<void (const base::FilePath &, bool)>, base::FilePath, bool> ./../../base/bind_internal.h:491:0
    #22 0x9133107 in MakeItSo<base::OnceCallback<void (const base::FilePath &, bool)>, base::FilePath, bool> ./../../base/bind_internal.h:530:0
    #23 0x9133107 in RunImpl<base::OnceCallback<void (const base::FilePath &, bool)>, std::__1::tuple<base::FilePath, bool>, 0, 1> ./../../base/bind_internal.h:604:0
    #24 0x9133107 in base::internal::Invoker<base::internal::BindState<base::OnceCallback<void (base::FilePath const&, bool)>, base::FilePath, bool>, void ()>::RunOnce(base::internal::BindStateBase*) ./../../base/bind_internal.h:572:0
    #25 0x181da1ea in Run ./../../base/callback.h:65:12
    #26 0x181da1ea in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) ./../../base/debug/task_annotator.cc:55:0
    #27 0x18267d48 in base::MessageLoop::RunTask(base::PendingTask*) ./../../base/message_loop/message_loop.cc:395:25
    #28 0x1826982e in DeferOrRunPendingTask ./../../base/message_loop/message_loop.cc:407:5
    #29 0x1826982e in base::MessageLoop::DoWork() ./../../base/message_loop/message_loop.cc:451:0
    #30 0x18270d4c in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_libevent.cc:220:31
    #31 0x18334e51 in Run ./../../base/run_loop.cc:133:14
    #32 0x18334e51 in base::RunLoop::RunUntilIdle() ./../../base/run_loop.cc:146:0
    #33 0x15a0640e in content::TestBrowserThreadBundle::~TestBrowserThreadBundle() ./../../content/public/test/test_browser_thread_bundle.cc:39:19
    #34 0x912fa7b in ~FileManagerFileWatcherTest ./../../chrome/browser/chromeos/file_manager/file_watcher_unittest.cc:22:7
    #35 0x912fa7b in file_manager::(anonymous namespace)::FileManagerFileWatcherTest_WatchLocalFile_Test::~FileManagerFileWatcherTest_WatchLocalFile_Test() ./../../chrome/browser/chromeos/file_manager/file_watcher_unittest.cc:110:0
    #36 0xa9b3c18 in DeleteSelf_ ./../../third_party/googletest/src/googletest/include/gtest/gtest.h:453:24
    #37 0xa9b3c18 in HandleExceptionsInMethodIfSupported<testing::Test, void> ./../../third_party/googletest/src/googletest/src/gtest.cc:2457:0
    #38 0xa9b3c18 in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2656:0
    #39 0xa9b5499 in testing::TestCase::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2769:28
    #40 0xa9d959e in testing::internal::UnitTestImpl::RunAllTests() ./../../third_party/googletest/src/googletest/src/gtest.cc:4665:43
    #41 0xa9d7fb5 in testing::UnitTest::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #42 0x15601c0a in RUN_ALL_TESTS ./../../third_party/googletest/src/googletest/include/gtest/gtest.h:2233:46
    #43 0x15601c0a in base::TestSuite::Run() ./../../base/test/test_suite.cc:272:0
    #44 0x1560a1dc in Run ./../../base/callback.h:94:12
    #45 0x1560a1dc in base::(anonymous namespace)::LaunchUnitTestsInternal(base::RepeatingCallback<int ()> const&, unsigned long, int, bool, base::RepeatingCallback<void ()> const&) ./../../base/test/launcher/unit_test_launcher.cc:220:0
    #46 0x15609a72 in base::LaunchUnitTests(int, char**, base::RepeatingCallback<int ()> const&) ./../../base/test/launcher/unit_test_launcher.cc:558:10
    #47 0x155deae0 in main ./../../chrome/test/base/run_all_unittests.cc:30:10
    #48 0x7f25f0411f44 in __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:287:0
    #49 0xbd2129 in _start ??:0:0
  Uninitialized value was created by an allocation of 'ref.tmp15' in the stack frame of function '_ZN7content23TestBrowserThreadBundleD2Ev'
    #0 0x15a061e0 in content::TestBrowserThreadBundle::~TestBrowserThreadBundle() ./../../content/public/test/test_browser_thread_bundle.cc:32:0
SUMMARY: MemorySanitizer: use-of-uninitialized-value (/b/s/w/ir/out/Release/./libc++.so+0x1f6ec3)
Exiting

Comment 5 by fukino@chromium.org, Feb 19 2018

Cc: -jonnymack@chromium.org joelhockey@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, Feb 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4b1a0b12690040435027f97e51a543963250bb55

commit 4b1a0b12690040435027f97e51a543963250bb55
Author: Naoki Fukino <fukino@chromium.org>
Date: Mon Feb 19 08:50:29 2018

Disable FileManagerFileWatcherTest.WatchLocalFile in unit_tests.

It is flaky. Disabling it for now.

not run anything.

Bug:  813483 
Test: unit_tests --grest_filter=FileManagerFileWatcherTest.WatchLocalFile did
Change-Id: I826f3f4ca942c939916207bca97569661d92351d
Reviewed-on: https://chromium-review.googlesource.com/923616
Reviewed-by: Yoshiki Iguchi <yoshiki@chromium.org>
Commit-Queue: Naoki Fukino <fukino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537602}
[modify] https://crrev.com/4b1a0b12690040435027f97e51a543963250bb55/chrome/browser/chromeos/file_manager/file_watcher_unittest.cc

Cc: slangley@chromium.org

Comment 8 by sashab@chromium.org, Feb 22 2018

Labels: CrOS-FilesApp-CodeHealth
Labels: -Sheriff-Chromium
Removing from sheriff queue
Labels: M-66
Labels: -CrOS-FilesApp-CodeHealth CrOSFilesCategory-CodeHealth
Labels: -CrOSFilesCategory-CodeHealth CrOSFilesCategory-Testing
Labels: -M-66 M-67
Moving to M-67, please update if incorrect.
Cc: fukino@chromium.org
Labels: -M-67 M-68
Owner: ----
Status: Available (was: Started)
Labels: -M-68
Cc: kylec...@chromium.org sky@chromium.org
 Issue 760309  has been merged into this issue.
Owner: noel@chromium.org
Status: Assigned (was: Available)
Noel, could you TAL at this? :)

Comment 18 by noel@chromium.org, Jun 25 2018

This issue reproduces on ASAN also for the record.

The problem is calling base::RunLoop().RunUntilIdle() to flush tasks at the end of the test, when the test fixture is using content::TestBrowserThreadBundle for this unit-test's threads.

content::TestBrowserThreadBundle has a RunUntilIdle() method, and that is one that should be called to flush tasks at the end of the test.
Project Member

Comment 19 by bugdroid1@chromium.org, Jun 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a83d319872481ae5ddc5eeff9a4a2c7ac4de5f97

commit a83d319872481ae5ddc5eeff9a4a2c7ac4de5f97
Author: Noel Gordon <noel@chromium.org>
Date: Tue Jun 26 00:27:35 2018

Re-enable FileManagerFileWatcherTest/WatchLocalFile all bots

Use the TestBrowserThreadBundle RunUntilIdle to flush all tasks at the
end of the test, rather than base::Runloop::RunUntilIdle, which caused
flakes on the MSAN/ASAN bots.

Test: unit_tests --gtest_filter=FileManagerFileWatcher*WatchLocalFile
Bug:  813483 
Change-Id: I867e5d914074e6c9d389a5f932836cd6cd8a627c
Reviewed-on: https://chromium-review.googlesource.com/1113399
Reviewed-by: Stuart Langley <slangley@chromium.org>
Commit-Queue: Noel Gordon <noel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570264}
[modify] https://crrev.com/a83d319872481ae5ddc5eeff9a4a2c7ac4de5f97/chrome/browser/chromeos/file_manager/file_watcher_unittest.cc

Comment 20 by noel@chromium.org, Jun 26 2018

Status: Fixed (was: Assigned)
Results https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=unit_tests&showExpectations=true&tests=FileManagerFileWatcherTest.WatchLocalFile


FileManagerFileWatcherTest.WatchLocalFile.png
190 KB View Download
Status: Verified (was: Fixed)

Sign in to add a comment