[mythtv] FW: Ticket #4758: Segfault in videoout_null

Andrei Tanas andrei at tanas.ca
Mon Feb 25 16:09:21 UTC 2008


Is nobody interested in this? There's an apparent race condition in initialization of videoout_null during PiP startup. I haven't seen it on my single-core x64 Linux frontend (I don't use PiP much on my "production" box due to its limited resources), but I hit it almost every time on dual-core Windows frontend.


-----Original Message-----
From: MythTV [mailto:mythtv at cvs.mythtv.org] 
Sent: Saturday, February 23, 2008 4:48 PM
To: mythtv-commits at mythtv.org
Subject: Ticket #4758: Segfault in videoout_null

#4758: Segfault in videoout_null
-----------------------------+----------------------------------------------
 Reporter:  andrei at tanas.ca  |       Owner:  ijr       
     Type:  defect           |      Status:  new       
 Priority:  minor            |   Milestone:  0.21      
Component:  mythtv           |     Version:  0.21-fixes
 Severity:  medium           |     Mlocked:  0         
-----------------------------+----------------------------------------------
 I get this segfault repeatedly watching ATSC or NTSC live tv, and enabling
 PiP.
 Sorry for partial backtrace (attached), this is all I can get on Windows.

 Closer examination shows this:
 (gdb) return
 Make selected stack frame return now? (y or n) y
 #0  VideoOutputNull::UpdatePauseFrame (this=0x342e8ab0)
     at videoout_null.cpp:177
 177     }
 (gdb) info locals
 pauseb = (VideoFrame *) 0x2f41cfc0
 pauseu = (VideoFrame *) 0x0
 (gdb) print pauseb
 $1 = (VideoFrame *) 0x2f41cfc0
 (gdb) print pauseb->buf
 $2 = (unsigned char *) 0x0

 which means that
 memcpy(pauseFrame.buf, pauseb->buf, pauseb->size);
 was called with null pointer.

 Output of -v playback is below (several times). Apparently
 UpdatePauseFrame is called while vbuffers.Init is still running.

 2008-02-23 16:32:39.466 Display Rect  left: 0, top: 0, width: 0, height:
 0, aspect: 1.33333
 2008-02-23 16:32:39.472 Video Rect    left: 0, top: 0, width: 1280,
 height: 720, aspect: 1.77778
 2008-02-23 16:32:39.478 Created data @0x39ec0030->0x3a011832
 2008-02-23 16:32:39.487 Created data @0x3a020030->0x3a171832
 2008-02-23 16:32:39.492 Created data @0x3a180030->0x3a2d1832
 2008-02-23 16:32:39.501 Created data @0x3a2e0030->0x3a431832
 2008-02-23 16:32:39.505 Created data @0x3a440030->0x3a591832
 2008-02-23 16:32:39.509 Created data @0x3a5a0030->0x3a6f1832
 2008-02-23 16:32:39.517 Created data @0x3a700030->0x3a851832
 2008-02-23 16:32:39.522 Created data @0x3a860030->0x3a9b1832
 Program received signal SIGSEGV, Segmentation fault.
 .......

 2008-02-23 16:26:31.601 Created data @0x3d7b0030->0x3d901832
 2008-02-23 16:26:31.606 Created data @0x3d910030->0x3da61832
 2008-02-23 16:26:31.611 Created data @0x3da70030->0x3dbc1832
 2008-02-23 16:26:31.617 Created data @0x3dbd0030->0x3dd21832
 2008-02-23 16:26:31.624 Created data @0x3dd30030->0x3de81832
 2008-02-23 16:26:31.629 Created data @0x3de90030->0
 Program received signal SIGSEGV, Segmentation fault.

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/4758>
MythTV <http://svn.mythtv.org/trac>
MythTV



More information about the mythtv-dev mailing list