#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