[mythtv-commits] Ticket #6983: deadlock on readReadyLock and socket lock

MythTV mythtv at cvs.mythtv.org
Sat Sep 5 12:16:23 UTC 2009


#6983: deadlock on readReadyLock and socket lock
------------------------------+---------------------------------------------
 Reporter:  markspieth        |        Owner:  ijr    
     Type:  defect            |       Status:  new    
 Priority:  major             |    Milestone:  unknown
Component:  MythTV - General  |      Version:  unknown
 Severity:  high              |   Resolution:         
  Mlocked:  0                 |  
------------------------------+---------------------------------------------
Description changed by markspieth:

Old description:

> there are 2 problems with customevent
>
> there is a deadlock between socket lock and readReadyLock and can happen
> on multi core machines. 4 cores or more with mythweb scheduling a program
> causes it to happen most times. doesnt seem to happen on a 2 core.
>
> There may be a better way to fix this, but the attached solution works.
>
> the 2nd is that customevent tries to send messages on sockets which are
> not connected (thus there are no listeners).
>
> it gives
> {{{
>     write -> -1 565     BACKEND_MESSAGE[]:[]ASK_RECORDING 1 0 0 0[]:[]Ten
>     News[]:[][]:[]A...
>     writeStringList: Error, called with unconnected socket
> }}}
> type errors. pointless doing this
>
> see also #6895 for this one.

New description:

 there are 2 problems with customevent

 there is a deadlock between socket lock and readReadyLock and can happen
 on multi core machines. 4 cores or more with mythweb scheduling a program
 causes it to happen most times. doesnt seem to happen on a 2 core.

 There may be a better way to fix this, but the attached solution works.

 the 2nd is that customevent tries to send messages on sockets which are
 not connected (thus there are no listeners).

 it gives
 {{{
     write -> -1 565     BACKEND_MESSAGE[]:[]ASK_RECORDING 1 0 0 0[]:[]Ten
     News[]:[][]:[]A...
     writeStringList: Error, called with unconnected socket
 }}}
 type errors. pointless doing this

 see also #6894 for this one.

--

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/6983#comment:1>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list