[mythtv] segfault problem with current CVS.

Nathan G. Grennan ngrennan at okcforum.org
Sun Feb 23 09:22:56 EST 2003

On Sun, 2003-02-23 at 08:46, Chris Pinkham wrote:
> I'm receiving a segfault running current CVS code and was wondering if
> anyone else was noticing or receiving this.
> Occasionally when exiting playback or the playback list screen (in MythTV),
> I will get a segfault.  I tried running using under gdb with
> MALLOC_CHECK_=2 one time and with electric fence the other time.  Both
> pointed back to a line in libavcodec trying to free memory.  I'm assuming
> this is a pointer that has already been freed or was somehow changed to
> point to different memory and can't be freed now.
> In MC/libs/libavcodec/mpegvideo.c around line 363 you'll find a line like
> this:
>     av_freep(&pic->mbskip_table);
> That's the line it's segfaulting on.  If I comment out that line (just to
> test), then it just segfaults later so obviously something is seriously
> hosed.
> Isaac (or anyone else), can you point me in the right direction to see
> where the problem might be occuring.  I'm seeing it even when I don't use
> the commercial skip feature so I'm wondering if it's an unrelated problem.
> I'm still working on trying to figure out how the libavcoded code
> allocates/deallocates/uses memory during the whole decoding process but
> haven't seen enough yet to know where to look to see if somehow this is
> being re-freed or what.
> Any pointers would be greatly appreciated.  I want to make sure this isn't
> in the current commercial skip stuff before I modify it further with my new
> patch.

I was just testing your commercial skip code. I recorded an episode of
the X-Files last night and used it as my test. Your commercial skipping
worked perfectly in this case. I waited till it got a second into the
commercial, pressed z, and waited to be taken back to the show. Would be
nice if you cleared the screen so I don't have to see a frame from the
commercial while waiting. Finally to the point, I got to the end of the
show, saw the credits, waited till the commercial started, and then
pressed z. I wasn't sure what to expect, but thought it might have
caught the beginning of the next show. Instead MythTV crashed on me.
I tried it again and it again crashed. Then like you I tried gdb. The
first time it just hung. The second time I got a segfault.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1116941504 (LWP 26101)]
0x4207d02c in memcpy () at memcpy:-1
-1      memcpy: No such file or directory.
        in memcpy

(gdb) backtrace
#0  0x4207d02c in memcpy () at memcpy:-1
#1  0x080ca863 in QWidget::setWFlags(unsigned) ()

More information about the mythtv-dev mailing list