Bug 83183 - [all Bisected]Ogles2conform and Ogles3conform cases sporadically cause X crash
Summary: [all Bisected]Ogles2conform and Ogles3conform cases sporadically cause X crash
Status: VERIFIED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: high critical
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-28 08:38 UTC by lu hua
Modified: 2014-09-02 02:29 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
xorg.0.log (15.36 KB, text/plain)
2014-08-28 08:38 UTC, lu hua
no flags Details

Description lu hua 2014-08-28 08:38:13 UTC
Created attachment 105376 [details]
xorg.0.log

System Environment:
--------------------------
Platform: SNB
Libdrm:		(master)libdrm-2.4.56-11-g391bba9c4cd2825eadaa648df10e3d1c99c66e80
Mesa:		(master)80771e47b6c1e47ab55f17311e1d4e227a9eb3d8
Xserver:	(master)xorg-server-1.15.99.902-121-g2f5cf9ff9a0f713b7e038636484c77f113a5f10a
Xf86_video_intel:(master)2.99.914-73-g011f04ff8e9aca696e26ecef0e68132a24a9b094
Libva:		(master)acfcd5f0637a951d50c5112c7dfbd46f1d0dcdb3
Libva_intel_driver:(master)f3f49f2f0e6b3669d9b09341a11cf0b96e138674
Kernel:   (drm-intel-nightly)c30b73ce7c138b5fd671ed3a7e1301bd273fd661

bug detailed description:
---------------------------
It fails on all platforms with mesa master branch, fail rate:2/3.
It works well on mesa 10.3 branch.

output:
[root@x-sgb4 cts]# ./glcts --deqp-case=ES2-CTS.info.vendor --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-surface-type=window --deqp-gl-config-id=14
dEQP Core GL-CTS-2.0 (0x0052484b) starting..
  target implementation = 'X11'

Test case 'ES2-CTS.info.vendor'..
  Pass (Pass)

DONE!

Test run totals:
  Passed:        1/1 (100.00%)
  Failed:        0/1 (0.00%)
  Not supported: 0/1 (0.00%)
  Warnings:      0/1 (0.00%)
[root@x-sgb4 cts]# ./glcts --deqp-case=ES2-CTS.info.vendor --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-surface-type=window --deqp-gl-config-id=14
dEQP Core GL-CTS-2.0 (0x0052484b) starting..
  target implementation = 'X11'

Test case 'ES2-CTS.info.vendor'..
  Pass (Pass)

DONE!

Test run totals:
  Passed:        1/1 (100.00%)
  Failed:        0/1 (0.00%)
  Not supported: 0/1 (0.00%)
  Warnings:      0/1 (0.00%)
[root@x-sgb4 cts]# ./glcts --deqp-case=ES2-CTS.info.vendor --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-surface-type=window --deqp-gl-config-id=14
dEQP Core GL-CTS-2.0 (0x0052484b) starting..
  target implementation = 'X11'

Test case 'ES2-CTS.info.vendor'..
  Pass (Pass)

DONE!

Test run totals:
  Passed:        1/1 (100.00%)
  Failed:        0/1 (0.00%)
  Not supported: 0/1 (0.00%)
  Warnings:      0/1 (0.00%)
[root@x-sgb4 cts]# ./glcts --deqp-case=ES2-CTS.info.vendor --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-surface-type=window --deqp-gl-config-id=14
dEQP Core GL-CTS-2.0 (0x0052484b) starting..
  target implementation = 'X11'

Test case 'ES2-CTS.info.vendor'..
  Pass (Pass)

DONE!

Test run totals:
(EE)  Passed:        1/1 (100.00%)
  Failed:        0/1 (0.00%)
  Not supported: 0/1 (0.00%)
  Warnings:      0/1 (0.00%)

(EE) Backtrace:
(EE) 0: X (xorg_backtrace+0x4f) [0x80afd2f]
(EE) 1: X (0x8048000+0x6d774) [0x80b5774]
(EE) 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xb7732a98]
(EE) 3: /opt/X11R7/lib/xorg/modules/drivers/intel_drv.so (0xb7199000+0xfc020) [0xb7295020]
(EE) 4: X (_CallCallbacks+0x3d) [0x80805ad]
(EE) 5: X (CloseDownClient+0x60) [0x807a4f0]
(EE) 6: X (0x8048000+0x33166) [0x807b166]
(EE) 7: X (0x8048000+0x37275) [0x807f275]
[root@x-sgb4 cts]# (EE) 8: X (0x8048000+0x2119e) [0x806919e]
(EE) 9: /usr/lib/libc.so.6 (__libc_start_main+0xf3) [0x4a921b83]
(EE) 10: X (0x8048000+0x211c5) [0x80691c5]
(EE)
(EE) Segmentation fault at address 0x18
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/opt/X11R7/var/log/Xorg.0.log" for additional information.
(EE)
(II) AIGLX: Suspending AIGLX clients for VT switch
(EE) Server terminated with error (1). Closing log file.
xinit: connection to X server lost
xterm: fatal IO error 104 (Connection reset by peer) or KillClient on X server ":0"

[1]+  Done                    xinit  (wd: /opt)
(wd now: /GFX/Test/Ogles3conform/ogles3conform/build-es/cts)

Reproduce steps:
----------------------------
1. xinit
2. ./glcts --deqp-case=ES2-CTS.info.vendor --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-surface-type=window --deqp-gl-config-id=14
Comment 1 lu hua 2014-09-01 02:43:45 UTC
Ogles3conform cases also have this issue.
[root@x-ivb9 cts]# ./glcts --deqp-case=ES3-CTS.gtf.GL3Tests.draw_instanced.draw_instanced_max_vertex_attribs
dEQP Core GL-CTS-2.0 (0x0052484b) starting..
  target implementation = 'X11'

Test case 'ES3-CTS.gtf.GL3Tests.draw_instanced.draw_instanced_max_vertex_attribs'..
INFO:draw_instanced_max_vertex_attribs:GTFGL3BufferObjectDestruct:Buffer object GL handle is 0.
INFO:draw_instanced_max_vertex_attribs:GTFGL3BufferObjectDestruct:Buffer object GL handle is 0.
  Pass (Pass)

DONE!

Test run totals:
  Passed:        1/1 (100.00%)
  Failed:        0/1 (0.00%)
  Not supported: 0/1 (0.00%)
  Warnings:      0/1 (0.00%)
(EE)
(EE) Backtrace:
(EE) 0: X (xorg_backtrace+0x48) [0x469fd8]
(EE) 1: X (0x400000+0x6fd69) [0x46fd69]
(EE) 2: /usr/lib64/libpthread.so.0 (0x372a800000+0xefa0) [0x372a80efa0]
(EE) 3: /opt/X11R7/lib/xorg/modules/drivers/intel_drv.so (0x7ffbfe803000+0xf4727) [0x7ffbfe8f7727]
(EE) 4: X (_CallCallbacks+0x34) [0x43e204]
(EE) 5: X (CloseDownClient+0x4f) [0x4385df]
(EE) 6: X (0x400000+0x3919e) [0x43919e]
(EE)[root@x-ivb9 cts]#  7: X (0x400000+0x3cf4a) [0x43cf4a]
(EE) 8: /usr/lib64/libc.so.6 (__libc_start_main+0xf5) [0x372a021b75]
(EE) 9: X (0x400000+0x286c1) [0x4286c1]
(EE)
(EE) Segmentation fault at address 0x20
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/opt/X11R7/var/log/Xorg.0.log" for additional information.
(EE)
(II) AIGLX: Suspending AIGLX clients for VT switch
(EE) Server terminated with error (1). Closing log file.
xinit: connection to X server lost
xterm: fatal IO error 11 (Resource temporarily unavailable) or KillClient on X server ":0"

[1]+  Done                    xinit  (wd: /opt)
(wd now: /GFX/Test/Ogles3conform/ogles3conform/build-es/cts)
Comment 2 lu hua 2014-09-01 06:10:37 UTC
Bisected it(run each commit 10 cycles). Bisect shows: It's Xf86_video_intel regression. 12c051d5c673d79c16a3a1478c0977799484ca95 is the first bad commit.
commit 12c051d5c673d79c16a3a1478c0977799484ca95
Author:     Chris Wilson <chris@chris-wilson.co.uk>
AuthorDate: Sat Aug 23 15:33:13 2014 +0100
Commit:     Chris Wilson <chris@chris-wilson.co.uk>
CommitDate: Sat Aug 23 16:28:27 2014 +0100

    sna/dri2: Unhook event from draw list upon client destruction

    When the client goes away, we need to free its events. However, we
    have to defer the freeing of any pending event (ones currently routed
    through the kernel) for those we need to remember to decouple the event
    from the Drawable's list before they are freed.

    Reported-by: John Lindgren <john.lindgren@aol.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82979
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 3 Chris Wilson 2014-09-01 06:20:22 UTC
commit 21cc987ca8a531e399350564a5af7f551406b8d6
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Sep 1 07:19:09 2014 +0100

    sna: Only decouple the event once
    
    If the client and drawable destroys are racing, we may trigger the event
    removal twice.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=83183
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 4 lu hua 2014-09-02 02:29:33 UTC
Verified.Fixed.


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.