https://bugs.freedesktop.org/show_bug.cgi?id=76044
Priority: medium Bug ID: 76044 Assignee: dri-devel@lists.freedesktop.org Summary: [i915g+llvm] commit "gallium: Use C11 thread abstractions." breaks memento by conspiracy Severity: normal Classification: Unclassified OS: Linux (All) Reporter: cme3000@gmail.com Hardware: x86 (IA32) Status: NEW Version: git Component: Drivers/Gallium/i915g Product: Mesa
This commit breaks the intro memento by conspiracy (http://www.pouet.net/prod.php?which=24472).
Backtrace with git-3330dec:
glretrace: i915_prim_vbuf.c:477: draw_arrays_fallback: Assertion `0' failed.
Program received signal SIGABRT, Aborted. 0xb7fde424 in __kernel_vsyscall () (gdb) bt #0 0xb7fde424 in __kernel_vsyscall () #1 0xb7b664d6 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #2 0xb7b69853 in __GI_abort () at abort.c:89 #3 0xb7b5f857 in __assert_fail_base (fmt=0xb7c9a554 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0xb7693f8a "0", file=file@entry=0xb775f5b3 "i915_prim_vbuf.c", line=line@entry=477, function=function@entry=0xb775f6ea <__PRETTY_FUNCTION__.9215> "draw_arrays_fallback") at assert.c:92 #4 0xb7b5f907 in __GI___assert_fail (assertion=assertion@entry=0xb7693f8a "0", file=file@entry=0xb775f5b3 "i915_prim_vbuf.c", line=477, function=0xb775f6ea <__PRETTY_FUNCTION__.9215> "draw_arrays_fallback") at assert.c:101 #5 0xb7638d65 in draw_arrays_fallback (nr=<optimized out>, start=<optimized out>, render=<optimized out>) at i915_prim_vbuf.c:477 #6 i915_vbuf_render_draw_arrays (render=0x83a0ff0, start=<optimized out>, nr=4092) at i915_prim_vbuf.c:503 #7 0xb7417cf1 in draw_pt_emit_linear (emit=0x83a1cc0, vert_info=0xbfffeff0, prim_info=0xbffff020) at draw/draw_pt_emit.c:258 #8 0xb75eee7d in emit (prim_info=0xbffff020, vert_info=0xbfffeff0, emit={void (const struct draw_prim_info *, const struct draw_vertex_info *, struct pt_emit *)} 0xb75eedd3 <llvm_middle_end_linear_run+883>) at draw/draw_pt_fetch_shade_pipeline_llvm.c:336 #9 llvm_pipeline_generic (in_prim_info=0xbffff020, fetch_info=0x0, middle=0x83ec5a0) at draw/draw_pt_fetch_shade_pipeline_llvm.c:468 #10 llvm_middle_end_linear_run (middle=0x83ec5a0, start=0, count=4092, prim_flags=0) at draw/draw_pt_fetch_shade_pipeline_llvm.c:532 #11 0xb74207a0 in vsplit_segment_simple_linear (vsplit=0x83d6f90, icount=4092, istart=0, flags=0) at draw/draw_pt_vsplit_tmp.h:240 #12 vsplit_run_linear (frontend=0x83d6f90, start=0, count=4092) at draw/draw_split_tmp.h:60 #13 0xb7416fb7 in draw_pt_arrays (draw=draw@entry=0x840c650, prim=7, start=0, count=count@entry=4092) at draw/draw_pt.c:149 #14 0xb741744a in draw_vbo (draw=0x840c650, info=0xbffff1d0, info@entry=0xbffff2c0) at draw/draw_pt.c:562 #15 0xb762c98e in i915_draw_vbo (pipe=0x83ebc38, info=0xbffff2c0) at i915_context.c:103 #16 0xb73ff258 in cso_draw_vbo (cso=0x8408db0, info=info@entry=0xbffff2c0) at cso_cache/cso_context.c:1400 #17 0xb72d7690 in st_draw_vbo (ctx=0x84b7390, prims=0x84052b4, nr_prims=2, ib=0x0, index_bounds_valid=1 '\001', min_index=0, max_index=4095, tfb_vertcount=0x0, indirect=0x0) at state_tracker/st_draw.c:286 #18 0xb72a238f in vbo_exec_vtx_flush (exec=exec@entry=0x8404f04, keepUnmapped=keepUnmapped@entry=0 '\000') at vbo/vbo_exec_draw.c:409 #19 0xb728d55c in vbo_exec_wrap_buffers (exec=0x8404f04) at vbo/vbo_exec_api.c:89 #20 vbo_exec_vtx_wrap (exec=0x8404f04) at vbo/vbo_exec_api.c:124 #21 0x080b5396 in _glVertex2f(float, float) () #22 0x080f9681 in retrace_glVertex2f(trace::Call&) () #23 0x0806ce8e in retrace::Retracer::retrace(trace::Call&) () #24 0x08063d37 in retrace::retraceCall(trace::Call*) () #25 0x08065994 in retrace::RelayRunner::runLeg(trace::Call*) () #26 0x0806587c in retrace::RelayRunner::runRace() () #27 0x08064053 in retrace::RelayRace::run() () #28 0x0806420f in retrace::mainLoop() () #29 0x08064985 in main ()
$ git bisect bad fd33a6bcd7f1271e80332379131e82e00fe10586 is the first bad commit commit fd33a6bcd7f1271e80332379131e82e00fe10586 Author: José Fonseca jfonseca@vmware.com Date: Fri Apr 26 08:03:33 2013 +0100
gallium: Use C11 thread abstractions.
Note that PIPE_ROUTINE now returns an int.
Reviewed-by: Brian Paul brianp@vmware.com Reviewed-by: Chad Versace chad.versace@linux.intel.com
:040000 040000 dec5215b27af2e3f703e701e323dd5fdeba072eb a8b06eaa9746db86fa603a657a7b6a5dcd9e3633 M src
Reverting this commit on top of master fixes this crash.
https://bugs.freedesktop.org/show_bug.cgi?id=76044
--- Comment #1 from Christopher Egert cme3000@gmail.com --- Apitrace: http://deepserve.info/blar/cns%21mmnt.trace.xz
https://bugs.freedesktop.org/show_bug.cgi?id=76044
--- Comment #2 from José Fonseca jfonseca@vmware.com --- I don't have a i915 test system handy.
This doesn't happen with llvmpipe.
I've reviewed fd33a6bcd7f1271e80332379131e82e00fe10586 once again, and it looks alright -- I don't spot anything wrong -- it really should lead to pretty much the same code.
The crash too, is quite peculiar: i915 has no threading, so I don't see how this would change anything.
Could you double check this crash is not random?
https://bugs.freedesktop.org/show_bug.cgi?id=76044
--- Comment #3 from Christopher Egert cme3000@gmail.com --- I've tried to revert this commit on master and the trace worked fine, after reverting the revert, it crashed again. I've also tried (with and without this commit) to build with -O0 to rule out compiler optimization bugs.
This is on Debian unstable with gcc (Debian 4.8.2-16) 4.8.2
https://bugs.freedesktop.org/show_bug.cgi?id=76044
GitLab Migration User gitlab-migration@fdo.invalid changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |MOVED
--- Comment #4 from GitLab Migration User gitlab-migration@fdo.invalid --- -- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/663.
dri-devel@lists.freedesktop.org