[Openchrome-users] [openChrome] #352: XvMC lockup

OpenChrome Trac trac
Thu Jan 28 15:18:37 PST 2010


#352: XvMC lockup
--------------------+-------------------------------------------------------
 Reporter:  robho   |        Owner:  somebody
     Type:  defect  |       Status:  new     
 Priority:  minor   |    Component:  xvmc-lib
  Version:  trunk   |   Resolution:          
 Keywords:          |     Blocking:          
Blockedby:          |  
--------------------+-------------------------------------------------------

Comment(by robho):

 Here's output from drm module for the second prior the the freeze:

 {{{
 [  196.807774] [drm:drm_ioctl], pid=2751, cmd=0x4008644a, nr=0x4a, dev
 0xe200, auth=1
 [  196.807786] [drm:via_pci_cmdbuffer], buf 0ab43f28 size 48
 [  196.808248] [drm:drm_ioctl], pid=2582, cmd=0x4008642a, nr=0x2a, dev
 0xe200, auth=1
 [  196.808265] [drm:drm_lock], 1 (pid 2582) requests lock (0x00000002),
 flags = 0x00000000
 [  196.808279] [drm:drm_lock], 1 has lock
 [  196.810723] [drm:drm_ioctl], pid=2750, cmd=0x4008642a, nr=0x2a, dev
 0xe200, auth=1
 [  196.810750] [drm:drm_lock], 2 (pid 2750) requests lock (0x00000001),
 flags = 0x00000000
 [  196.810765] [drm:drm_lock], 2 has lock
 [  196.810794] [drm:drm_ioctl], pid=2750, cmd=0x40086448, nr=0x48, dev
 0xe200, auth=1
 [  196.810807] [drm:via_cmdbuffer], buf 0ab3bf20 size 12960
 [  196.811155] [drm:drm_ioctl], pid=2750, cmd=0x40086448, nr=0x48, dev
 0xe200, auth=1
 [  196.811169] [drm:via_cmdbuffer], buf 0ab3bf20 size 29208
 [  196.944222] [drm:drm_ioctl], pid=2751, cmd=0xc010643a, nr=0x3a, dev
 0xe200, auth=0
 [  196.944250] [drm:drm_wait_vblank], waiting on vblank count 6327, crtc 0
 [  196.962764] [drm:drm_wait_vblank], returning 6327 to client
 [  197.019426] [drm:drm_ioctl], pid=2751, cmd=0xc010643a, nr=0x3a, dev
 0xe200, auth=0
 [  197.019475] [drm:drm_wait_vblank], waiting on vblank count 6330, crtc 0
 [  197.022800] [drm:drm_wait_vblank], returning 6330 to client
 [  197.222670] [drm:drm_ioctl], pid=2750, cmd=0x40086448, nr=0x48, dev
 0xe200, auth=1
 [  197.222695] [drm:via_cmdbuffer], buf 0ab3bf20 size 14592
 [  197.223253] [drm:drm_ioctl], pid=2750, cmd=0x40086448, nr=0x48, dev
 0xe200, auth=1
 [  197.223269] [drm:via_cmdbuffer], buf 0ab3bf20 size 29000
 [  197.429463] [drm:drm_ioctl], pid=2751, cmd=0x4008644a, nr=0x4a, dev
 0xe200, auth=1
 [  197.429537] [drm:via_pci_cmdbuffer], buf 0ab43f28 size 48
 [  197.429561] [drm:drm_ioctl], pid=2751, cmd=0x4008644a, nr=0x4a, dev
 0xe200, auth=1
 [  197.429573] [drm:via_pci_cmdbuffer], buf 0ab43f28 size 48
 [  197.633474] [drm:drm_ioctl], pid=2751, cmd=0x40086448, nr=0x48, dev
 0xe200, auth=1
 [  197.633503] [drm:via_cmdbuffer], buf 0ab3bf20 size 1440
 [  197.634201] [drm:drm_ioctl], pid=2582, cmd=0x4008642a, nr=0x2a, dev
 0xe200, auth=1
 [  197.634219] [drm:drm_lock], 1 (pid 2582) requests lock (0x00000002),
 flags = 0x00000000
 [  197.634233] [drm:drm_lock], 1 has lock
 [  197.634862] [drm:drm_ioctl], pid=2751, cmd=0x4008642a, nr=0x2a, dev
 0xe200, auth=1
 [  197.634883] [drm:drm_lock], 2 (pid 2751) requests lock (0x00000001),
 flags = 0x00000000
 [  197.634896] [drm:drm_lock], 2 has lock
 [  197.634936] [drm:drm_ioctl], pid=2751, cmd=0x4008644a, nr=0x4a, dev
 0xe200, auth=1
 [  197.634949] [drm:via_pci_cmdbuffer], buf 0ab43f28 size 48
 [  197.634969] [drm:drm_ioctl], pid=2751, cmd=0x4008644a, nr=0x4a, dev
 0xe200, auth=1
 [  197.634981] [drm:via_pci_cmdbuffer], buf 0ab43f28 size 48
 [  197.635332] [drm:drm_ioctl], pid=2582, cmd=0x4008642a, nr=0x2a, dev
 0xe200, auth=1
 [  197.635347] [drm:drm_lock], 1 (pid 2582) requests lock (0x00000002),
 flags = 0x00000000
 [  197.635359] [drm:drm_lock], 1 has lock
 [  197.640614] [drm:drm_ioctl], pid=2750, cmd=0x4008642a, nr=0x2a, dev
 0xe200, auth=1
 [  197.640640] [drm:drm_lock], 2 (pid 2750) requests lock (0x00000001),
 flags = 0x00000000
 [  197.640654] [drm:drm_lock], 2 has lock
 [  197.640685] [drm:drm_ioctl], pid=2750, cmd=0x40086448, nr=0x48, dev
 0xe200, auth=1
 [  197.640698] [drm:via_cmdbuffer], buf 0ab3bf20 size 12560
 [  197.640988] [drm:drm_ioctl], pid=2750, cmd=0x40086448, nr=0x48, dev
 0xe200, auth=1
 [  197.641002] [drm:via_cmdbuffer], buf 0ab3bf20 size 29640
 [  197.846280] [drm:drm_ioctl], pid=2751, cmd=0xc010643a, nr=0x3a, dev
 0xe200, auth=0
 [  197.846307] [drm:drm_wait_vblank], waiting on vblank count 6372, crtc 0
 [  197.864226] [drm:drm_wait_vblank], returning 6372 to client
 [  198.047141] [drm:drm_ioctl], pid=2750, cmd=0x40086448, nr=0x48, dev
 0xe200, auth=1
 [  198.047168] [drm:via_cmdbuffer], buf 0ab3bf20 size 16304
 [  198.047811] [drm:drm_ioctl], pid=2750, cmd=0x40086448, nr=0x48, dev
 0xe200, auth=1
 [  198.047827] [drm:via_cmdbuffer], buf 0ab3bf20 size 27288
 [  198.463486] [drm:via_driver_irq_handler], US per vblank is: 20008
 [  203.586020] [drm:via_driver_irq_handler], US per vblank is: 20010
 [  208.708552] [drm:via_driver_irq_handler], US per vblank is: 20009
 [  212.778279] [drm:drm_vm_open_locked], 0xa7c67000,0x04000000
 [  212.781398] [drm:drm_vm_open_locked], 0xb055d000,0x00002000
 [  212.781439] [drm:drm_vm_open_locked], 0xb055f000,0x00009000
 [  212.839784] [drm:drm_vm_close], 0xa7c67000,0x04000000
 [  212.839837] [drm:drm_vm_shm_close], 0xb055d000,0x00002000
 [  212.839851] [drm:drm_vm_close], 0xb055f000,0x00009000
 [  213.831084] [drm:via_driver_irq_handler], US per vblank is: 20008
 [  218.953626] [drm:via_driver_irq_handler], US per vblank is: 20010
 }}}

 It hangs around 198.1 seconds.

 Pid 2582 is X.
 Pid 2750/2751 is mythfrontend.

 I'm attaching some output from libxvmc for the time period above. Output
 contains mainly indications on which public functions in viaXvMC.c are
 called and also some messages from the lower layer. Locking messages are
 from hwlLock/hwlUnlock. The timestamps in this log aren't 100% accurate,
 but should give a rough indication of current time.

 Nothing exceptional in the log as far as i can tell. No indications of any
 XvMCDestroySurface calls. All non-static function in viaXvMC.c log when
 called (except for a few which only have a single return statement).

 I'm running trunk openchrome and ubuntu's 2.6.31-17-generic kernel.

 One strange thing I see is that prior to the freeze the video rendering
 slows down and frames seem to be rendered in reverse/random order. Do you
 see that as well? In my video there's scrolling text as the freeze happens
 and the second before the freeze the text starts to move back where it
 came from and jump a little back and forth. So something bad seems to
 happen a few seconds before the crash.

-- 
Ticket URL: <http://www.openchrome.org/trac/ticket/352#comment:3>
openChrome <http://www.openchrome.org/>
The openChrome project



More information about the Openchrome-users mailing list