New issue
Advanced search Search tips

Issue 830233 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: 2018-04-20
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

video_VideoDecodeAccelerator Crashed from 10554.0.0

Project Member Reported by hiroh@chromium.org, Apr 8 2018

Issue description

video_VideoDecodeAccelerator is failed and crashed in its beginning.
This is a debug log on eve.
stop ui && ./video_decode_accelerator_unittest --test_video_data=test-25fps.vp9:320:240:250:250:35:150:12

[ RUN      ] VideoDecodeAcceleratorTest.TestDecodeTimeMedian
Received signal 11 SEGV_MAPERR 000000000078
#0 0x57286b26071c base::debug::StackTrace::StackTrace()
#1 0x57286b260291 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7c63bb4cc2e0 <unknown>
#3 0x57286b18319d ui::GbmBuffer::CreateBuffer()
#4 0x57286b177eb9 ui::DrmThread::CreateBuffer()
#5 0x57286b18f5cf ui::(anonymous namespace)::OnRunPostedTaskAndSignal()
#6 0x57286b260fcc base::debug::TaskAnnotator::RunTask()
#7 0x57286b221627 base::MessageLoop::RunTask()
#8 0x57286b221b17 base::MessageLoop::DoWork()
#9 0x57286b222da9 base::MessagePumpLibevent::Run()
#10 0x57286b230775 base::RunLoop::Run()
#11 0x57286b24753a base::Thread::ThreadMain()
#12 0x57286b2459bd base::(anonymous namespace)::ThreadFunc()
#13 0x7c63bb4c22b8 <unknown>
#14 0x7c63ba781fad clone
  r8: 0000000000000000  r9: 0000000000000002 r10: 00007c63ba7c2b00 r11: 000057286b177d00
 r12: 000000003231564e r13: 00007c63b6c7f9e8 r14: 000057286b6980a0 r15: 00002336bfe9e87c
  di: 00002336bf811960  si: 000057286b535469  bp: 00007c63b6c7f980  bx: 0000000000000021
  dx: 0000000000000003  ax: 0000000000000000  cx: f054294bbc2e0000  sp: 00007c63b6c7f8b0
  ip: 000057286b18319d efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000078
[end of stack trace]
Calling _exit(1). Core file will not be generated.
[1/23] VideoDecodeAcceleratorTest.TestDecodeTimeMedian (CRASHED)


I figured out this is bad CL; https://chromium-review.googlesource.com/c/chromium/src/+/980574

kylechar@, could you tell me  if I can merely revert this CL? Or could you create  a fix CL and submit?

Thanks,
-Hiro
 

Comment 1 by hiroh@chromium.org, Apr 9 2018

I confirmed VDA unittest passed on Chrome ToT by merely reverting this CL.
What bots are these test run on?
It would be preferable to fix the crash. What files do I need to copy to the device to reproduce? I tried copying video_decode_accelerator_unittest + test-25fps.vp9 and I'm getting a different error:

[9439:9445:0409/110120.301299:1321557822:FATAL:video_decode_accelerator_unittest.cc(639)] Assert failed: decoder_. Failed creating a VDA
#0 0x5c66bacf284c base::debug::StackTrace::StackTrace()
#1 0x5c66bacb1180 logging::LogMessage::~LogMessage()
#2 0x5c66baa30fe5 media::(anonymous namespace)::GLRenderingVDAClient::CreateAndStartDecoder()
#3 0x5c66bacf30fc base::debug::TaskAnnotator::RunTask()
#4 0x5c66bacb3527 base::MessageLoop::RunTask()
#5 0x5c66bacb3a17 base::MessageLoop::DoWork()
#6 0x5c66bacb4ca9 base::MessagePumpLibevent::Run()
#7 0x5c66bacc2675 base::RunLoop::Run()
#8 0x5c66bacd95aa base::Thread::ThreadMain()
#9 0x5c66bacd78bd base::(anonymous namespace)::ThreadFunc()
#10 0x7b24fb22f2b8 <unknown>
#11 0x7b24fa4f0fad clone
#3: make sure you have both the executable and the test file on the same
folder (e.g. /tmp) and that you're on that very folder as well (otherwise
arcane errors might occur).  I usually copy all needed files, e.g. from a
chromium checkout:

scp media/test/data/test-25fps.* root@192.168.1.10:/tmp

Also JIC when runnning `stop ui`, let it sink for a few seconds.



Components: Internals>GPU>Video
Cc: rjkroege@chromium.org
I got the test to run (and fail). I think there was some version mismatch between Chrome OS and simple Chrome binary.

Anyways, I see the problem. The task that hands over the DRM display controller handle to the GPU runs on the UI thread instead of IO thread now. video_decode_accelerator_unittest starts running tests before that task has run, so the GPU thread isn't ready yet and things fail.

It should be safe enough to add a RunLoop to OzoneGpuTestHelper::Initialize() so the UI thread has a chance to finish initialization.
I uploaded https://crrev.com/c/1003076 which fixes video_decode_accelerator_unittest on eve.
Project Member

Comment 9 by bugdroid1@chromium.org, Apr 10 2018

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

commit 2121a5d2b55687562961efed87d35b99340ab257
Author: kylechar <kylechar@chromium.org>
Date: Tue Apr 10 14:32:07 2018

Ensure Ozone DRM initialization has finished.

Make OzoneGpuTestHelper::Initialize() run UI thread tasks after
OnGpuProcessLaunched(). In https://crrev.com/c/980574 Ozone DRM was
changed so the DRM display controller handle was only accessed on the UI
thread to prevent races. This means that when GpuPlatformSupportHost
OnGpuProcessLaunched() is called from the IO thread there is a UI thread
task that needs to run to finish initialization.

This CL adds a RunLoop that runs on the UI thread and immediately posts
a task to quit that run loop. That will run any tasks on the UI thread
that are pending and then continue, ensuring the Ozone DRM
initialization is finished. This should be safe for other Ozone
platforms as well.

Bug:  830233 
Change-Id: I5b2e45c36f7042d59800c0822ca97b13a60a7aab
Reviewed-on: https://chromium-review.googlesource.com/1003076
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549523}
[modify] https://crrev.com/2121a5d2b55687562961efed87d35b99340ab257/ui/ozone/public/ozone_gpu_test_helper.cc

ToT works at least locally now on my eve, thanks kylechar@!
Labels: Needs-Verification
NextAction: 2018-04-20
Status: Fixed (was: Assigned)
Great, thanks.
The NextAction date has arrived: 2018-04-20
Status: Verified (was: Fixed)
Not crashing anymore, so: Verified.

Sign in to add a comment