Hi Arno, I think at this point the most helpful thing would be to get an apitrace (https://github.com/apitrace/apitrace) with your "fix" in place. Once you make the trace, change your fix to instead abort the program, and replay the trace. This will allow us to look at the precise call sequence that causes the issue.
What is the numerical value of ve->vertex_buffer_index when it's >= num_vtxbufs? [What about num_vtxbufs?] Cheers, -ilia On Fri, Feb 27, 2015 at 9:41 AM, Arno Willig <arno.wil...@hertz.st> wrote: > > Hi, > > I experience a crash in the nouveau part of the mesa driver: > > src/gallium/drivers/nouveau/nv30/nv30_vbo.c > > in function: > > void nv30_vbo_validate(struct nv30_context *nv30) > > > Sometimes, ve->vertex_buffer_index seems to be greater or equal > nv30->num_vtxbuf. If this happens, PUSH_RESRC crashes! > How can this happen?? > > I tried to break out of the for-loop > for (i = 0; i < vertex->num_elements; i++) > when the problem appears. > If I do this, the driver won't crash anymore, but some screen elements > are missing. > A short while later I get a GPU lockup message: >> kernel: nouveau E[ DRM] GPU lockup - switching to software fbcon > > > I can reproduce this crash with a Qt5.3 Quick2 application. > > Where would be the next point to look into this? > > Can anyone help me with this? Does a mmiotrace help? > > > My system: > - Board: ASRock N68C-GS FX with NV68 GeForce 7025 OnBoard > - Linux 3.18.4, (32 bit) > - Mesa-10.4.4 > - > > Regards, > > Arno > > > > > _______________________________________________ > mesa-dev mailing list > mesa-...@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau