#12027 HIGH 12.1.0: xf86-video-chrome causes system hang after resume
Zarro Boogs per Child
bugtracker at laptop.org
Thu Jul 26 14:52:47 EDT 2012
#12027: xf86-video-chrome causes system hang after resume
-----------------------------+----------------------------------------------
Reporter: dsd | Owner: jnettlet
Type: defect | Status: new
Priority: high | Milestone: 12.1.0
Component: x window system | Version: not specified
Keywords: | Next_action: diagnose
Verified: 0 | Deployment_affected:
Blockedby: | Blocking:
-----------------------------+----------------------------------------------
If I add simple debug message output to the xf86-video-chrome driver and
run it during aggressive runin on top of 12.1.0 build 18, the system hard-
hangs within a few minutes. There is no response to sysrq or NMI
interrupts.
The debug messages show that the hang occurs within a register write. The
hangs always seem to occur shortly after system resume.
Here is the added patch:
http://dev.laptop.org/~dsd/20120726/chromedebug.patch
Built RPM: http://dev.laptop.org/~dsd/20120726/xorg-x11-drv-
chrome-5.74.33-10.fc17.i686.rpm
Test procedures:
1. Flash 12.1.0 build 18 on XO-1.5
2. Install new graphics driver
3. touch /runin/{soiled,force,no-camera,aggressive}
4. Connect serial console, reboot into runin
One hang example:
{{{
[ 250.695175] SETREG 440=0
[ 250.697755] done
[ 250.699617] SETREG 440=3f800000
[ 250.720075] done
[ 250.721984] SETREG 440=ffff0000
[ 250.725177] done
[ 250.727066] SETREG 440=ffff0000
[ 250.764573] done
[ 250.766446] SETREG 440=3df80000
[ 250.769634] done
[ 250.800112] SETREG 440=0
[ 250.802679] done
[ 250.804532] SETREG 440=423e0000
[ 250.807733] done
[ 250.809623] SETREG 440=41a40000
[ 250.830104] done
[ 250.832017] SETREG 440=0
[ 250.834595] done
[ 250.836443] SETREG 440=3f800000
[ 250.839613] done
[ 250.870084] SETREG 440=ffff0000
[ 250.873284] done
[ 250.875131] SETREG 440=ffff0000
}}}
Another example:
{{{
[ 625.870093] SETREG 440=96000000
[ 625.873249] done
[ 625.875154] SETREG 440=97000000
[ 625.900102] done
[ 625.902942] SETREG 440=98000000
[ 625.906091] done
[ 625.907972] SETREG 440=99000000
[ 625.922409] done
[ 625.930190] SETREG 440=9a000000
[ 625.933403] done
[ 625.935309] SETREG 440=cccccccc
[ 625.938529] done
[ 625.983545] SETREG 440=dddddddd
}}}
Another example:
{{{
[ 1806.317143] SETREG 43c=21030000
[ 1806.330756] done
[ 1806.332682] SETREG 440=301001b0
[ 1806.335915] done
[ 1806.337783] SETREG 440=cc000000
[ 1806.361334] done
[ 1806.363241] SETREG 440=cc000000
[ 1806.366466] done
[ 1806.368418] SETREG 440=cc000000
[ 1806.390100] done
[ 1806.392011] SETREG 43c=20030000
[ 1806.404752] done
[ 1806.406702] SETREG 440=140b6d0
}}}
If I exclude the 0x440 writes from the logging, which are responsible for
most of the messages, the hang happens even quicker, and the last sequence
of logged register writes always seems to be:
{{{
[ 56.933208] SETREG 43c=40000
[ 56.936132] SETREG 43c=22030000
[ 56.939285] SETREG 43c=10000
[ 57.105384] SETREG 43c=21030000
[ 57.146595] SETREG 43c=20030000
}}}
This is very likely to be the cause of #11982, the one remaining 12.1.0
release blocker. Just adding debug messages makes the bug a lot more
likely to happen.
--
Ticket URL: <http://dev.laptop.org/ticket/12027>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list