[mythtv-users] Re: segfault...appears to be libddmpeg.so related.GDBoutput:

martin north martin at chipsandpeas.com
Sun Jan 4 12:46:47 EST 2004


Kenneth Aafløy writes: 

> Hi, 
> 
> martin north wrote:
>> Kenneth Aafløy writes: 
>> > martin north wrote:
>> > > i'm attempting to run mythtv on a MPIA-M6000 running gentoo, 
>> > > making use of the CLE266 and a DVB card (running epia-kernel,
>> > > and xfree-epia and the DVB drivers from cvs).
>> > > [snip]
>> > > #0  0x402e2a3d in VIA_MPEGSliceReceiveData () from 
>> > > [snip]
>> > 
>> > There are some pre-.13 fixes in cvs for via decoding of 
>> > choppy streams. Does it fix it for you?  
>> 
>> I'm already running 0.13 (mythtv-0.13-r1.ebuild to be exact). 
>> Or are you suggesting i take a copy of the current CVS and give
>> that a go???  
>> 
> 
> Dunno what the difference between .13 and .13-r1 is, but I assume
> it's the patch/fix released a day or so after .13? 
> 
> Grab the cvs version, and test that, it's working very well here. 
> 
> Kenneth
 

I have tried the latest CVS and it is more stable than the 0.13-r1 release 
for DVB/CLE266. The performance of the DVB/CLE266 combination is still quite 
poor...quite stilted, frequent picture break ups and corruption etc. 

(i've tested the DVB without using the CLE266, and performance is still 
quite stilted with some corruption. But the corruption is less than the 
CLE266 - I guess DVB support is still quite raw, and the CPU deals with a 
rather bad stream better than the CLE266 does). 

Anyway, I've also noticed that a segfault occurs when using the CLE266 when 
changing channels. This doesn't happen using the CPU. Here is the gdb trace 
of the segfault after a channel change. 

 

bash-2.05b# gdb mythfrontend
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-pc-linux-gnu"...
(gdb) run
Starting program: /usr/local/bin/mythfrontend
[New Thread 16384 (LWP 8787)]
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
2004-01-04 17:39:32 mythfrontend version: 0.14.20040102-1 www.mythtv.org
2004-01-04 17:39:32 Enabled verbose msgs : important general
[New Thread 32769 (LWP 8790)]
[New Thread 16386 (LWP 8791)]
mythtv: could not open config file
mythtv: No such file or directory
Failed to init /root/.mythtv/lircrc for mythtv
[New Thread 32771 (LWP 8792)]
2004-01-04 17:39:43 Connecting to backend server: 127.0.0.1:6543 (try 1 of 
5)
[New Thread 49156 (LWP 8795)]
[New Thread 65541 (LWP 8796)]
Input #0, mpeg, from 'rbuf://127.0.0.1:6543/var/video/ringbuf4.nuv':
 Stream #0.0: Video: mpegvideo_via, 720x576, 25.00 fps
 Stream #0.1: Audio: mp2, 48000 Hz, stereo, 256 kb/s
2004-01-04 17:39:49 Opening OSS audio device '/dev/dsp'.
[New Thread 81926 (LWP 8797)]
Using VIA CLE266 Hardware Decoding
[New Thread 98311 (LWP 8798)]
2004-01-04 17:39:52 Changing from None to WatchingLiveTV
2004-01-04 17:39:52 prebuffering pause
2004-01-04 17:39:53 prebuffering pause
2004-01-04 17:39:55 prebuffering pause
2004-01-04 17:39:56 prebuffering pause
2004-01-04 17:39:57 prebuffering pause
2004-01-04 17:39:58 prebuffering pause
2004-01-04 17:39:59 prebuffering pause
2004-01-04 17:40:00 prebuffering pause
2004-01-04 17:40:00 prebuffering pause
2004-01-04 17:40:00 prebuffering pause
2004-01-04 17:40:01 prebuffering pause
2004-01-04 17:40:02 prebuffering pause
2004-01-04 17:40:02 prebuffering pause
2004-01-04 17:40:03 prebuffering pause
2004-01-04 17:40:04 prebuffering pause
2004-01-04 17:40:05 prebuffering pause
2004-01-04 17:40:06 prebuffering pause
[mpegvideo_via @ 0x81cd598]warning: first frame is no keyframe 

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 98311 (LWP 8798)]
0x411fee9d in memset () from /lib/libc.so.6
(gdb) thread apply all bt full 

Thread 8 (Thread 98311 (LWP 8798)):
#0  0x411fee9d in memset () from /lib/libc.so.6
No symbol table info available.
#1  0x00000000 in ?? ()
No symbol table info available. 

Thread 7 (Thread 81926 (LWP 8797)):
#0  0x4122f166 in nanosleep () from /lib/libc.so.6
No symbol table info available.
#1  0x00000000 in ?? ()
No symbol table info available. 

Thread 6 (Thread 65541 (LWP 8796)):
#0  0x412546f1 in select () from /lib/libc.so.6
No symbol table info available.
#1  0x41051c68 in __JCR_LIST__ () from /usr/qt/3//lib/libqt-mt.so.3
No symbol table info available.
#2  0x406ec836 in RemoteFile::Read(void*, int) (this=0x81d2058,
   data=0x41866808, size=256000) at remotefile.cpp:234
       recv = 0
       sent = 256000
       zerocnt = 1
 ---Type <return> to continue, or q <return> to quit---
       error = false
       response = false
       strlist = {<QValueList<QString>> = {sh = 0x44300520}, <No data 
fields>}
#3  0x40213b86 in RingBuffer::safe_read(RemoteFile*, void*, unsigned) (
   this=0x81d0fa8, rf=0x81d2058, data=0x41866808, sz=256000)
   at RingBuffer.cpp:484
       ret = 0
#4  0x40214615 in RingBuffer::ReadAheadThread() (this=0x81d0fa8)
   at RingBuffer.cpp:702
       totfree = 256000
       ret = 256000
       used = 256001
#5  0x40214350 in RingBuffer::startReader(void*) (type=0x81d0fa8)
   at RingBuffer.cpp:641
       rbuffer = (RingBuffer *) 0x81d0fa8
#6  0x41064b02 in pthread_start_thread () from /lib/libpthread.so.0
No symbol table info available.
#7  0x41064b7a in pthread_start_thread_event () from /lib/libpthread.so.0
No symbol table info available. 

Thread 5 (Thread 49156 (LWP 8795)):
#0  0x40548190 in synth_filter (s1=0x83ef220, ch=1, samples=0xbf3dff56,
   incr=2, sb_samples=0x83f3c00) at mpegaudiodec.c:887
 ---Type <return> to continue, or q <return> to quit---
       tmp = 576425
       tmp = {98898, 77797, 40144, 12106, -18626, -54540, -75189, -82458,
 -94598, -114014, -142591, -190051, -246433, -287754, -311239, -334939,
 -369156, -404935, -426519, -429100, -417603, -392831, -357147, -324573,
 -303962, -289644, -278625, -268817, -245755, -200841, -143092, -76822}
       synth_buf = (MPA_INT *) 0x83f14f0
       w = (const MPA_INT *) 0x4063f308
       w2 = (const MPA_INT *) 0x4063f378
       p = (const MPA_INT *) 0x83f1538
       j = 2
       offset = 32
       v = 10
       samples2 = (int16_t *) 0xbf3dffc6
       sum = -3615781777
       sum2 = -22748386962
#1  0x4054ce19 in mp_decode_frame (s=0x83ef220, samples=0xbf3df9cc)
   at mpegaudiodec.c:2409
       i = 11
       nb_frames = 36
       ch = 1
       samples_ptr = (short int *) 0xbf3dff4e
#2  0x4054d291 in decode_frame (avctx=0x81d25c8, data=0xbf3df9cc,
   data_size=0xbf3df9c8,
 ---Type <return> to continue, or q <return> to quit---
   buf=0x83d4ea0 "ÿüÄ\004\210ÆÌfUwUUUU333$\222I$\222I$", buf_size=0)
   at mpegaudiodec.c:2568
       s = (MPADecodeContext *) 0x83ef220
       header = 4294755332
       buf_ptr = (uint8_t *) 0x83d51a0 ""
       len = 764
       out_size = 10
       out_samples = (short int *) 0xbf3df9cc
#3  0x404a83a9 in avcodec_decode_audio (avctx=0x81d25c8, samples=0xbf3df9cc,
   frame_size_ptr=0xbf3df9c8,
   buf=0x83d4ea0 "ÿüÄ\004\210ÆÌfUwUUUU333$\222I$\222I$", buf_size=768)
   at utils.c:471
       ret = 199196840
#4  0x4029568f in AvFormatDecoder::GetFrame(int) (this=0x81d1d60, 
onlyvideo=0)
   at avformatdecoder.cpp:1091
       temppts = 60734883
       curstream = (AVStream *) 0x81d25c0
       pkt = (AVPacket *) 0x8467968
       len = 768
       ret = 12373
       ptr = (
   unsigned char *) 0x83d4ea0 "ÿüÄ\004\210ÆÌfUwUUUU333$\222I$\222I$"
       samples = {896, 1537, 206, 873, -480, 150, -1185, -609, -1779, -1309,
 ---Type <return> to continue, or q <return> to quit---
 -2191, -1917, -2482, -2469, -2615, -2919, -2502, -3198, -2280, -3373, 
 -2141,
 -3568, -2049, -3811, -1899, -4056, -1719, -4259, -1532, -4367, -1254, 
 -4318,
 -852, -4064, -368, -3610, 179, -3019, 779, -2342, 1380, -1567, 1936, -671,
 2420, 296, 2747, 1214, 2802, 1947, 2571, 2437, 2170, 2725, 1710, 2841, 
1226,
 2769, 739, 2551, 330, 2297, 85, 2073, 19, 1891, 79, 1759, 187, 1660, 314,
 1576, 540, 1546, 959, 1632, 1546, 1821, 2145, 2022, 2590, 2124, 2795, 2061,
 2769, 1881, 2593, 1665, 2374, 1422, 2168, 1134, 1937, 823, 1620, 490, 1249,
 120, 925, -237, 692, -514, 534, -718, 443, -889, 400, -1044, 350, -1185,
 272, -1250, 220, -1140, 259, -848, 416, -474, 674, -93, 962, 274, 1217, 
607,
 1445, 912, 1663, 1220, 1825, 1508, 1887, 1708, 1850, 1777, 1701, 1730, 
1433,
 1626, 1134, 1521, 967, 1443, 1041, 1409, 1372, 1433, 1916, 1508, 2589, 
1609,
 3252, 1689, 3722, 1658, 3844, 1431, 3567, 1028, 2925, 521, 2007, -46, 989,
 -622, 91, -1137, -533, -1560, -847, -1872, -892, -2044, -762, -2122, -532,
 -2178, -217, -2167, 150, -2035, 471, -1862, 686, -1715, 785, -1535, 675,
 -1336, 225, -1249, -543, -1327, -1466, -1539, -2428, -1881, -3362, -2315,
 -4164, -2753...}
       data_size = 0
       pts = 60734810
       firstloop = true
       allowedquit = false
       storevideoframes = true
#5  0x4019795d in NuppelVideoPlayer::GetFrame(int, bool) (this=0x81be848,
   onlyvideo=0, unsafe=false) at NuppelVideoPlayer.cpp:617
 ---Type <return> to continue, or q <return> to quit---
No locals.
#6  0x4019bbc6 in NuppelVideoPlayer::StartPlaying() (this=0x81be848)
   at NuppelVideoPlayer.cpp:1847
       output_video = 98311
       pausecheck = 6
#7  0x40231cf8 in SpawnDecode(void*) (param=0x81be848) at tv_play.cpp:140
       nvp = (NuppelVideoPlayer *) 0x81be848
#8  0x41064b02 in pthread_start_thread () from /lib/libpthread.so.0
No symbol table info available.
#9  0x41064b7a in pthread_start_thread_event () from /lib/libpthread.so.0
No symbol table info available.
Current language:  auto; currently c 

Thread 4 (Thread 32771 (LWP 8792)):
#0  0x4122f166 in nanosleep () from /lib/libc.so.6
No symbol table info available.
#1  0x00000001 in ?? ()
No symbol table info available.
#2  0x40236ca5 in TV::RunTV() (this=0x81cc708) at tv_play.cpp:853
       keypressed = (QKeyEvent *) 0x81d1818
       updatecheck = 2
#3  0x40236a4e in TV::EventThread(void*) (param=0x81cc708) at 
tv_play.cpp:821
       thetv = (class TV *) 0x81cc708
#4  0x41064b02 in pthread_start_thread () from /lib/libpthread.so.0
 ---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#5  0x41064b7a in pthread_start_thread_event () from /lib/libpthread.so.0
No symbol table info available. 

Thread 2 (Thread 32769 (LWP 8790)):
#0  0x41252f9b in poll () from /lib/libc.so.6
No symbol table info available.
#1  0x41064844 in __pthread_manager () from /lib/libpthread.so.0
No symbol table info available.
#2  0x41064a12 in __pthread_manager_event () from /lib/libpthread.so.0
No symbol table info available. 

Thread 1 (Thread 16384 (LWP 8787)):
#0  0x4122f166 in nanosleep () from /lib/libc.so.6
No symbol table info available.
#1  0xffffffa0 in ?? ()
No symbol table info available.
#2  0x08066956 in startTV() () at main.cpp:202
       db = (struct QSqlDatabase *) 0x81aa1a0
       tv = (class TV *) 0x81cc708
       timer = {ds = 63583366}
       tryTV = false
       tryRecorder = false
 ---Type <return> to continue, or q <return> to quit---
       quitAll = false
       showDialogs = true
#3  0x08067b0d in TVMenuCallback(void*, QString&) (data=0x8196638,
   selection=@0x81c3ee4) at main.cpp:305
       sel = {static null = {
   static null = <same as static member of an already seen type>,
   d = 0x8180c30, static shared_null = 0x8180c30}, d = 0x81cf328,
 static shared_null = 0x8180c30}
#4  0x4070d7ac in ThemedMenu::handleAction(QString&) (this=0x81c3d38,
   action=@0x81d0014) at themedmenu.cpp:1883
No locals.
#5  0x4070bf1b in ThemedMenu::keyPressEvent(QKeyEvent*) (this=0x81c3d38,
   e=0xbffff4c0) at themedmenu.cpp:1713
       action = {static null = {
   static null = <same as static member of an already seen type>,
   d = 0x8180c30, static shared_null = 0x8180c30}, d = 0x81b8a50,
 static shared_null = 0x8180c30}
       i = 0
       lastbutton = (ThemedButton *) 0x81cffd8
       oldrow = 0
       handled = true
       actions = {<QValueList<QString>> = {sh = 0x81c4260}, <No data 
fields>}
#6  0x40c7daf6 in QWidget::event(QEvent*) () from 
/usr/qt/3//lib/libqt-mt.so.3
 ---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#7  0x40bf6ce3 in QApplication::internalNotify(QObject*, QEvent*) ()
  from /usr/qt/3//lib/libqt-mt.so.3
No symbol table info available.
#8  0x40bf65d0 in QApplication::notify(QObject*, QEvent*) ()
  from /usr/qt/3//lib/libqt-mt.so.3
No symbol table info available.
#9  0x40762ee4 in MythMainWindow::keyPressEvent(QKeyEvent*) (this=0x81bb710,
   e=0xbffff4c0) at mythdialogs.cpp:450
       current = (struct QWidget *) 0x81c3d38
#10 0x40c7daf6 in QWidget::event(QEvent*) () from 
/usr/qt/3//lib/libqt-mt.so.3
No symbol table info available.
#11 0x40bf6ce3 in QApplication::internalNotify(QObject*, QEvent*) ()
  from /usr/qt/3//lib/libqt-mt.so.3
No symbol table info available.
#12 0x40bf65d0 in QApplication::notify(QObject*, QEvent*) ()
  from /usr/qt/3//lib/libqt-mt.so.3
No symbol table info available.
#13 0x40b967d7 in QETWidget::translateKeyEvent(_XEvent const*, bool) ()
  from /usr/qt/3//lib/libqt-mt.so.3
No symbol table info available.
#14 0x40b9270b in QApplication::x11ProcessEvent(_XEvent*) ()
  from /usr/qt/3//lib/libqt-mt.so.3
 ---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#15 0x40ba7bc8 in QEventLoop::processEvents(unsigned) ()
  from /usr/qt/3//lib/libqt-mt.so.3
No symbol table info available.
#16 0x40c0891f in QEventLoop::enterLoop() () from 
/usr/qt/3//lib/libqt-mt.so.3
No symbol table info available.
#17 0x40bf6f80 in QApplication::enter_loop() ()
  from /usr/qt/3//lib/libqt-mt.so.3
No symbol table info available.
#18 0x40763f8f in MythDialog::exec() (this=0x81c3d38) at mythdialogs.cpp:650
       res = 1081491220
#19 0x08068bc4 in RunMenu(QString) (themedir=
     {static null = {static null = <same as static member of an already seen 
type>, d = 0x8180c30, static shared_null =
0x8180c30}, d = 0x81c8cc8, static shared_null = 0x8180c30}) at main.cpp:433
       exitstatus = 0
#20 0x0806c712 in main (argc=1, argv=0xbffffba4) at main.cpp:789
       lcd_host = {static null = {
   static null = <same as static member of an already seen type>,
   d = 0x8180c30, static shared_null = 0x8180c30}, d = 0x81c3368,
 static shared_null = 0x8180c30}
       lcd_port = 13666
       a = <incomplete type>
 ---Type <return> to continue, or q <return> to quit---
       translator = <incomplete type>
       logfile = {static null = {
   static null = <same as static member of an already seen type>,
   d = 0x8180c30, static shared_null = 0x8180c30}, d = 0x81965d8,
 static shared_null = 0x8180c30}
       verboseString = {static null = {
   static null = <same as static member of an already seen type>,
   d = 0x8180c30, static shared_null = 0x8180c30}, d = 0x81965f0,
 static shared_null = 0x8180c30}
       pluginname = {static null = {
   static null = <same as static member of an already seen type>,
   d = 0x8180c30, static shared_null = 0x8180c30}, d = 0x8196608,
 static shared_null = 0x8180c30}
       binname = {static null = {
   static null = <same as static member of an already seen type>,
   d = 0x8180c30, static shared_null = 0x8180c30}, d = 0x8196620,
 static shared_null = 0x8180c30}
       logfd = -1
       db = (struct QSqlDatabase *) 0x81aa1a0
       themename = {static null = {
   static null = <same as static member of an already seen type>,
   d = 0x8180c30, static shared_null = 0x8180c30}, d = 0x81c8e18,
 static shared_null = 0x8180c30}
 ---Type <return> to continue, or q <return> to quit---
       randomtheme = false
       themedir = {static null = {
   static null = <same as static member of an already seen type>,
   d = 0x8180c30, static shared_null = 0x8180c30}, d = 0x81c8cc8,
 static shared_null = 0x8180c30}
       mainWindow = (class MythMainWindow *) 0x81bb710
       exitstatus = 135808656
#21 0x4119b8d1 in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#0  0x411fee9d in memset () from /lib/libc.so.6
(gdb) exit
Undefined command: "exit".  Try "help".
(gdb) quit 



More information about the mythtv-users mailing list