Bug 59450 - SIGSEGV src/mesa/state_tracker/st_cb_blit.c:216
Summary: SIGSEGV src/mesa/state_tracker/st_cb_blit.c:216
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium critical
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2013-01-16 05:48 UTC by Vinson Lee
Modified: 2013-01-17 00:09 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Vinson Lee 2013-01-16 05:48:53 UTC
mesa: 780c2cb42bc7bff9f89a998effb732bdcd72630b (master)

Run piglit ARB_ES2_compatiblity FBO blit to missing attachment test on softpipe or llvmpipe.

$ ./bin/fbo-missing-attachment-blit es2 to -auto
Testing blit from complete buffer to buffer with missing attachment...
Segmentation fault (core dumped)

(gdb) bt
#0  0x00007fb648e442ff in st_BlitFramebuffer (ctx=0x1702c90, srcX0=0, srcY0=0, srcX1=32, srcY1=32, 
    dstX0=0, dstY0=0, dstX1=32, dstY1=32, mask=16640, filter=9728)
    at src/mesa/state_tracker/st_cb_blit.c:216
#1  0x00007fb648cad257 in _mesa_BlitFramebuffer (srcX0=0, srcY0=0, srcX1=32, srcY1=32, dstX0=0, dstY0=0, 
    dstX1=32, dstY1=32, mask=16640, filter=9728) at src/mesa/main/fbobject.c:3057
#2  0x00007fb64b54db6a in stub_glBlitFramebuffer (srcX0=0, srcY0=0, srcX1=32, srcY1=32, dstX0=0, dstY0=0, 
    dstX1=32, dstY1=32, mask=16640, filter=9728)
    at piglit/tests/util/generated_dispatch.c:1523
#3  0x0000000000401625 in do_blit_test (use_es2=true, from_missing_to_complete=false)
    at piglit/tests/spec/arb_es2_compatibility/fbo-missing-attachment-blit.c:160
#4  0x000000000040183e in piglit_init (argc=3, argv=0x7fff202693b8)
    at piglit/tests/spec/arb_es2_compatibility/fbo-missing-attachment-blit.c:214
#5  0x00007fb64b54a879 in run_test (gl_fw=0x7fb64b813820 <glut_fw>, argc=3, argv=0x7fff202693b8)
    at piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:125
#6  0x00007fb64b54898d in piglit_gl_test_run (argc=3, argv=0x7fff202693b8, config=0x7fff202692a0)
    at piglit/tests/util/piglit-framework-gl.c:127
#7  0x0000000000401286 in main (argc=4, argv=0x7fff202693b8)
    at piglit/tests/spec/arb_es2_compatibility/fbo-missing-attachment-blit.c:67
(gdb) frame 0
#0  0x00007fb648e442ff in st_BlitFramebuffer (ctx=0x1702c90, srcX0=0, srcY0=0, srcX1=32, srcY1=32, 
    dstX0=0, dstY0=0, dstX1=32, dstY1=32, mask=16640, filter=9728)
    at src/mesa/state_tracker/st_cb_blit.c:216
216	         struct pipe_surface *dstSurf = dstRb->surface;
(gdb) info locals
srcRb = 0x1758640
dstRb = 0x0
srcSurf = 0x1758990
dstSurf = 0x1702c90
srcAtt = 0x1759060
depthStencil = 1280
st = 0x1749e30
pFilter = 0
readFB = 0x1758e10
drawFB = 0x17589d0
clip = {srcX0 = 0, srcY0 = 0, srcX1 = 32, srcY1 = 32, dstX0 = 0, dstY0 = 0, dstX1 = 32, dstY1 = 32}
blit = {dst = {resource = 0x850000001741c70, level = 24128656, box = {x = 0, y = 0, z = 0, width = 32, 
      height = 32, depth = 1}, format = 32767}, src = {resource = 0x2a48d03f1f, level = 539398160, box = {
      x = 0, y = 0, z = 32694, width = 32, height = 32, depth = 1}, format = 32694}, mask = 15, 
  filter = 0, scissor_enable = 0 '\000', scissor = {minx = 42, miny = 0, maxx = 36928, maxy = 8230}}
__FUNCTION__ = "st_BlitFramebuffer"


ab36ca061412c49143a5f2af53bee862fbd40351 is the first bad commit
commit ab36ca061412c49143a5f2af53bee862fbd40351
Author: Anuj Phogat <anuj.phogat@gmail.com>
Date:   Tue Dec 11 20:17:47 2012 -0800

    mesa: Add error checking in _mesa_BlitFramebuffer() for MRTs
    
    This patch adds required error checking in _mesa_BlitFramebuffer() when
    blitting to multiple color render targets. It also fixes a case when
    blitting to a framebuffer with renderbuffer/texture attached to
    GL_COLOR_ATTACHMENT{i} (where i!=0). Earlier it skips color blitting if
    nothing is found attached to GL_COLOR_ATTACHMENT0.
    
    V2: Fixed a case when number of draw buffer attachments are zero.
    V3: Do compatible_color_datatypes() and compatible_resolve_formats()
        check for all the draw renderbuffers in fbobject.c. Fix debug code
        at bottom of _mesa_BlitFramebuffer() to handle MRTs. Combine error
        checking code for linear blits with other color blit error checking.
    
    Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>

:040000 040000 d7ff03a64bb3af0c2f754bc266ce791fea98cf25 98d5e6ea72f2fcf765cd8241682ab18c8081cc70 M	src
bisect run success
Comment 1 Brian Paul 2013-01-17 00:09:12 UTC
Fixed with commit 56c01d81094795286828ecb83713e043695e905a


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.