Bug#513904: Info received (Bug#513904: Xorg runaway in NVSync(), see #336774)
It just happened again, and here is a disassembly of the location:
0xb7b96530 <NVSync+48>: mov (%ecx),%eax
0xb7b96532 <NVSync+50>: shr $0x2,%eax
0xb7b96535 <NVSync+53>: cmp %edx,%eax
0xb7b96537 <NVSync+55>: jne 0xb7b96530 <NVSync+48>
Since neither %ecx nor %edx get changed during the loop, the only way
out of it is for (%ecx) to be volatile.
In the source code, that loop is
#define READ_GET(pNv) ((pNv)->FIFO[0x0011] >> 2)
while(READ_GET(pNv) != pNv->dmaPut);
so it looks like a polling wait for an event that isn't happening.
This part of the source code looks exactly the same in 2.1.10, so I
don't think backporting it will be worth our time.
Reply to: