[mythtv-users] 0.22RC1 core dump
kbass at kenbass.com
Mon Oct 19 01:55:42 UTC 2009
Trying to use firewire with Motorola 6200.
I added my SD channel lineup and I typed in a random channel which
happened to be one of those 'Music Choice' channels. That consists of a
still image and streaming music. I imagine this is some odd type of
channel. However, selecting it caused the backend to crash with a
Floating Point Error.
I believe when selecting Watch TV, the frontend printed ' Error opening
jump program file buffer'.
Oct 18 16:45:22 spare kernel: mythbackend trap divide error
ip:7f2fc62a05a0 sp:7f2f86bfc868 error:0 in
Basically on line 349 of recorderbase.cpp, it divides by m_videoHeight
which is not checked for 0.
I recompiled with debug enabled and got the following:
#0 0x00007fc901f045a0 in RecorderBase::AspectChange
(this=0x7fc8f000ab30, aspect=1, frame=0) at recorderbase.cpp:349
#1 0x00007fc901f0d855 in DTVRecorder::FindMPEG2Keyframes
(this=0x7fc8f000ab30, tspacket=<value optimized out>) at dtvrecorder.cpp:323
#2 0x00007fc901f4f4ab in FirewireRecorder::ProcessTSPacket
(this=0x7fc8f000ab30, tspacket=@0x7fc8bdadd00c) at firewirerecorder.cpp:144
#3 0x00007fc901f59402 in FirewireDevice::BroadcastToListeners
(this=0x15eedb0, data=0x7fc8bdadd00c <Address 0x7fc8bdadd00c out of
bounds>, dataSize=188) at firewiredevice.cpp:315
#4 0x00007fc901f74a55 in linux_firewire_device_tspacket_handler
(tspacket=0x7fc8bdadd00c <Address 0x7fc8bdadd00c out of bounds>,
len=188, dropped=<value optimized out>,
callback_data=0x50) at linuxfirewiredevice.cpp:1002
#5 0x00000031f8208bbf in ?? () from /usr/lib64/libiec61883.so.0
#6 0x0000003aa180a310 in ?? () from /usr/lib64/libraw1394.so.11
#7 0x0000003aa1808ec8 in fw_loop_iterate () from
#8 0x00007fc901f72eb2 in LinuxFirewireDevice::RunPortHandler
(this=0x15eedb0) at linuxfirewiredevice.cpp:674
#9 0x00007fc901f74089 in linux_firewire_device_port_handler_thunk
(param=0x7fc8f000ab30) at linuxfirewiredevice.cpp:605
#10 0x00007fc8fe9c086a in start_thread () from /lib64/libpthread.so.0
#11 0x0000003aa10de3bd in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()
This created a 0 length mpg file in the storage directory. Now it seems
impossible to delete this file. Selecting delete and answer Yes, delete
it, does nothing. The follow is printed by the frontend. (Not local?
Why?) Is the zero size causing it to think it is remote so it does not
delete it or something?
2009-10-18 21:36:58.951 Connected to database 'mythconverg' at host:
2009-10-18 21:36:58.955 Preview Error: Previewer file
'/mnt/store/1426_20091018213523.mpg' is not valid.
2009-10-18 21:36:58.955 Preview Error: Run() file not local:
2009-10-18 21:36:58.968 Preview Error: Preview process not ok.
exists: 0 readable: 0 size: 0
Once this core dump happens, mythtv, being so smart, saves this bad
channel into the 'starting channel' so the next run of the mythbackend
tunes to this bad channel. The way to reset seems to be to run
mythtv-setup and manually change the starting channel. What happened to
the 0.20 option of forcing the starting channel to be a known channel
every time rather than the last?
More information about the mythtv-users