[mythtv-users] mythtranscode dies when run from mytharchive/mythburn, runs fine from the shell

Aran Cox spin667 at mchsi.com
Fri Aug 4 20:24:13 UTC 2006


Using a recent SVN with mytharchive I have a problem where
mythtranscode crashes while running under mytharchive/mythburn.
mythtranscode actually finishes, but crashes in the destructor for
QApplication.  mytharchive just warns that it wasn't able to run
mythtranscode on the file and goes happily on it's way.

The exact same invocation of mythtranscode from the CLI works fine.
Lossless mpeg2 transcoding works fine from within mythtv as well (the
High Quality transcoding profile on my system is just mpeg2->mpeg2.)

The relevant bits are of the mythburn.log are:

*************************************************************
Processing file Justice_League_Unlimited_-_2006-02-25,_9-29_PM_-_Patriot_Act.mpg of type recording
*************************************************************
File type is 'mpeg'
Video codec is 'mpeg2video'
Running mythtranscode --mpeg2 to fix any errors
2006-08-02 11:50:52.920 Using runtime prefix = /usr/local
2006-08-02 11:50:53.059 New DB connection, total: 1
2006-08-02 11:50:53.070 Enabled verbose msgs: important
2006-08-02 11:50:53.075 New DB connection, total: 2
Mux rate: 6.49 Mbit/s
ICE default IO error handler doing an exit(), pid = 27464, errno = 32
Failed while running mythtranscode to cut commercials and/or clean up an mpeg2 file.
Result: 256, Command was mythtranscode --mpeg2 -c 1053 -s 2006-02-25T21:29:00 -o /tmp/work/1/newfile.mpg
Failed to run mythtranscode to fix any errors

The real issue is the above "ICE default IO error handler doing an
exit()" message.  I actually built a debug version and did a
backtrace...

Program received signal SIGPIPE, Broken pipe.
[Switching to Thread -1208248640 (LWP 24711)]
0x008e4402 in __kernel_vsyscall ()
(gdb) bt
#0  0x008e4402 in __kernel_vsyscall ()
#1  0x0300019b in __write_nocancel () from /lib/libpthread.so.0
#2  0x03054341 in _IceTransFreeConnInfo () from /usr/X11R6/lib/libICE.so.6
#3  0x03054551 in _IceTransWrite () from /usr/X11R6/lib/libICE.so.6
#4  0x0304d497 in _IceWrite () from /usr/X11R6/lib/libICE.so.6
#5  0x0304d570 in IceFlush () from /usr/X11R6/lib/libICE.so.6
#6  0x02f9e6c6 in SmcCloseConnection () from /usr/X11R6/lib/libSM.so.6
#7  0x01f3302c in QSessionManager::~QSessionManager$delete () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#8  0x01fab39e in QApplication::~QApplication () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#9  0x08059b11 in main (argc=8, argv=0xbf8df2a4) at main.cpp:535

Essentially when a (the QApplication) is destroyed implicitly at the
end of main the it tries to write to a pipe which is in
/tmp/.ICE-unix/$pid$ but closed for some reason.  Why this isn't the
case when it's run from within mythtv or from the CLI, I have no idea.

Any suggestions?



More information about the mythtv-users mailing list