Comment 118 for bug 148408

Revision history for this message
Tormod Volden (tormodvolden) wrote :

Thanks. Then we got it confirmed that it is a timing issue. Unfortunately, the strace output is not so informative. Can you try ltrace? The idea of gdb was to set a breakpoint early in the switching code, see if it locks up before reaching the breakpoint, then move the breakpoint later in the code etc. But this needs a good knowledge of the code and gdb. I think the interesting code is in the RADEONEnterVT() function in src/radeon_driver.c. I would suggest setting a "breakpoint" on that function, then (if needed, go "down" and) "step" through it and "continue" when you have reached the end of it. Then delete the breakpoint, set a new one a few lines into the function and try again. Alternatively, sprinkle that function with usleep() all over, and if that works, remove one by one until it breaks.

Anyway, if we get it narrowed down to one function, we can probably get help from the upstream developers.