[mythtv-commits] Ticket #7796: mythtranscode memcpy segmentation fault

MythTV mythtv at cvs.mythtv.org
Sun Jan 24 18:10:37 UTC 2010


#7796: mythtranscode memcpy segmentation fault
-----------------------------------------------------+----------------------
 Reporter:  Andrea Giuliano <sarkiaponius@…>         |        Owner:  ijr    
     Type:  defect                                   |       Status:  closed 
 Priority:  major                                    |    Milestone:  0.22   
Component:  MythTV - Mythtranscode                   |      Version:  0.22   
 Severity:  medium                                   |   Resolution:  invalid
  Mlocked:  0                                        |  
-----------------------------------------------------+----------------------

Comment(by nas@…):

 The problem is that the Debian 0.22 package links to /usr/lib/libmpeg2
 instead of libmythmpeg2. That is done because of the Debian patch
 "debian/patches/01_libmythmpeg2.diff" and removing that patch fixes the
 problem. I will report this to the package maintainer.

 In case someone is interesting if figuring out why libmpeg2 doesn't work,
 here is some debugging information. Note that info->gob is NULL. I don't
 understand the code well enough to determine why.
 {{{
 (gdb) bt
 #0  0x0806fa0f in MPEG2fixup::ProcessVideo (this=0x80fd320, vf=0x8103758,
     dec=0x810e240) at mpeg2fix.cpp:869
 #1  0x0807250a in MPEG2fixup::GetFrame (this=0x80fd320, pkt=0xbfd949c4)
     at mpeg2fix.cpp:1308
 #2  0x0807d9d7 in MPEG2fixup::FindStart (this=0x80fd320) at
 mpeg2fix.cpp:1338
 #3  0x08084202 in MPEG2fixup::Start (this=0x80fd320) at mpeg2fix.cpp:1874
 #4  0x0805a8ac in main (argc=135018816, argv=0xfffffff7) at main.cpp:629
 (gdb) l 869
 864                                sizeof(mpeg2_sequence_t));
 865                         vf->isSequence = 1;
 866                         break;
 867
 868                     case STATE_GOP:
 869                         memcpy(&vf->mpeg2_gop, info->gop,
 sizeof(mpeg2_gop_t));
 870                         vf->isGop = 1;
 871                         vf->gopPos = vf->pkt.data + last_pos;
 872                         //pd->adjustFrameCount=0;
 873                         break;
 (gdb) p info->gop
 $9 = (const mpeg2_gop_t *) 0x0
 (gdb) p dec->info
 $10 = {sequence = 0x1e0, gop = 0x0, current_picture = 0x0,
   current_picture_2nd = 0x3, current_fbuf = 0x7, display_picture = 0x3,
   display_picture_2nd = 0x0, display_fbuf = 0x0, discard_fbuf = 0x0,
   user_data = 0x1 <Address 0x1 out of bounds>, user_data_len = 134875264}
 }}}

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


More information about the mythtv-commits mailing list