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.willig at 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-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>