[mythtv] Core dump in CVS

Brian Foddy bfoddy at visi.com
Wed Mar 5 23:04:15 EST 2003


Well some intense retesting finally produced a few repeatable coredumps.
The attached file shows the bt with listing and variable prints.

Seems its in
203         usleep(50000);
204
205         int avail = sock->bytesAvailable();
206         char *trash = new char[avail + 1];
207         sock->readBlock(trash, avail);
208         delete [] trash;
209
210         strlist = QString(query).arg(recordernum);
211         strlist << "SEEK" + append;

dieing in readBlock with avail usually in the range of 118000.

There are still others that look quite random so far, but at least 
I've got 4 that look the same.  

Hope this helps.  I have the full core files if you want one.

Brian

On Wednesday 05 March 2003 10:11 am, Isaac Richards wrote:
> On Tuesday 04 March 2003 10:45 pm, Brian Foddy wrote:
> > I'm starting to wonder if this might be some reentrant / multi-threaded
> > bad behavior.  The machine is a 2 cpu Pentium II-450.  Will I get
> > enough debug info if I turn on the full optimization with the -g flag?
> > I'd really like to get the resolution back up a bit.
>
> Hmm.. what version of Qt are you using?  It could very well be a
> concurrancy issue in the QSocket stuff.
>
> Isaac
>
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at snowman.net
> http://www.snowman.net/mailman/listinfo/mythtv-dev
-------------- next part --------------
core.7140
#0  0x405b6f13 in QSocket::consumeReadBuf(unsigned long, char*) () from /usr/lib/qt3/lib/libqt-mt.so.3
(gdb) bt
#0  0x405b6f13 in QSocket::consumeReadBuf(unsigned long, char*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#1  0x405b777f in QSocket::readBlock(char*, unsigned long) () from /usr/lib/qt3/lib/libqt-mt.so.3
#2  0x40089a48 in RemoteFile::Seek(long long, int, long long) (this=0x83a48e8, pos=-12, whence=1, curpos=13961886)
    at remotefile.cpp:207
#3  0x0810c643 in RingBuffer::Seek(long long, int) (this=0x83c7bd8, pos=-12, whence=1) at RingBuffer.cpp:638
#4  0x080c85e1 in NuppelVideoPlayer::GetFrame(int, bool) (this=0x42a00008, onlyvideo=0, unsafe=false) at NuppelVideoPlayer.cpp:1133
#5  0x080ca97f in NuppelVideoPlayer::StartPlaying() (this=0x42a00008) at NuppelVideoPlayer.cpp:2162
#6  0x0811cf8f in SpawnDecode(void*) (param=0x42a00008) at tv_play.cpp:49
#7  0x408176c1 in pthread_exit () from /lib/i686/libpthread.so.0

202
203         usleep(50000);
204
205         int avail = sock->bytesAvailable();
206         char *trash = new char[avail + 1];
207         sock->readBlock(trash, avail);
208         delete [] trash;
209
210         strlist = QString(query).arg(recordernum);
211         strlist << "SEEK" + append;
(gdb) print avail
$1 = 118710
(gdb) print trash
$2 = 0x84b2188 "EÀ"



core.7209
#0  0x405b6f13 in QSocket::consumeReadBuf(unsigned long, char*) () from /usr/lib/qt3/lib/libqt-mt.so.3
(gdb) bt
#0  0x405b6f13 in QSocket::consumeReadBuf(unsigned long, char*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#1  0x405b777f in QSocket::readBlock(char*, unsigned long) () from /usr/lib/qt3/lib/libqt-mt.so.3
#2  0x40089a48 in RemoteFile::Seek(long long, int, long long) (this=0x83b9018, pos=-12, whence=1, curpos=322856321)
    at remotefile.cpp:207
#3  0x0810c643 in RingBuffer::Seek(long long, int) (this=0x83bfa10, pos=-12, whence=1) at RingBuffer.cpp:638
#4  0x080c85e1 in NuppelVideoPlayer::GetFrame(int, bool) (this=0x428e7008, onlyvideo=0, unsafe=false) at NuppelVideoPlayer.cpp:1133
#5  0x080ca97f in NuppelVideoPlayer::StartPlaying() (this=0x428e7008) at NuppelVideoPlayer.cpp:2162
#6  0x0811cf8f in SpawnDecode(void*) (param=0x428e7008) at tv_play.cpp:49
#7  0x408176c1 in pthread_exit () from /lib/i686/libpthread.so.0
(gdb) up
#1  0x405b777f in QSocket::readBlock(char*, unsigned long) () from /usr/lib/qt3/lib/libqt-mt.so.3
(gdb) up
#2  0x40089a48 in RemoteFile::Seek(long long, int, long long) (this=0x83b9018, pos=-12, whence=1, curpos=322856321)
    at remotefile.cpp:207
207         sock->readBlock(trash, avail);
(gdb) list
202
203         usleep(50000);
204
205         int avail = sock->bytesAvailable();
206         char *trash = new char[avail + 1];
207         sock->readBlock(trash, avail);
208         delete [] trash;
209
210         strlist = QString(query).arg(recordernum);
211         strlist << "SEEK" + append;
(gdb) print avail
$1 = 122949
(gdb) print trash
$2 = 0x45800018 "\b1"



core.428
#0  0x405b6f13 in QSocket::consumeReadBuf(unsigned long, char*) () from /usr/lib/qt3/lib/libqt-mt.so.3
(gdb) bt
#0  0x405b6f13 in QSocket::consumeReadBuf(unsigned long, char*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#1  0x405b777f in QSocket::readBlock(char*, unsigned long) () from /usr/lib/qt3/lib/libqt-mt.so.3
#2  0x40089a48 in RemoteFile::Seek(long long, int, long long) (this=0x83ab3e8, pos=-12, whence=1, curpos=113420074)
    at remotefile.cpp:207
#3  0x0810c643 in RingBuffer::Seek(long long, int) (this=0x83be340, pos=-12, whence=1) at RingBuffer.cpp:638
#4  0x080c85e1 in NuppelVideoPlayer::GetFrame(int, bool) (this=0x430e7008, onlyvideo=0, unsafe=false) at NuppelVideoPlayer.cpp:1133
#5  0x080ca97f in NuppelVideoPlayer::StartPlaying() (this=0x430e7008) at NuppelVideoPlayer.cpp:2162
#6  0x0811cf8f in SpawnDecode(void*) (param=0x430e7008) at tv_play.cpp:49
#7  0x408176c1 in pthread_exit () from /lib/i686/libpthread.so.0
(gdb) up
#1  0x405b777f in QSocket::readBlock(char*, unsigned long) () from /usr/lib/qt3/lib/libqt-mt.so.3
(gdb) up
#2  0x40089a48 in RemoteFile::Seek(long long, int, long long) (this=0x83ab3e8, pos=-12, whence=1, curpos=113420074)
    at remotefile.cpp:207
207         sock->readBlock(trash, avail);
(gdb) list
202
203         usleep(50000);
204
205         int avail = sock->bytesAvailable();
206         char *trash = new char[avail + 1];
207         sock->readBlock(trash, avail);
208         delete [] trash;
209
210         strlist = QString(query).arg(recordernum);
211         strlist << "SEEK" + append;
(gdb) print avail
$1 = 116522
(gdb) print trash
$2 = 0x44760de0 "iü\017þ\017þó\001ó\001(\004(\004¯\001¯\001týtý-ý-ý§ÿ§ÿ2"




core.7459
#0  0x405b6f13 in QSocket::consumeReadBuf(unsigned long, char*) () from /usr/lib/qt3/lib/libqt-mt.so.3
(gdb) bt
#0  0x405b6f13 in QSocket::consumeReadBuf(unsigned long, char*) () from /usr/lib/qt3/lib/libqt-mt.so.3
#1  0x405b777f in QSocket::readBlock(char*, unsigned long) () from /usr/lib/qt3/lib/libqt-mt.so.3
#2  0x40089a48 in RemoteFile::Seek(long long, int, long long) (this=0x83ab510, pos=-12, whence=1, curpos=131978392)
    at remotefile.cpp:207
#3  0x0810c643 in RingBuffer::Seek(long long, int) (this=0x83c7bd8, pos=-12, whence=1) at RingBuffer.cpp:638
#4  0x080c85e1 in NuppelVideoPlayer::GetFrame(int, bool) (this=0x42a00008, onlyvideo=0, unsafe=false) at NuppelVideoPlayer.cpp:1133
#5  0x080ca97f in NuppelVideoPlayer::StartPlaying() (this=0x42a00008) at NuppelVideoPlayer.cpp:2162
#6  0x0811cf8f in SpawnDecode(void*) (param=0x42a00008) at tv_play.cpp:49
#7  0x408176c1 in pthread_exit () from /lib/i686/libpthread.so.0
(gdb) up
#1  0x405b777f in QSocket::readBlock(char*, unsigned long) () from /usr/lib/qt3/lib/libqt-mt.so.3
(gdb) up
#2  0x40089a48 in RemoteFile::Seek(long long, int, long long) (this=0x83ab510, pos=-12, whence=1, curpos=131978392)
    at remotefile.cpp:207
207         sock->readBlock(trash, avail);
(gdb) list
202
203         usleep(50000);
204
205         int avail = sock->bytesAvailable();
206         char *trash = new char[avail + 1];
207         sock->readBlock(trash, avail);
208         delete [] trash;
209
210         strlist = QString(query).arg(recordernum);
211         strlist << "SEEK" + append;
(gdb) print avail
$1 = 118204
(gdb) print trash
$2 = 0x84d2350 "ÿ;%4c\037<]øà\001"



More information about the mythtv-dev mailing list