[Bug 16781] Lockup when starting with second screen attached

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Oct 30 04:20:42 PDT 2008


http://bugs.freedesktop.org/show_bug.cgi?id=16781





--- Comment #5 from Friedrich Gräter <graeter at hydrixos.org>  2008-10-30 04:20:40 PST ---
Okay, today I took some look inside the drivers source code and tried to debug
it. Unfortunately I have no other machine to use SSH and GDB, so I tried to
debug it by xf86DrvMsg() statements. (I know, it is a ugly way to do that...)

And I think I found the place where the driver crashes:

Call trace:

[...]
radeon_crtc_dpms
atombios_crtc_dpms 
atombios_blank_crtc
RHDAtomBiosFunc
req_func => rhdAtomExec
rhdAtomExec
ParseTableWrapper
ParseTable

In ParseTable (Decoder.c, line 223, latest git) there is the following loop:

if (!CD_ERROR(ParserTempData.Status))
{
ParserTempData.Status = CD_SUCCESS;                             

while(!CD_ERROR_OR_COMPLETED(ParserTempData.Status))
{
 ...
} // while

} // if

The program executes the loop one time and leaves it, because the condition is
false. However I extended the loop by the following tracing code:

if (!CD_ERROR(ParserTempData.Status))
{
xf86DrvMsg(0, X_ERROR, "[E5-1]\n");
ParserTempData.Status = CD_SUCCESS;                             

while(!CD_ERROR_OR_COMPLETED(ParserTempData.Status))
{
 ...
 xf86DrvMsg(0, X_ERROR, "[E5-1-2]\n");
 xf86DrvMsg(0, X_ERROR, "[E5-1-2 %i > %i]\n", ParserTempData.Status,
CD_SUCCESS);

} // while
xf86DrvMsg(0, X_ERROR, "[E5-1-3]\n");
} // if

The last output of the X-Server to Xorg.0.log is "E5-1-2 0 > 0". The output
"E5-1-3" never appears on the log file. It looks like that the program never
leaves the queue and the X-Server got stuck in some kind of an endless loop.

This explains why I can still shutdown the system by CTRL+ALT+DEL, but have no
other access to the terminal.

I just don't know enough about AtomBIOS to fix the bug by myself. Could you
give me some hints, where I can do some further investigations?


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the xorg-driver-ati mailing list