[Mesa-dev] [Bug 98789] ./rasterizer/core/clip.h(429): ASSERT: numEmittedVerts <= 7

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Nov 19 22:39:25 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=98789

            Bug ID: 98789
           Summary: ./rasterizer/core/clip.h(429): ASSERT: numEmittedVerts
                    <= 7
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/swr
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: imirkin at alum.mit.edu
        QA Contact: mesa-dev at lists.freedesktop.org

Looks like some stack stomping is preventing a full backtrace in gdb:

deqp/modules/gles2 $ KNOB_SINGLE_THREADED=1 DISPLAY=:0 GALLIUM_DRIVER=swr
LIBGL_ALWAYS_SOFTWARE=1 LD_LIBRARY_PATH=/home/ilia/install/lib gdb --args
./deqp-gles2 --deqp-visibility=hidden
--deqp-case=dEQP-GLES2.functional.shaders.invariance.highp.loop_2
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./deqp-gles2...(no debugging symbols found)...done.
(gdb) r
Starting program: /home/ilia/src/deqp/modules/gles2/deqp-gles2
--deqp-visibility=hidden
--deqp-case=dEQP-GLES2.functional.shaders.invariance.highp.loop_2
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
dEQP Core git-aa4099c48f58c93d951b64451ef87adb31fce406 (0xaa4099c4) starting..
  target implementation = 'X11 GLX'
SWR detected AVX2

Test case 'dEQP-GLES2.functional.shaders.invariance.highp.loop_2'..
Vertex shader compile time = 4.425000 ms
Fragment shader compile time = 0.368000 ms
Link time = 0.982000 ms
Vertex shader compile time = 0.653000 ms
Fragment shader compile time = 0.354000 ms
Link time = 0.886000 ms
vert shader  0x7ffff7fcf000
frag shader  0x7ffff7fcd000
vert shader  0x7ffff7fcb000
frag shader  0x7ffff7fc9000
fetch shader 0x7ffff7fc7000
vert shader  0x7ffff7fc5000
frag shader  0x7ffff7fc3000
./rasterizer/core/clip.h(429): ASSERT: numEmittedVerts <= 7
        ClipSimd
        Unexpected vertex count from clipper.

Program received signal SIGTRAP, Trace/breakpoint trap.
Clipper<3u>::ClipSimd(float __vector const&, float __vector const&, PA_STATE&,
long long __vector const&, long long __vector const&) (this=0x7ffffffcfce0, 
    vPrimMask=..., vClipMask=..., pa=..., vPrimId=..., vViewportIdx=...)
    at ./rasterizer/core/clip.h:431
431                 uint32_t numEmittedPrims = GetNumPrims(clipTopology,
numEmittedVerts);
(gdb) bt
#0  Clipper<3u>::ClipSimd(float __vector const&, float __vector const&,
PA_STATE&, long long __vector const&, long long __vector const&)
(this=0x7ffffffcfce0, 
    vPrimMask=..., vClipMask=..., pa=..., vPrimId=..., vViewportIdx=...)
    at ./rasterizer/core/clip.h:431
Backtrace stopped: Cannot access memory at address 0x7fffbf20cb0f

OTOH with valgrind I get this on exit:

./rasterizer/core/clip.h(429): ASSERT: numEmittedVerts <= 7
        ClipSimd
        Unexpected vertex count from clipper.
==9673== 
==9673== Process terminating with default action of signal 5 (SIGTRAP)
==9673==    at 0x10243787: Clipper<3u>::ClipSimd(float __vector(8) const&,
float __vector(8) const&, PA_STATE&, long long __vector(4) const&, long long
__vector(4) const&) (clip.h:431)
==9673==    by 0x1024101F: Clipper<3u>::ExecuteStage(PA_STATE&, simdvector*,
unsigned int, long long __vector(4), long long __vector(4)) (clip.h:558)
==9673==    by 0x1023F6A0: ClipTriangles(DRAW_CONTEXT*, PA_STATE&, unsigned
int, simdvector*, unsigned int, long long __vector(4), long long __vector(4))
(clip.cpp:187)
==9673==    by 0x10288CF7: void ProcessDraw<std::integral_constant<bool,
false>, std::integral_constant<bool, false>, std::integral_constant<bool,
false>, std::integral_constant<bool, false>, std::integral_constant<bool,
false>, std::integral_constant<bool, true> >(SWR_CONTEXT*, DRAW_CONTEXT*,
unsigned int, void*) (frontend.cpp:1370)
==9673==    by 0x106C6CB7: WorkOnFifoFE(SWR_CONTEXT*, unsigned int, unsigned
int&) (threads.cpp:645)
==9673==    by 0xFF2E3B9: void QueueWork<true>(SWR_CONTEXT*) (api.cpp:214)
==9673==    by 0xFF2D82C: QueueDraw(SWR_CONTEXT*) (api.cpp:243)
==9673==    by 0xFF2C28E: DrawInstanced(void*, PRIMITIVE_TOPOLOGY, unsigned
int, unsigned int, unsigned int, unsigned int) (api.cpp:1140)
==9673==    by 0xFF2C355: SwrDrawInstanced(void*, PRIMITIVE_TOPOLOGY, unsigned
int, unsigned int, unsigned int, unsigned int) (api.cpp:1186)
==9673==    by 0xFF0B181: swr_draw_vbo(pipe_context*, pipe_draw_info const*)
(swr_draw.cpp:212)
==9673==    by 0x9E95553: cso_draw_vbo (cso_context.c:1670)
==9673==    by 0x9CC704E: st_draw_vbo (st_draw.c:276)

Perhaps in combination with valgrind + gdbserver you can get a workable stack
analysis.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161119/6cf076d5/attachment.html>


More information about the mesa-dev mailing list