Bug 83432 - r600_query.c:269:r600_emit_query_end: Assertion `ctx->num_pipelinestat_queries > 0' failed [Gallium HUD]
Summary: r600_query.c:269:r600_emit_query_end: Assertion `ctx->num_pipelinestat_querie...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600 (show other bugs)
Version: git
Hardware: All Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-03 10:47 UTC by Heiko
Modified: 2014-09-04 14:16 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
gdb bt full (6.30 KB, text/plain)
2014-09-03 10:47 UTC, Heiko
Details
possible fix (1.69 KB, patch)
2014-09-03 12:00 UTC, Marek Olšák
Details | Splinter Review
possible fix 2 (1.95 KB, patch)
2014-09-03 12:19 UTC, Marek Olšák
Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Heiko 2014-09-03 10:47:30 UTC
Created attachment 105675 [details]
gdb bt full

r600_query.c:269:r600_emit_query_end: Assertion `ctx->num_pipelinestat_queries > 0' failed.

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffead44700 (LWP 30641)]
0x00007ffff0446979 in _debug_assert_fail (expr=0x7ffff072f078 "ctx->num_pipelinestat_queries > 0", file=0x7ffff072efe8 "r600_query.c", line=269, 
    function=0x7ffff072f210 <__func__.9395> "r600_emit_query_end") at util/u_debug.c:309
309        os_abort();
(gdb) bt
#0  0x00007ffff0446979 in _debug_assert_fail (expr=0x7ffff072f078 "ctx->num_pipelinestat_queries > 0", file=0x7ffff072efe8 "r600_query.c", line=269, 
    function=0x7ffff072f210 <__func__.9395> "r600_emit_query_end") at util/u_debug.c:309
#1  0x00007ffff054882b in r600_emit_query_end (ctx=0xb5ea700, query=0x3a0cc890) at r600_query.c:269
#2  0x00007ffff0549e05 in r600_suspend_nontimer_queries (ctx=0xb5ea700) at r600_query.c:805
#3  0x00007ffff05462cf in r600_preflush_suspend_features (ctx=0xb5ea700) at r600_pipe_common.c:136
#4  0x00007ffff056342a in r600_context_gfx_flush (context=0xb5ea700, flags=1, fence=0x0) at r600_hw_context.c:253
#5  0x00007ffff0562f2f in r600_need_cs_space (ctx=0xb5ea700, num_dw=16393, count_draw_in=1 '\001') at r600_hw_context.c:96
#6  0x00007ffff0596077 in r600_need_gfx_cs_space (ctx=0xb5ea700, num_dw=16, include_draw_vbo=true) at r600_state_common.c:2396
#7  0x00007ffff05482fe in r600_emit_query_begin (ctx=0xb5ea700, query=0x3a0cc890) at r600_query.c:162
#8  0x00007ffff0549ec4 in r600_resume_nontimer_queries (ctx=0xb5ea700) at r600_query.c:817
#9  0x00007ffff0560806 in r600_blitter_end (ctx=0xb5ea700) at r600_blit.c:99
#10 0x00007ffff056106c in r600_blit_decompress_color (ctx=0xb5ea700, rtex=0x3708fb30, first_level=0, last_level=0, first_layer=0, last_layer=0) at r600_blit.c:316
#11 0x00007ffff05612ff in r600_decompress_subresource (ctx=0xb5ea700, tex=0x3708fb30, level=0, first_layer=0, last_layer=0) at r600_blit.c:381
#12 0x00007ffff056276c in r600_blit (ctx=0xb5ea700, info=0x7fffead43800) at r600_blit.c:812
#13 0x00007ffff0284aff in st_BlitFramebuffer (ctx=0x7fffe2c61010, srcX0=0, srcY0=0, srcX1=482, srcY1=272, dstX0=0, dstY0=272, dstX1=482, dstY1=0, mask=16384, filter=9728)
    at ../../src/mesa/state_tracker/st_cb_blit.c:263
#14 0x00007ffff008fec9 in _mesa_BlitFramebuffer (srcX0=0, srcY0=0, srcX1=482, srcY1=272, dstX0=0, dstY0=272, dstX1=482, dstY1=0, mask=16384, filter=9728) at ../../src/mesa/main/blit.c:509
[..]
(gdb) p ctx.num_pipelinestat_queries 
$3 = 0

Looks like resume_nontimer_queries/emit_query_begin is recursing into suspend_nontimer_queries/emit_query_end


Was running on HD6850 `OpenGL version string: 3.0 Mesa 10.4.0-devel (git-2adf7ee)'
With GALLIUM_HUD="fps,draw-calls;samples-passed+primitives-generated;ia-vertices+ia-primitives;vs-invocations+ps-invocations+hs-invocations+ds-invocations;VRAM-usage+GTT-usage" R600_DEBUG=hyperz. Though, I assume GALLIUM_HUD="fps" could be enough.
Comment 1 Marek Olšák 2014-09-03 12:00:45 UTC
Created attachment 105678 [details] [review]
possible fix

Could you please test this patch?
Comment 2 Marek Olšák 2014-09-03 12:19:38 UTC
Created attachment 105679 [details] [review]
possible fix 2

Please try this instead.
Comment 3 Heiko 2014-09-03 16:25:07 UTC
(In reply to comment #2)
> Created attachment 105679 [details] [review] [review]
> possible fix 2
> 
> Please try this instead.

Hello Marek, the patch seems to resolve the issue. Didn't hit the assertion anymore. The patch does also affect the non-statistics/non-hud path, doesn't it?
Comment 4 Marek Olšák 2014-09-03 17:05:06 UTC
Yes, it does, but you have to really lucky and have a lot of queries active to be able to hit the assertion.
Comment 5 Marek Olšák 2014-09-04 14:16:37 UTC
Fixed by 3dbf55c1be5a8867616e475d943c776d8245d0c. Closing.


bug/show.html.tmpl processed on Mar 25, 2017 at 09:39:19.
(provided by the Example extension).