Bug 70926 - [PIGLIT,radeonsi] Crash (SIGPIPE) in X triggered by Piglit test "glx/GLX_EXT_import_context/get current display"
Summary: [PIGLIT,radeonsi] Crash (SIGPIPE) in X triggered by Piglit test "glx/GLX_EXT_...
Status: RESOLVED INVALID
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-27 17:40 UTC by Kai
Modified: 2013-10-28 18:18 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Full GDB backtrace and register info (captured over SSH) (2.89 KB, text/plain)
2013-10-27 17:40 UTC, Kai
no flags Details
GDB backtrace with handle SIGPIPE (234 bytes, text/plain)
2013-10-28 18:12 UTC, Kai
no flags Details
Log of the piglit run resulting in the crash (325.96 KB, application/x-xz)
2013-10-28 18:18 UTC, Kai
no flags Details

Description Kai 2013-10-27 17:40:35 UTC
Created attachment 88188 [details]
Full GDB backtrace and register info (captured over SSH)

While running Piglit on radeonsi (full graphics stack detailed below) I encountered an crash in "glx/GLX_EXT_import_context/get current display". See the attached GDB backtrace and register dump for more details.

I can trigger this crash repeatedly when I invoke bin/glx-get-current-display-ext from the build directory of Piglit.


Stack:
GPU: "PITCAIRN" (ChipID = 0x6819)
Linux: 3.11.6
libdrm: 2.4.47
LLVM: SVN:trunk/r193475
libclc: Git:master/4c18120c1a
Mesa: Git:master/64c081e8b7
GLAMOR: Git:master/ba209eeef2
DDX: Git:master/f1dc677e79
Xorg: 1.14.3 [xorg-server 2:1.14.3-4 (Julien Cristau <jcristau@debian.org>)]

Let me know, if you need further information.
Comment 1 Michel Dänzer 2013-10-27 18:06:29 UTC
Sorry, I failed to notice on IRC that this is SIGPIPE, which is not a crash but normal during X server operation. You have to tell gdb to ignore it:

handle SIGPIPE nostop noprint
Comment 2 Kai 2013-10-28 18:12:02 UTC
Created attachment 88245 [details]
GDB backtrace with handle SIGPIPE

When I run Piglit in non-concurrent mode (ie. with -1) and attach GDB to X, use the handle statement from comment 1 I'm getting the attached output.

The last lines in the test log are
>         "spec/glsl-1.30/compiler/built-in-functions/op-mod-uint-uint.vert": {
>             "info": "Returncode: 0\n\nErrors:\n\n\nOutput:\nSuccessfully compiled vertex shader <PIGLITPATH>/build/generated_tests/spec/glsl-1.30/compiler/built-in-functions/op-mod-uint-uint.vert: \n", 
>             "dmesg": "", 
>             "returncode": 0, 
>             "command": "<PIGLITPATH>/build/bin/glslparsertest <PIGLITPATH>/build/generated_tests/spec/glsl-1.30/compiler/built-in-functions/op-mod-uint-uint.vert pass 1.30", 
>             "result": "pass", 
>             "time": 0.02897810935974121
>         },
>         "glx/GLX_EXT_import_context/get current display": {
>             "info": "Returncode: 1\n\nErrors:\nGot (nil) display, expected 0x1ff6010.\n\n\nOutput:\n", 
>             "dmesg": "", 
>             "returncode": 1, 
>             "note": "Returncode was 1", 
>             "errors": [
>                 "Got (nil) display, expected 0x1ff6010."
>             ], 
>             "command": "<PIGLITPATH>/build/bin/glx-get-current-display-ext", 
>             "result": "fail", 
>             "time": 0.03241395950317383
>         },
>         "spec/glsl-1.10/execution/built-in-functions/fs-op-div-vec2-vec2": {
>             "info": "Returncode: 1\n\nErrors:\nXIO:  fatal IO error 11 (Resource temporarily unavailable) on X server \":0\"\n      after 20 requests (20 known processed) with 0 events remaining.\n\n\nOutput:\n", 
>             "dmesg": "", 
>             "returncode": 1, 
>             "note": "Returncode was 1", 
>             "errors": [
>                 "XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server \":0\"", 
>                 "after 20 requests (20 known processed) with 0 events remaining."
>             ], 
>             "command": "<PIGLITPATH>/build/bin/shader_runner <PIGLITPATH>/build/generated_tests/spec/glsl-1.10/execution/built-in-functions/fs-op-div-vec2-vec2.shader_test -auto", 
>             "result": "fail", 
>             "time": 0.28762006759643555
>         },
>         "spec/glsl-1.30/compiler/built-in-functions/op-sub-uvec3-uint.frag": {
>             "info": "Returncode: 1\n\nErrors:\npiglit: error: waffle_display_connect failed due to WAFFLE_ERROR_UNKNOWN: XOpenDisplay failed\n\n\nOutput:\n", 
>             "dmesg": "", 
>             "returncode": 1, 
>             "note": "Returncode was 1", 
>             "errors": [
>                 "piglit: error: waffle_display_connect failed due to WAFFLE_ERROR_UNKNOWN: XOpenDisplay failed"
>             ], 
>             "command": "<PIGLITPATH>/build/bin/glslparsertest <PIGLITPATH>/build/generated_tests/spec/glsl-1.30/compiler/built-in-functions/op-sub-uvec3-uint.frag pass 1.30", 
>             "result": "fai

With "glx/GLX_EXT_import_context/get current display" being the first obviously failing one. If I run those tests on their own, I'm not getting a crash ("glx/GLX_EXT_import_context/get current display" still fails with something like "Got (nil) display, expected 0x1ff6010.").

If anybody has an idea how I might be able to nail this down to a testcase, please let me know.
Comment 3 Kai 2013-10-28 18:18:14 UTC
Created attachment 88248 [details]
Log of the piglit run resulting in the crash

Just for reference: a log of a piglit run resulting in a crash.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.