GpuOESEGLImageTest.EGLImageToTexture crashing on GPU FYI AMD Release |
|||||||
Issue descriptionSee https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20FYI%20Release%20%28AMD%20R7%20240%29/268 the crash is inside the driver call to eglInitialize. Received signal 11 SEGV_MAPERR 00000000001d #0 0x00000086e53c base::debug::StackTrace::StackTrace() #1 0x00000086e0b1 base::debug::(anonymous namespace)::StackDumpSignalHandler() #2 0x7f2641c83390 <unknown> #3 0x7f263d5662b4 <unknown> #4 0x7f263d577a6c <unknown> #5 0x7f263d5a46ec <unknown> #6 0x7f263c94ada8 <unknown> #7 0x7f263c8f1382 <unknown> #8 0x7f263b579454 <unknown> #9 0x7f263c48efc7 <unknown> #10 0x7f263d59eda0 <unknown> #11 0x7f263d5019a8 <unknown> #12 0x7f263d501d06 <unknown> #13 0x7f263d4fc368 <unknown> #14 0x7f263d4f982f eglInitialize #15 0x0000009b0b9a gl::GLSurfaceEGL::InitializeDisplay() #16 0x0000009b087a gl::GLSurfaceEGL::InitializeOneOff() #17 0x0000009d2fdb gl::init::InitializeGLOneOffPlatform() #18 0x0000009cc73a gl::init::InitializeGLOneOffImplementation() #19 0x00000051cc41 gpu::GLTestHelper::InitializeGL() #20 0x00000051eb3b gpu::GpuCommandBufferTestEGL::InitializeEGLGLES2() #21 0x00000050ea7c (anonymous namespace)::GpuOESEGLImageTest::SetUp() The bot didn't have a blamelist for a couple runs but I suspect the crash started happening after the test was added in https://chromium-review.googlesource.com/c/chromium/src/+/958908 Julien can you take a look? I think it might be because the AMD drivers don't support OpenGL ES but still advertise it.
,
Mar 16 2018
Changing the bot to use Mesa would be too big a change. Skipping this test on Linux AMD would be sufficient, or blacklisting EGL GLES2 on Linux AMD.
,
Mar 16 2018
I made this patch (Note that the way the gl_tests work it ignores the gpu black list): https://chromium-review.googlesource.com/c/chromium/src/+/966662
,
Mar 16 2018
,
Mar 16 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ed312194b4417a33996a2f3516f65c0c7a1f8a96 commit ed312194b4417a33996a2f3516f65c0c7a1f8a96 Author: Julien Isorce <julien.isorce@chromium.org> Date: Fri Mar 16 17:07:28 2018 Skip GpuOESEGLImageTest on ATI proprietary driver Detect the GL_VENDOR string from the default GL implementation. If it is the ATI proprietary driver then do not switch to EGL/GLES2 as there is a known bug and this driver crashes in eglInitialize instead of failing properly. BUG= 822716 Cq-Include-Trybots: luci.chromium.try:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I00b883012c31867f938bf3f68440058738bb312b Reviewed-on: https://chromium-review.googlesource.com/966662 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#543735} [modify] https://crrev.com/ed312194b4417a33996a2f3516f65c0c7a1f8a96/gpu/command_buffer/tests/gl_test_utils.cc
,
Mar 16 2018
Thank you for the prompt fix!
,
Mar 17 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/297d4c288571542e66f2736080618d4d5cea698b commit 297d4c288571542e66f2736080618d4d5cea698b Author: Julien Isorce <julien.isorce@chromium.org> Date: Sat Mar 17 15:02:31 2018 Revert "Skip GpuOESEGLImageTest on ATI proprietary driver" This reverts commit ed312194b4417a33996a2f3516f65c0c7a1f8a96. Reason for revert: It should have been "gpu_info.gl_vendor" instead of "gpu_info.driver_vendor" Original change's description: > Skip GpuOESEGLImageTest on ATI proprietary driver > > Detect the GL_VENDOR string from the default GL implementation. > If it is the ATI proprietary driver then do not switch to EGL/GLES2 > as there is a known bug and this driver crashes in eglInitialize > instead of failing properly. > > BUG= 822716 > > Cq-Include-Trybots: luci.chromium.try:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > Change-Id: I00b883012c31867f938bf3f68440058738bb312b > Reviewed-on: https://chromium-review.googlesource.com/966662 > Commit-Queue: Kenneth Russell <kbr@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#543735} TBR=kbr@chromium.org,cwallez@chromium.org,piman@chromium.org,julien.isorce@chromium.org Change-Id: I88454724ed1a39688f18278404ea28d978b1331d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 822716 Cq-Include-Trybots: luci.chromium.try:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/967821 Reviewed-by: Julien Isorce <julien.isorce@chromium.org> Commit-Queue: Julien Isorce <julien.isorce@chromium.org> Cr-Commit-Position: refs/heads/master@{#543942} [modify] https://crrev.com/297d4c288571542e66f2736080618d4d5cea698b/gpu/command_buffer/tests/gl_test_utils.cc
,
Mar 17 2018
Oops sorry it should have been "gpu_info.gl_vendor" instead of "gpu_info.driver_vendor" which explain which the bot "Linux FYI Release (AMD R7 240)" still fails.
,
Mar 17 2018
,
Mar 19 2018
,
Mar 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2da78a4ae769692038afd7179d8bbebe0726e077 commit 2da78a4ae769692038afd7179d8bbebe0726e077 Author: Julien Isorce <julien.isorce@chromium.org> Date: Mon Mar 19 23:04:33 2018 Reland "Skip GpuOESEGLImageTest on ATI proprietary driver" This is a reland of ed312194b4417a33996a2f3516f65c0c7a1f8a96 Original change's description: > Skip GpuOESEGLImageTest on ATI proprietary driver > > Detect the GL_VENDOR string from the default GL implementation. > If it is the ATI proprietary driver then do not switch to EGL/GLES2 > as there is a known bug and this driver crashes in eglInitialize > instead of failing properly. > > BUG= 822716 > > Cq-Include-Trybots: luci.chromium.try:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > Change-Id: I00b883012c31867f938bf3f68440058738bb312b > Reviewed-on: https://chromium-review.googlesource.com/966662 > Commit-Queue: Kenneth Russell <kbr@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#543735} TBR=kbr@chromium.org Bug: 822716 Change-Id: I5af29ab9ac904ee90ed7d9d114300935fe26be66 Cq-Include-Trybots: luci.chromium.try:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/966825 Commit-Queue: Julien Isorce <julien.isorce@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Cr-Commit-Position: refs/heads/master@{#544198} [modify] https://crrev.com/2da78a4ae769692038afd7179d8bbebe0726e077/gpu/command_buffer/tests/gl_test_utils.cc
,
Mar 20 2018
Builder Linux FYI Release (AMD R7 240) is green again: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20FYI%20Release%20%28AMD%20R7%20240%29/293 |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by julien.isorce@chromium.org
, Mar 16 2018Thx for the report and sorry any inconvenience. Indeed it looks like there is a libEGL.so.1 and "eglGetProcAddress" is found and eglGetDisplay() even returns something valid. But then eglInitialize crashes. It looks like this bot is using the proprietary ATI driver: driver_version: 17.40.3.12 gl_vendor: ATI Technologies Inc. I have read that this is to work with eglGetPlatformDisplay / EGL_KHR_platform_gbm, and it is a known issue that it crashes with platform x11. Some people claim that it works with the proprietary driver >= 17.50. Alternative is to switch the bot to use Mesa. Is there a way to mark that the test is expected to fail on this bot ? I will also try to find other alternatives.