Bug 34604 - [bisected piketon]piglit fbo/fbo-depth-sample-compare regressed
Summary: [bisected piketon]piglit fbo/fbo-depth-sample-compare regressed
Status: VERIFIED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: All Linux (All)
: high major
Assignee: Chris Wilson
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-23 02:31 UTC by fangxun
Modified: 2011-02-24 19:23 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description fangxun 2011-02-23 02:31:31 UTC
System Environment:
--------------------------
Arch:           x86_64
Platform:       piketon 
Libdrm:         (master)2.4.23-14-ga697fb6acad7992c3d23bb6a663663694782eb7b
Mesa:           (master)94ccc31ba4f64ac480137fd90f1ded44d2072f6e
Xserver:      (master)xorg-server-1.9.99.902-3-g93a73
993708b1345c86ec3ec06b02ed236595673
Xf86_video_intel:  master)2.14.0-29-g9599fde65a0d8b7e7c85199346f7b620bdd8388d
Kernel: (drm-intel-next)f4166442e7533ca2668d639d939b1bbdb8e6b423


Bug detailed description:
-------------------------
This regression happens on piketon with mesa master branch. Bisect shows
commit 3630d5b69afcecc3142d2c4897835175886f4bd8
Author:     Chris Wilson <chris@chris-wilson.co.uk>
AuthorDate: Fri Feb 11 19:40:08 2011 +0000
Commit:     Chris Wilson <chris@chris-wilson.co.uk>
CommitDate: Mon Feb 21 12:59:36 2011 +0000

    intel: combine short memcpy using a temporary allocated buffer

    Using a temporary buffer for large discontiguous uploads into the common
    buffer and a single buffered upload is faster than performing the
    discontiguous copies through a mapping into the GTT.
Comment 1 Chris Wilson 2011-02-23 12:53:53 UTC
And by regressed you mean?...
Comment 2 fangxun 2011-02-23 20:44:25 UTC
This case segfault.

Backtrace:
#0  0x0000003288e33275 in raise () from /lib64/libc.so.6
#1  0x0000003288e34a55 in abort () from /lib64/libc.so.6
#2  0x0000003288e6fb5b in __libc_message () from /lib64/libc.so.6
#3  0x0000003288e75506 in malloc_printerr () from /lib64/libc.so.6
#4  0x00007ffff6393e8e in intel_upload_unmap (intel=0x7ffff7561010, ptr=0xd44400, size=<value optimized out>, align=<value optimized out>, return_bo=0x7ffff75817a8,
    return_offset=0x7ffff75817b0) at intel_buffer_objects.c:695
#5  0x00007ffff63b8e0d in brw_prepare_vertices (brw=0x7ffff7561010) at brw_draw_upload.c:457
#6  0x00007ffff63c8226 in brw_validate_state (brw=0x7ffff7561010) at brw_state_upload.c:394
#7  0x00007ffff63b8265 in brw_try_draw_prims (max_index=<value optimized out>, min_index=<value optimized out>, ib=<value optimized out>, nr_prims=<value optimized out>,
    prim=<value optimized out>, arrays=<value optimized out>, ctx=<value optimized out>) at brw_draw.c:365
#8  brw_draw_prims (max_index=<value optimized out>, min_index=<value optimized out>, ib=<value optimized out>, nr_prims=<value optimized out>, prim=<value optimized out>,
    arrays=<value optimized out>, ctx=<value optimized out>) at brw_draw.c:450
#9  0x00007ffff64968f2 in vbo_exec_vtx_flush (exec=0x6bd290, keepUnmapped=1 '\1') at vbo/vbo_exec_draw.c:389
#10 0x00007ffff6493ab5 in vbo_exec_FlushVertices_internal (exec=0x6bd290, unmap=19 '\23') at vbo/vbo_exec_api.c:543
#11 0x00007ffff6493b6c in vbo_exec_FlushVertices (ctx=0x7ffff7561010, flags=<value optimized out>) at vbo/vbo_exec_api.c:973
#12 0x00007ffff657a4d1 in _mesa_set_enable (ctx=0x4c13, cap=2929, state=6 '\6') at main/enable.c:351
#13 0x0000000000428062 in render_to_fbo ()
#14 0x0000000000428474 in piglit_display ()
#15 0x000000000042abf9 in display ()
#16 0x00007ffff78e13cb in processWindowWorkList (window=0x6748c0) at glut_event.c:1307
#17 0x00007ffff78e2214 in __glutProcessWindowWorkLists () at glut_event.c:1358
#18 glutMainLoop () at glut_event.c:1379
#19 0x000000000042ad9e in main ()
Comment 3 Chris Wilson 2011-02-24 03:02:02 UTC
commit 135ccb2daecb7792dfb17e66ab0acb79a97f78c8
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Feb 24 10:58:22 2011 +0000

    i965: Unmap the correct pointer after discontiguous upload
    
    Fixes piglit/fbo-depth-sample-compare:
    
    ==14722== Invalid free() / delete / delete[]
    ==14722==    at 0x4C240FD: free (vg_replace_malloc.c:366)
    ==14722==    by 0x84FBBFD: intel_upload_unmap (intel_buffer_objects.c:695)
    ==14722==    by 0x85205BC: brw_prepare_vertices (brw_draw_upload.c:457)
    ==14722==    by 0x852F975: brw_validate_state (brw_state_upload.c:394)
    ==14722==    by 0x851FA24: brw_draw_prims (brw_draw.c:365)
    ==14722==    by 0x85F2221: vbo_exec_vtx_flush (vbo_exec_draw.c:389)
    ==14722==    by 0x85EF443: vbo_exec_FlushVertices_internal (vbo_exec_api.c:543)
    ==14722==    by 0x85EF49B: vbo_exec_FlushVertices (vbo_exec_api.c:973)
    ==14722==    by 0x86D6A16: _mesa_set_enable (enable.c:351)
    ==14722==    by 0x42CAD1: render_to_fbo (in /home/ickle/git/piglit/bin/fbo-depth-sample-compare)
    ==14722==    by 0x42CEE3: piglit_display (in /home/ickle/git/piglit/bin/fbo-depth-sample-compare)
    ==14722==    by 0x42F508: display (in /home/ickle/git/piglit/bin/fbo-depth-sample-compare)
    ==14722==  Address 0xc606310 is 0 bytes after a block of size 18,720 alloc'd
    ==14722==    at 0x4C244E8: malloc (vg_replace_malloc.c:236)
    ==14722==    by 0x85202AB: copy_array_to_vbo_array (brw_draw_upload.c:256)
    ==14722==    by 0x85205BC: brw_prepare_vertices (brw_draw_upload.c:457)
    ==14722==    by 0x852F975: brw_validate_state (brw_state_upload.c:394)
    ==14722==    by 0x851FA24: brw_draw_prims (brw_draw.c:365)
    ==14722==    by 0x85F2221: vbo_exec_vtx_flush (vbo_exec_draw.c:389)
    ==14722==    by 0x85EF443: vbo_exec_FlushVertices_internal (vbo_exec_api.c:543)
    ==14722==    by 0x85EF49B: vbo_exec_FlushVertices (vbo_exec_api.c:973)
    ==14722==    by 0x86D6A16: _mesa_set_enable (enable.c:351)
    ==14722==    by 0x42CAD1: render_to_fbo (in /home/ickle/git/piglit/bin/fbo-depth-sample-compare)
    ==14722==    by 0x42CEE3: piglit_display (in /home/ickle/git/piglit/bin/fbo-depth-sample-compare)
    ==14722==    by 0x42F508: display (in /home/ickle/git/piglit/bin/fbo-depth-sample-compare)
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34604
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 4 fangxun 2011-02-24 19:23:44 UTC
Verified with mesa(master) commit 135ccb2daecb7792dfb17e66ab0acb79a97f78c8.


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.