Opened 16 years ago
Closed 15 years ago
#5479 closed defect (fixed)
mythtranscode crashes on Ubuntu 8.04 amd64 svn 17644
Reported by: | Owned by: | Isaac Richards | |
---|---|---|---|
Priority: | minor | Milestone: | 0.22 |
Component: | mythtv | Version: | head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
When transcoding from MPEG2 to MPEG2 with a cutlist, it crashes. Without a cutlist, it does not. A crash dump from the mythbackend log is attached - it has been doing this for a few days now (can't be sure quite when it started).
Attachments (1)
Change History (7)
Changed 16 years ago by
Attachment: | transcode.crash added |
---|
comment:1 Changed 16 years ago by
Managed to get GDB backtrace -appended below.
Program received signal SIGABRT, Aborted. [Switching to Thread 0x7f44275cb7e0 (LWP 15158)] 0x00007f442d9c9095 in raise () from /lib/libc.so.6 (gdb) bt #0 0x00007f442d9c9095 in raise () from /lib/libc.so.6 #1 0x00007f442d9caaf0 in abort () from /lib/libc.so.6 #2 0x00007f442da03a7b in ?? () from /lib/libc.so.6 #3 0x00007f442da0ba14 in ?? () from /lib/libc.so.6 #4 0x00007f442da0d360 in malloc () from /lib/libc.so.6 #5 0x00007f442e24c5ed in operator new () from /usr/lib/libstdc++.so.6 #6 0x00007f442fcbfcaa in Q3GListIterator::Q3GListIterator ()
from /usr/lib/libQt3Support.so.4
#7 0x000000000042921b in MPEG2fixup::RenumberFrames? () #8 0x000000000043e549 in MPEG2fixup::Start () #9 0x00000000004179cb in main () (gdb)
comment:2 Changed 16 years ago by
Managed to compile it with -g and disabling the no-frame-pointer stuff, back trace now looks like this -
(gdb) bt #0 0x00007fc7c7aff095 in raise () from /lib/libc.so.6 #1 0x00007fc7c7b00af0 in abort () from /lib/libc.so.6 #2 0x00007fc7c7b39a7b in ?? () from /lib/libc.so.6 #3 0x00007fc7c7b41a14 in ?? () from /lib/libc.so.6 #4 0x00007fc7c7b43360 in malloc () from /lib/libc.so.6 #5 0x00007fc7c83825ed in operator new () from /usr/lib/libstdc++.so.6 #6 0x00007fc7c9df5f97 in ?? () from /usr/lib/libQt3Support.so.4 #7 0x00007fc7c9df60cf in ?? () from /usr/lib/libQt3Support.so.4 #8 0x00007fc7c9df5c89 in Q3GListIterator::Q3GListIterator ()
from /usr/lib/libQt3Support.so.4
#9 0x000000000043c84f in Q3PtrListIterator (this=0x7fffd7a2a9c0,
l=@0x7fc7bc01c250) at /usr/include/qt4/Qt3Support/q3ptrlist.h:167
#10 0x000000000043135d in MPEG2fixup::RenumberFrames? (this=0x7fc7bc01b420,
start_pos=1, delta=-1) at mpeg2fix.cpp:1482
#11 0x0000000000436148 in MPEG2fixup::Start (this=0x7fc7bc01b420)
at mpeg2fix.cpp:2080
#12 0x0000000000413c64 in main (argc=7, argv=0x7fffd7a2c5d8) at main.cpp:617 (gdb) quit
If there's anything else I can do, please let me know. Granted the malloc arena corruption happened some time prior to this, but it's curious that a transcode without using a cutlist is fine. It's been a while since I poked C++ with anything other than a sharp stick
comment:3 Changed 15 years ago by
Milestone: | unknown → 0.22 |
---|---|
Status: | new → infoneeded_new |
Can you try the following patch?
Index: mythtv/programs/mythtranscode/mpeg2fix.cpp =================================================================== --- mythtv/programs/mythtranscode/mpeg2fix.cpp (revision 21428) +++ mythtv/programs/mythtranscode/mpeg2fix.cpp (working copy) @@ -1495,9 +1495,12 @@
{
Q3PtrListIterator<MPEG2frame> it (vFrame);
+ if (vFrame.isEmpty()) + return; +
it+= start_pos;
(it.atFirst() && (*it)->isSequence)) |
(it.atFirst() && (*it)->isSequence))) |
{
SetFrameNum?((*it)->framePos,
GetFrameNum?((*it)) + delta);
comment:4 Changed 15 years ago by
Index: mythtv/programs/mythtranscode/mpeg2fix.cpp =================================================================== --- mythtv/programs/mythtranscode/mpeg2fix.cpp (revision 21428) +++ mythtv/programs/mythtranscode/mpeg2fix.cpp (working copy) @@ -1495,9 +1495,12 @@ { Q3PtrListIterator<MPEG2frame> it (vFrame); + if (vFrame.isEmpty()) + return; + it+= start_pos; - while (!it.atLast() || (it.atFirst() && (*it)->isSequence)) + while ((*it) && (!it.atLast() || (it.atFirst() && (*it)->isSequence))) { SetFrameNum((*it)->framePos, GetFrameNum((*it)) + delta);
comment:5 Changed 15 years ago by
Hi,
This one was actually fixed in trunk (which is what I'm running) a while ago.
comment:6 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | infoneeded_new → closed |
Version: | unknown → head |
Reported as already fixed in trunk
Mythbackend log containing crash report