Bug 34604 - [bisected piketon]piglit fbo/fbo-depth-sample-compare regressed
[bisected piketon]piglit fbo/fbo-depth-sample-compare regressed
Status: VERIFIED FIXED
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965
git
All Linux (All)
: high major
Assigned To: Chris Wilson
:
Depends on:
Blocks:
  Show dependency treegraph
 
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

Note You need to log in before you can comment on or make changes to this bug.
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.