[mythtv-commits] Ticket #5733: Mythtv-0.21-fixes backend crashes on AMD64 when starting a recording from an analog tuner

MythTV mythtv at cvs.mythtv.org
Mon Sep 22 15:07:59 UTC 2008


#5733: Mythtv-0.21-fixes backend crashes on AMD64 when starting a recording from
an analog tuner
---------------------------------+------------------------------------------
 Reporter:  jan.nijs at scarlet.be  |       Owner:  ijr       
     Type:  patch                |      Status:  new       
 Priority:  major                |   Milestone:  0.21.1    
Component:  mythtv               |     Version:  0.21-fixes
 Severity:  medium               |     Mlocked:  0         
---------------------------------+------------------------------------------
 I have Mythtv running on an AMD64. After I migrated from a 32bit distro to
 a 64 bit distro, mythtv started crashing randomly, but always at the start
 of an analog recording.

 The message and important part of the backtrace:

 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 0x4b61b950 (LWP 18796)]
 0x00007f3f306a81ac in _lzo1x_1_do_compress (in=0x226c400 "\017p\002",
 in_len=159759, out=0xa2e6d8 "", out_len=0x4b61adec,
     wrkmem=0xb326f0) at minilzo.cpp:1613
 1613    minilzo.cpp: Permission denied.
         in minilzo.cpp




 #0  0x00007f3f306a81ac in _lzo1x_1_do_compress (in=0x226c400 "\017p\002",
 in_len=159759, out=0xa2e6d8 "",
     out_len=0x4b61adec, wrkmem=0xb326f0) at minilzo.cpp:1613
         m_pos = (const unsigned char *) 0x1b601f702270270 <Address
 0x1b601f702270270 out of bounds>
         m_off = 3308
         m_len = 0
         dindex = 2239
         ip = (const unsigned char *) 0x2270f5c "\001"
         op = (unsigned char *) 0xa31e12 "]"
         in_end = (const unsigned char * const) 0x229340f ""
         ip_end = (const unsigned char * const) 0x2293402 "\037\b"
         ii = (const unsigned char *) 0x2270f53 "\016"
         dict = (const unsigned char ** const) 0xb326f0
 #1  0x00007f3f306a876e in lzo1x_1_compress (in=0x226c400 "\017p\002",
 in_len=159759, out=0xa2e6d8 "", out_len=0x4b61adec,
     wrkmem=0xb326f0) at minilzo.cpp:1838
         op = (unsigned char *) 0xa2e6d8 ""
         t = 0
 #2  0x00007f3f30cebe9a in NuppelVideoRecorder::WriteVideo (this=0xa2e570,
 frame=0x4b61aef0, skipsync=false, forcekey=true)
     at NuppelVideoRecorder.cpp:3099
         r = 0
         freecount = 31
         tmp = 159759
         out_len = 1064979
         frameheader = {frametype = 83 'S', comptype = 65 'A', keyframe = 0
 '\0', filters = 0 '\0', timecode = 7314285,
   packetlength = 0}
         raw = 0
         compressthis = 1


 For me the solution has been to upgrade the miniLZO library to the latest
 version. It fixes a number of issues with 64 bit platforms. Patch
 attached.

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


More information about the mythtv-commits mailing list