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

Issue 654429 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Debug VideoDecodeAcceleratorUnittest crashed at ~GLRenderingVDAClient

Project Member Reported by wuchengli@chromium.org, Oct 10 2016

Issue description

Version: ChromeOS peach pi 8799.0.0 with chrome HEAD=17fe3c43c3dcfa4c81486e63548a3f985402f68f.

What steps will reproduce the problem?
(1) Run VDA unittest.
./video_decode_accelerator_unittest --test_video_data='test-25fps.vp8:320:240:250:250:35:150:11' --gtest_filter=ReplayAfterEOS/VideoDecodeAcceleratorParamTest.TestSimpleDecode/0 --v=4

What do you see instead?
Crashed.

[1010/230034:VERBOSE3:v4l2_video_decode_accelerator.cc(690)] Destroy(): 
[1010/230034:VERBOSE3:v4l2_video_decode_accelerator.cc(1693)] DestroyTask(): 
[1010/230034:VERBOSE3:v4l2_video_decode_accelerator.cc(1739)] StopDevicePoll(): 
[1010/230034:VERBOSE3:generic_v4l2_device.cc(110)] SetDevicePollInterrupt()
[1010/230034:VERBOSE3:generic_v4l2_device.cc(122)] ClearDevicePollInterrupt()
[1010/230034:VERBOSE3:v4l2_video_decode_accelerator.cc(1759)] StopDevicePoll(): device poll stopped
[1010/230034:VERBOSE3:v4l2_video_decode_accelerator.cc(1764)] StopOutputStream(): 
[1010/230034:VERBOSE3:v4l2_video_decode_accelerator.cc(1788)] StopInputStream(): 
[1010/230034:VERBOSE3:v4l2_video_decode_accelerator.cc(2355)] DestroyInputBuffers(): 
[1010/230035:VERBOSE3:v4l2_video_decode_accelerator.cc(2378)] DestroyOutputBuffers(): 
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=1
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=2
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=3
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=4
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=5
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=6
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=7
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=8
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=9
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=10
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=11
[1010/230035:VERBOSE1:v4l2_video_decode_accelerator.cc(2400)] DestroyOutputBuffers(): dismissing PictureBuffer id=12
[1010/230035:VERBOSE3:v4l2_video_decode_accelerator.cc(1153)] ServiceDeviceTask(): 
[1010/230035:VERBOSE2:v4l2_video_decode_accelerator.cc(1162)] ServiceDeviceTask(): early out: kError state
[1010/230035:FATAL:lock_impl_posix.cc(65)] Check failed: rv == 0 (22 vs. 0). Invalid argument
#0 0x0000b5c2764e base::debug::StackTrace::StackTrace()
#1 0x0000b5b5cdf2 logging::LogMessage::~LogMessage()
#2 0x0000b5bbafe0 base::internal::LockImpl::Lock()
#3 0x0000b5860900 base::Lock::Acquire()
#4 0x0000b5860948 base::AutoLock::AutoLock()
#5 0x0000b5851bbe media::ClientStateNotification<>::Notify()
#6 0x0000b584b1f6 media::(anonymous namespace)::GLRenderingVDAClient::SetState()
#7 0x0000b584947a media::(anonymous namespace)::GLRenderingVDAClient::~GLRenderingVDAClient()
#8 0x0000b5849560 media::(anonymous namespace)::GLRenderingVDAClient::~GLRenderingVDAClient()
#9 0x0000b58558c2 std::default_delete<>::operator()()
#10 0x0000b5852f50 std::unique_ptr<>::~unique_ptr()
#11 0x0000b585b660 std::_Destroy<>()
#12 0x0000b5859cec std::_Destroy_aux<>::__destroy<>()
#13 0x0000b58578c8 std::_Destroy<>()
#14 0x0000b5855436 std::_Destroy<>()
#15 0x0000b5852ade std::vector<>::~vector()
#16 0x0000b5855c0c std::default_delete<>::operator()()
#17 0x0000b5853608 std::unique_ptr<>::~unique_ptr()
#18 0x0000b585c984 _ZN4base8internal13FunctorTraitsIPFvSt10unique_ptrISt6vectorIS2_IN5media12_GLOBAL__N_120GLRenderingVDAClientESt14default_deleteIS6_EESaIS9_EES7_ISB_EEEvE6InvokeIJSD_EEEvSF_DpOT_
#19 0x0000b585b7da _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvSt10unique_ptrISt6vectorIS4_IN5media12_GLOBAL__N_120GLRenderingVDAClientESt14default_deleteIS8_EESaISB_EES9_ISD_EEEJSF_EEEvOT_DpOT0_
#20 0x0000b585a206 _ZN4base8internal7InvokerINS0_9BindStateIPFvSt10unique_ptrISt6vectorIS3_IN5media12_GLOBAL__N_120GLRenderingVDAClientESt14default_deleteIS7_EESaISA_EES8_ISC_EEEJNS0_13PassedWrapperISE_EEEEEFvvEE7RunImplIRKSG_RKSt5tupleIJSI_EEJLj0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#21 0x0000b5857fc6 _ZN4base8internal7InvokerINS0_9BindStateIPFvSt10unique_ptrISt6vectorIS3_IN5media12_GLOBAL__N_120GLRenderingVDAClientESt14default_deleteIS7_EESaISA_EES8_ISC_EEEJNS0_13PassedWrapperISE_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#22 0x0000b5840d18 base::internal::RunMixin<>::Run()


Repro rate: 5/5
 
log.txt
3.1 MB View Download
https://codereview.chromium.org/2371783002 introduced the crash.
Owner: wuchengli@chromium.org
Labels: M-55
I tested the fix on elm. There is another crash.

[----------] 1 test from Thumbnail/VideoDecodeAcceleratorParamTest
[ RUN      ] Thumbnail/VideoDecodeAcceleratorParamTest.TestSimpleDecode/0
[1011/112603:WARNING:screen_manager.cc(101)] Display controller (crtc=30) already present.
../../media/gpu/video_decode_accelerator_unittest.cc:1426: Failure
Value of: video_file->num_frames
  Actual: 250
Expected: client->num_decoded_frames()
Which is: 245
[1011/112604:INFO:video_decode_accelerator_unittest.cc(1434)] Decoder 0 fps: 225.795
[1011/112605:ERROR:video_decode_accelerator_unittest.cc(1471)] Unknown thumbnails MD5: a0c8198e7b924fde1780dbb5acb40c1f
../../media/gpu/video_decode_accelerator_unittest.cc:1480: Failure
Expected: (match) != (golden_md5s.end()), actual: 4-byte object <48-64 61-F9> vs 4-byte object <48-64 61-F9>
[1011/112605:FATAL:weak_ptr.cc(20)] Check failed: sequence_checker_.CalledOnValidSequence() || HasOneRef(). WeakPtrs must be invalidated on the same sequenced thread.
#0 0x0000f60ff18e base::debug::StackTrace::StackTrace()
#1 0x0000f60338c6 logging::LogMessage::~LogMessage()
#2 0x0000f60380e2 base::internal::WeakReference::Flag::Invalidate()
#3 0x0000f60383e4 base::internal::WeakReferenceOwner::Invalidate()
#4 0x0000f603833c base::internal::WeakReferenceOwner::~WeakReferenceOwner()
#5 0x0000f5d2573c base::WeakPtrFactory<>::~WeakPtrFactory()
#6 0x0000f5d1d440 media::(anonymous namespace)::GLRenderingVDAClient::~GLRenderingVDAClient()
#7 0x0000f5d1d51c media::(anonymous namespace)::GLRenderingVDAClient::~GLRenderingVDAClient()
#8 0x0000f5d2990a std::default_delete<>::operator()()
#9 0x0000f5d26f84 std::unique_ptr<>::~unique_ptr()
#10 0x0000f5d2f6d0 std::_Destroy<>()
#11 0x0000f5d2dd48 std::_Destroy_aux<>::__destroy<>()
#12 0x0000f5d2b918 std::_Destroy<>()
#13 0x0000f5d2947a std::_Destroy<>()
#14 0x0000f5d26b12 std::vector<>::~vector()
#15 0x0000f5d23634 media::(anonymous namespace)::VideoDecodeAcceleratorParamTest_TestSimpleDecode_Test::TestBody()
#16 0x0000f6171738 testing::internal::HandleSehExceptionsInMethodIfSupported<>()
#17 0x0000f616f37e testing::internal::HandleExceptionsInMethodIfSupported<>()
#18 0x0000f6163c5a testing::Test::Run()
#19 0x0000f616426e testing::TestInfo::Run()
#20 0x0000f616476a testing::TestCase::Run()
#21 0x0000f6169526 testing::internal::UnitTestImpl::RunAllTests()
#22 0x0000f6171780 testing::internal::HandleSehExceptionsInMethodIfSupported<>()
#23 0x0000f616f3ea testing::internal::HandleExceptionsInMethodIfSupported<>()
#24 0x0000f61687a6 testing::UnitTest::Run()
#25 0x0000f5d353ea RUN_ALL_TESTS()
#26 0x0000f5d252f6 main
#27 0x0000f56c6308 __libc_start_main

#5 is another bug.
Project Member

Comment 7 by bugdroid1@chromium.org, Oct 11 2016

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

commit dc834a8f5707c31894ddebc8f12faf2cd4d2d434
Author: wuchengli <wuchengli@chromium.org>
Date: Tue Oct 11 04:19:37 2016

VDA unittest: fix ~GLRenderingVDAClient crash in debug build.

This was introduced by 386d72414e61c5e8155b66e2986fa0039f4b010a.
GLRenderingVDAClient uses ClientStateNotification and must be
deleted first.

BUG= 654429 
TEST=Run VDA unittest on peach pi.

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

[modify] https://crrev.com/dc834a8f5707c31894ddebc8f12faf2cd4d2d434/media/gpu/video_decode_accelerator_unittest.cc

Labels: Merge-Request-55
I'm requesting a merge to M55. This only changes the test and is a low risk fix. Without the fix, ChromeOS autotest video_VideoDecodeAccelerator may randomly fail.

Comment 9 by dimu@chromium.org, Oct 12 2016

Labels: -Merge-Request-55 Merge-Approved-55 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M55 (branch: 2883)
Project Member

Comment 10 by sheriffbot@chromium.org, Oct 15 2016

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 11 by bugdroid1@chromium.org, Oct 17 2016

Labels: -merge-approved-55 merge-merged-2883
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c3ed32e48a48ad27f1a5ccd248b9533aada75b29

commit c3ed32e48a48ad27f1a5ccd248b9533aada75b29
Author: Kuang-che Wu <kcwu@chromium.org>
Date: Mon Oct 17 05:01:58 2016

VDA unittest: fix ~GLRenderingVDAClient crash in debug build.

This was introduced by 386d72414e61c5e8155b66e2986fa0039f4b010a.
GLRenderingVDAClient uses ClientStateNotification and must be
deleted first.

BUG= 654429 
TEST=Run VDA unittest on peach pi.

Review-Url: https://codereview.chromium.org/2407863002
Cr-Commit-Position: refs/heads/master@{#424366}
(cherry picked from commit dc834a8f5707c31894ddebc8f12faf2cd4d2d434)

Review URL: https://codereview.chromium.org/2427463002 .

Cr-Commit-Position: refs/branch-heads/2883@{#135}
Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768}

[modify] https://crrev.com/c3ed32e48a48ad27f1a5ccd248b9533aada75b29/media/gpu/video_decode_accelerator_unittest.cc

Status: Fixed (was: Assigned)
Project Member

Comment 13 by bugdroid1@chromium.org, Oct 27 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c3ed32e48a48ad27f1a5ccd248b9533aada75b29

commit c3ed32e48a48ad27f1a5ccd248b9533aada75b29
Author: Kuang-che Wu <kcwu@chromium.org>
Date: Mon Oct 17 05:01:58 2016

VDA unittest: fix ~GLRenderingVDAClient crash in debug build.

This was introduced by 386d72414e61c5e8155b66e2986fa0039f4b010a.
GLRenderingVDAClient uses ClientStateNotification and must be
deleted first.

BUG= 654429 
TEST=Run VDA unittest on peach pi.

Review-Url: https://codereview.chromium.org/2407863002
Cr-Commit-Position: refs/heads/master@{#424366}
(cherry picked from commit dc834a8f5707c31894ddebc8f12faf2cd4d2d434)

Review URL: https://codereview.chromium.org/2427463002 .

Cr-Commit-Position: refs/branch-heads/2883@{#135}
Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768}

[modify] https://crrev.com/c3ed32e48a48ad27f1a5ccd248b9533aada75b29/media/gpu/video_decode_accelerator_unittest.cc

Comment 14 by dimu@google.com, Nov 4 2016

[Automated comment] removing mislabelled merge-merged-2840

Comment 15 by dimu@google.com, Nov 4 2016

Labels: -merge-merged-2840
[Automated comment] removing mislabelled merge-merged-2840

Comment 16 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59
Cc: vsu...@chromium.org avkodipelli@chromium.org
Status: Verified (was: Fixed)

Sign in to add a comment