Opened 16 years ago
Closed 16 years ago
#4758 closed defect (fixed)
Segfault in videoout_null
Reported by: | Owned by: | Isaac Richards | |
---|---|---|---|
Priority: | minor | Milestone: | 0.21 |
Component: | mythtv | Version: | 0.21-fixes |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
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.
Attachments (2)
Change History (5)
Changed 16 years ago by
Attachment: | backtrace.txt added |
---|
Changed 16 years ago by
Attachment: | 4758-v1.patch added |
---|
comment:1 Changed 16 years ago by
Andrei, can you give the attached patch a try? It just copies over some of the same code from VideoOutputXv?.. in some limited testing here it doesn't seem to cause any problems and it should be fully thread-safe since it is based on the X11 code..
comment:3 Changed 16 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
(In [16266]) Fixes #4758. Fixes a segfault in videoout_null.
This just copies over some of the locking we use in VideoOutputXv?? and cleans up the ctor/dtor.
Possible fix