[mythtv] Mythfrontend Heap Corruption When Changing Channels w/XvMC
Donald Oakes
donald at oakesville.com
Fri Apr 29 06:48:04 UTC 2005
Hello,
Whenever I change channels I'm getting glibc errors which shut down
mythfrontend.
I'm running Myth 0.18 built from tarred source on Fedora Core 3 using
XvMC with NVidia's driver version 1.0-7174. I'm using firewire with
6200ch, but the errors occur regardless of whether I change channels
through Myth or through my STB's remote. This problem is very
repeatable when switching between HD channels while running with XvMC.
I've rebuilt with debug symbols and appended my gdb output below. Any
advice would be greatly appreciated.
Many Thanks,
- Don
[donald at mythbox mythtv-0.18]$ gdb mythfrontend
malloc: using debugging hooks
GNU gdb Red Hat Linux (6.1post-1.20040607.43rh)
Copyright 2004 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 "i386-redhat-linux-gnu"...Using host
libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) run
Starting program: /usr/local/bin/mythfrontend
malloc: using debugging hooks
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0xffffe000
[Thread debugging using libthread_db enabled]
[New Thread -1220991296 (LWP 18893)]
malloc: using debugging hooks
2005-04-28 23:40:33.913 New DB connection, total: 1
Total desktop width=1280, height=1024, numscreens=1
2005-04-28 23:40:33.931 Using screen 0, 1280x1024 at 0,0
[New Thread -1223607376 (LWP 18897)]
Program received signal SIG33, Real-time event 33.
[Switching to Thread -1223607376 (LWP 18897)]
0x4fc23fd8 in clone () from /lib/tls/libc.so.6
(gdb) continue
Continuing.
2005-04-28 23:40:35.815 mythfrontend version: 0.18.20050409-1 www.mythtv.org
2005-04-28 23:40:35.816 Enabled verbose msgs : important general
2005-04-28 23:40:36.354 Switching to square mode (G.A.N.T.)
[New Thread -1233425488 (LWP 18899)]
2005-04-28 23:40:36.929 Joystick disabled.
[Thread -1233425488 (LWP 18899) exited]
2005-04-28 23:40:36.977 Registering Internal as a media playback plugin.
2005-04-28 23:40:37.006 Registering MythDVD DVD Media Handler as a media
handler2005-04-28 23:40:37.006 Registering MythDVD VCD Media Handler as
a media handler2005-04-28 23:40:40.833 New DB connection, total: 2
[New Thread -1233425488 (LWP 18902)]
2005-04-28 23:40:40.857 Connecting to backend server: 127.0.0.1:6543
(try 1 of 5)
2005-04-28 23:40:40.865 Using protocol version 15
2005-04-28 23:40:40.898 Using protocol version 15
[New Thread -1336886352 (LWP 18907)]
[New Thread -1345279056 (LWP 18908)]
adding pes stream at pid 0x27 with type 2
adding pes stream at pid 0x24 with type 129
2005-04-28 23:40:42.153 Opening audio device '/dev/dsp'.
2005-04-28 23:40:42.153 Opening OSS audio device '/dev/dsp'.
[New Thread -1412269136 (LWP 18910)]
Using XvMC version: 1.0
XvMC found and using IDCT surface
2005-04-28 23:40:42.172 Using XV port 177
[New Thread -1491780688 (LWP 18911)]
2005-04-28 23:40:42.806 Realtime priority would require SUID as root.
XvMC: picture structure FRAME
2005-04-28 23:40:42.828 Changing from None to WatchingLiveTV
2005-04-28 23:40:42.914 Video timing method: USleep with busy wait
av_remove_stream 0x24
adding pes stream at pid 0x21 with type 2
closing filter for pid 0x27
av_remove_stream 0x27
streams_changed()
2005-04-28 23:40:50.660 streams_changed() -- stream count 1
*** glibc detected *** free(): invalid pointer: 0x08519c10 ***
Program received signal SIGABRT, Aborted.
[Switching to Thread -1336886352 (LWP 18907)]
0xffffe410 in __kernel_vsyscall ()
(gdb) thread apply all bt full
Thread 8 (Thread -1491780688 (LWP 18911)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0x4fda6cfc in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib/tls/libpthread.so.0
No symbol table info available.
#2 0x416c23ad in QWaitCondition::wait ()
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#3 0xb7c0a897 in NuppelVideoPlayer::OutputVideoLoop (this=0x828dee0)
at NuppelVideoPlayer.cpp:1607
frame = (VideoFrame *) 0x82ea608
temp_speed = 1
fr_int = 33366
#4 0xb7c0b05a in NuppelVideoPlayer::kickoffOutputVideoLoop
(player=0x828dee0)
at NuppelVideoPlayer.cpp:1703
nvp = (NuppelVideoPlayer *) 0x828dee0
#5 0x4fda4341 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#6 0x4fc23fee in clone () from /lib/tls/libc.so.6
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
Thread 7 (Thread -1412269136 (LWP 18910)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0x4fbe71a6 in __nanosleep_nocancel () from /lib/tls/libc.so.6
No symbol table info available.
#2 0x4fc1d31a in usleep () from /lib/tls/libc.so.6
No symbol table info available.
#3 0xb7662fd4 in AudioOutputBase::OutputAudioLoop (this=0xabd28008)
at audiooutputbase.cpp:711
space_on_soundcard = 61644
last_space_on_soundcard = 61644
zeros = "\000"
fragment = "\uffff\002"
e = {<QCustomEvent> = {<> = {<No data fields>}, d = 0x0},
error_msg = 0x0, elasped_seconds = 0, written_bytes = 0, brate = 0,
freq = 1099347456, prec = 1203, chan = 0}
#4 0xb76648af in AudioOutputBase::kickoffOutputAudioLoop
(player=0xabd28008)
at audiooutputbase.cpp:872
No locals.
#5 0x4fda4341 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#6 0x4fc23fee in clone () from /lib/tls/libc.so.6
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
Thread 6 (Thread -1345279056 (LWP 18908)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0x4fc1ca51 in ___newselect_nocancel () from /lib/tls/libc.so.6
No symbol table info available.
#2 0x41625b54 in QSocketDevice::waitForMore ()
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#3 0xb758e55c in RemoteFile::Read (this=0x8271908, data=0xaf2d7008,
size=256000) at remotefile.cpp:263
recv = 0
sent = 256000
zerocnt = 1
strlist = {<QValueList<QString>> = {sh = 0x82ecc18}, <No data
fields>}
error = false
response = false
#4 0xb7c94fae in RingBuffer::safe_read (this=0x8279408, rf=0x8271908,
data=0xaf2d7008, sz=256000) at RingBuffer.cpp:634
ret = 0
#5 0xb7c95ced in RingBuffer::ReadAheadThread (this=0x8279408)
at RingBuffer.cpp:853
totfree = 256000
---Type <return> to continue, or q <return> to quit---
ret = 256000
used = 282625
#6 0xb7c95a23 in RingBuffer::startReader (type=0x8279408)
at RingBuffer.cpp:792
rbuffer = (RingBuffer *) 0x8279408
#7 0x4fda4341 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#8 0x4fc23fee in clone () from /lib/tls/libc.so.6
No symbol table info available.
Thread 5 (Thread -1336886352 (LWP 18907)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0x4fb847d5 in raise () from /lib/tls/libc.so.6
No symbol table info available.
#2 0x4fb86149 in abort () from /lib/tls/libc.so.6
No symbol table info available.
#3 0x4fbb827a in __libc_message () from /lib/tls/libc.so.6
No symbol table info available.
#4 0x4fbc351b in free_check () from /lib/tls/libc.so.6
No symbol table info available.
#5 0x4fbbede5 in free () from /lib/tls/libc.so.6
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#6 0xb7782228 in av_free (ptr=0x0) at mem.c:123
No locals.
#7 0xb7a1efc0 in av_destruct_packet (pkt=0x82ec610) at utils.c:172
No locals.
#8 0xb7d28273 in av_free_packet (pkt=0x82ec610) at avformat.h:71
No locals.
#9 0xb7d30740 in AvFormatDecoder::GetFrame (this=0xaf219008, onlyvideo=0)
at avformatdecoder.cpp:1657
curstream = (AVStream *) 0x8519e50
pkt = (AVPacket *) 0x82ec610
ret = 184
ptr = (unsigned char *) 0x8519cc8 ""
firstloop = true
have_err = false
storevideoframes = false
len = 0
data_size = 0
pts = 83565740
allowedquit = false
skipaudio = true
#10 0xb7c0649b in NuppelVideoPlayer::GetFrame (this=0x828dee0, onlyvideo=0,
unsafe=false) at NuppelVideoPlayer.cpp:843
No locals.
---Type <return> to continue, or q <return> to quit---
#11 0xb7c0c505 in NuppelVideoPlayer::StartPlaying (this=0x828dee0)
at NuppelVideoPlayer.cpp:2023
output_video = 2803186608
decoder_thread = 2958080944
pausecheck = 0
#12 0xb7cbbe43 in SpawnDecode (param=0x828dee0) at tv_play.cpp:210
nvp = (NuppelVideoPlayer *) 0x828dee0
#13 0x4fda4341 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#14 0x4fc23fee in clone () from /lib/tls/libc.so.6
No symbol table info available.
Thread 4 (Thread -1233425488 (LWP 18902)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0x4fbe71a6 in __nanosleep_nocancel () from /lib/tls/libc.so.6
No symbol table info available.
#2 0x4fc1d31a in usleep () from /lib/tls/libc.so.6
No symbol table info available.
#3 0xb7cc3969 in TV::RunTV (this=0x829aa30) at tv_play.cpp:1131
keypressed = (QKeyEvent *) 0x82984a0
updatecheck = 3
#4 0xb7cc3281 in TV::EventThread (param=0x829aa30) at tv_play.cpp:1072
---Type <return> to continue, or q <return> to quit---
thetv = (class TV *) 0x829aa30
#5 0x4fda4341 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#6 0x4fc23fee in clone () from /lib/tls/libc.so.6
No symbol table info available.
Thread 2 (Thread -1223607376 (LWP 18897)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0x4fda6a86 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib/tls/libpthread.so.0
No symbol table info available.
#2 0x416c22e1 in QWaitCondition::wait ()
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#3 0xb757a7dd in MythContext::waitPrivRequest (this=0x8197f28)
at mythcontext.cpp:2356
No locals.
#4 0x0806d873 in run_priv_thread (data=0x0) at main.cpp:663
No locals.
#5 0x4fda4341 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#6 0x4fc23fee in clone () from /lib/tls/libc.so.6
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
Thread 1 (Thread -1220991296 (LWP 18893)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0x4fbe71a6 in __nanosleep_nocancel () from /lib/tls/libc.so.6
No symbol table info available.
#2 0x4fc1d31a in usleep () from /lib/tls/libc.so.6
No symbol table info available.
#3 0x0806ae9b in startTV () at main.cpp:310
tv = (class TV *) 0x829aa30
timer = {ds = 85240887}
tryTV = false
tryRecorder = false
quitAll = false
showDialogs = true
#4 0x0806b009 in TVMenuCallback (data=0x8197f28, selection=@0x828a220)
at main.cpp:348
sel = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x8279890,
static shared_null = 0x8158610}
#5 0xb75baee5 in ThemedMenuPrivate::handleAction (this=0x828a128,
---Type <return> to continue, or q <return> to quit---
action=@0x8299160) at themedmenu.cpp:2464
No locals.
#6 0xb75b9359 in ThemedMenuPrivate::keyPressHandler (this=0x828a128,
e=0xbfffe990) at themedmenu.cpp:2293
it = {node = 0x8299158}
action = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x826fbc8,
static shared_null = 0x8158610}
i = 0
lastbutton = (ThemedButton *) 0x828a660
oldrow = 0
handled = true
actions = {<QValueList<QString>> = {sh = 0x82796e8}, <No data
fields>}
#7 0xb75bc5ac in ThemedMenu::keyPressEvent (this=0x8277978, e=0xbfffe990)
at themedmenu.cpp:2658
No locals.
#8 0x4146339f in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#9 0x413ce539 in QApplication::internalNotify ()
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#10 0x413ceb4c in QApplication::notify ()
---Type <return> to continue, or q <return> to quit---
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#11 0x41364610 in QETWidget::translateKeyEvent ()
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#12 0x4136b82f in QApplication::x11ProcessEvent ()
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#13 0x4137e1a6 in QEventLoop::processEvents ()
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#14 0x413e3b85 in QEventLoop::enterLoop ()
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#15 0x413cd761 in QApplication::enter_loop ()
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
No symbol table info available.
#16 0xb7626959 in MythDialog::exec (this=0x8277978) at mythdialogs.cpp:945
res = -1218287390
#17 0x0806be42 in RunMenu (themedir=
{static null = {static null = <same as static member of an already
seen type>, d = 0x8158610, static shared_null = 0x8158610}, d =
0x81b37b0, static shared_null = 0x8158610}) at main.cpp:504
---Type <return> to continue, or q <return> to quit---
exitstatus = 0
#18 0x080713ba in main (argc=1, argv=0xbffff254) at main.cpp:1077
geometry = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x8169580,
static shared_null = 0x8158610}
a = <incomplete type>
logfile = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x819acd8,
static shared_null = 0x8158610}
finfo = {fn = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x819acf8,
static shared_null = 0x8158610}, fic = 0x0, cache = true, symLink =
false}
logfd = -1
fileprefix = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x819b6d0,
static shared_null = 0x8158610}
themename = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x8217c78,
---Type <return> to continue, or q <return> to quit---
static shared_null = 0x8158610}
randomtheme = false
verboseString = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x8198208,
static shared_null = 0x8158610}
status = 0
mainWindow = (class MythMainWindow *) 0x8212ea8
pmanager = (MythPluginManager *) 0x8271608
lcd_host = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x819ed70,
static shared_null = 0x8158610}
pluginname = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x8198238,
static shared_null = 0x8158610}
binname = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x81980d8,
static shared_null = 0x8158610}
priv_thread = 3071359920
themedir = {static null = {
---Type <return> to continue, or q <return> to quit---
static null = <same as static member of an already seen type>,
d = 0x8158610, static shared_null = 0x8158610}, d = 0x81b37b0,
static shared_null = 0x8158610}
exitstatus = 6646904
mon = (class MediaMonitor *) 0x0
lcd_port = 13666
dir = <incomplete type>
#0 0xffffe410 in __kernel_vsyscall ()
More information about the mythtv-dev
mailing list