[Mesa-dev] memory stomping/other error in a3ed98f7aa (gallium: new, unified pipe_context::set_sampler_views() function)
imirkin at alum.mit.edu
Thu Nov 28 20:29:58 PST 2013
On Thu, Nov 28, 2013 at 4:55 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Thu, Nov 28, 2013 at 4:38 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> Hi Brian,
>> I've just completed a bisect which pointed out a3ed98f7aa (gallium:
>> new, unified pipe_context::set_sampler_views() function) as the bad
>> Starting with that commit, I see things like
>> *** glibc detected *** glretrace: corrupted double-linked list:
>> 0x00000000016632f0 ***
>> but it can also be
>> *** glibc detected *** glretrace: free(): invalid pointer:
>> 0x0000000001cb0130 ***
>> and also plain ol' segfaults. I'm on a nv98 card, using the nv50
>> driver. I had to manually patch it with the equivalent of c1345720c866
>> (except I just hard-coded it to 16) in order to avoid the assert.
>> However I also get segfaults with llvmpipe. I'm using gcc-4.7.3 in
>> case it matters.
> BTW, it should be worth noting that llvmpipe does seem to work at HEAD
> (although it fails reliably for me at the commit I mentioned). I can
> do a "reverse" bisect to figure out when things got better for it, but
> I'm guessing that things just got jumbled around s.t. the memory
> stomping is no longer over a critical area.
>> My reproducer is running glretrace on the portal.trace file that you
>> can obtain from https://bugs.freedesktop.org/show_bug.cgi?id=64323#c1.
>> I was not able to repro using random other traces I had sitting
>> around, so I'm guessing something in that trace is triggering the
>> erring functionality. The crashes always happen in
>> dri_destroy_context/st_destroy_context, but that doesn't mean that
>> trouble doesn't happen earlier on.
>> Any ideas?
I take it back. I think 95bd8a332d1 is responsible -- see my latest
e-mail for the details. Your commit probably just moved a few things
around to make it crash more reliably with the trace I was using.
More information about the mesa-dev