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

Issue 612552 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: May 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

ClangToTLinuxUBSanVptr bot is failing

Project Member Reported by p...@chromium.org, May 17 2016

Issue description

Example failure:

https://build.chromium.org/p/chromium.fyi/builders/ClangToTLinuxUBSanVptr%20tester/builds/487/steps/media_blink_unittests%20on%20Ubuntu-12.04/logs/MultibufferDataSourceTest.DefaultValues

MultibufferDataSourceTest.DefaultValues (run #1):
[ RUN      ] MultibufferDataSourceTest.DefaultValues
../../testing/gmock/include/gmock/gmock-generated-actions.h:65:19: runtime error: member call on address 0x0bcc9629ac80 which does not point to an object of type 'media::TestMultiBufferDataProvider'
0x0bcc9629ac80: note: object is of type 'media::ResourceMultiBufferDataProvider'
 00 00 00 00  c8 f0 e9 09 00 00 00 00  58 f1 e9 09 00 00 00 00  01 00 00 00 00 00 00 00  00 c9 29 96
              ^~~~~~~~~~~~~~~~~~~~~~~
              vptr for 'media::ResourceMultiBufferDataProvider'

This was caused by https://codereview.chromium.org/1958123004 which introduced undefined behaviour, namely the call to SetLoadingToFalse after the TestMultiBufferDataProvider object has been destroyed.

To reproduce:

GYP_DEFINES='clang=1 clang_use_chrome_plugins=0 component=static_library release_extra_cflags=-fno-sanitize-recover=undefined sanitizer_coverage=edge target_arch=x64 test_isolation_mode=prepare ubsan_vptr=1 -Dmake_clang_dir=../../llvm/ra' build/gyp_chromium -Goutput_dir=out_ubsna_vptr_bot
ninja -C out_ubsna_vptr_bot/Debug media_blink_unittests
out_ubsna_vptr_bot/Debug/media_blink_unittests --single-process-tests --gtest_filter=MultibufferDataSourceTest.DefaultValues

hubbe@, please see if you can rewrite this test in a way that avoids the undefined behaviour.
 

Comment 1 by hubbe@chromium.org, May 17 2016

Status: Started (was: Unconfirmed)
Project Member

Comment 2 by bugdroid1@chromium.org, May 17 2016

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

commit 535814cb156da1f3872a1a605a9ec9108962533b
Author: hubbe <hubbe@chromium.org>
Date: Tue May 17 21:08:33 2016

Avoid using vtable of destroyed object in MultiBuffer unit test.

<EOM>

BUG= 612552 

Review-Url: https://codereview.chromium.org/1984083003
Cr-Commit-Position: refs/heads/master@{#394231}

[modify] https://crrev.com/535814cb156da1f3872a1a605a9ec9108962533b/media/blink/multibuffer_data_source_unittest.cc

Comment 3 by hubbe@chromium.org, May 17 2016

Status: Fixed (was: Started)

Sign in to add a comment