[mythtv] Scheduled recording causes Seg fault

tbaca at heritagewifi.com tbaca at heritagewifi.com
Wed Jan 3 16:48:07 UTC 2007


>Date: Fri, 22 Dec 2006 09:00:45 -0700 (MST)
>From: <tbaca at heritagewifi.com>
>Subject: [mythtv] Scheduled recording causes Seg fault
>To: <mythtv-dev at mythtv.org>
>Message-ID:
>	<53812.15.227.217.75.1166803245.squirrel at mail.heritagewifi.com>
>Content-Type: text/plain; charset=iso-8859-1
>
>I am very new to this list, so please excuse my ignorance as to the
proper approach.  I posted this on the user group but got no response, so
I thought maybe it was better to post it here. I have a PCHDTV 5500 card
running Suse 10.1, Myth 0.20-12. The DVB side works fine.  The S-video is
connected to the output of my Satellite receiver. I am having a problem
scheduling a recording on the S-video. I can watch Live TV on the
Satellite and can even do a manual record, but trying to schedule a
recording fails. In the backend, if I leave the “External channel change
command” for the S-video input blank, I get an error when the scheduler
tries to “change channel” which causes the recorder to fail.   Note that
the channel “Frequency” for there channels is set to NULL
>
>
>2006-12-18 23:10:28.236 DVBChan(0) Warning: Symbol Rate setting (0) is
out of range (min/max:5056941/10762000)
>2006-12-18 23:10:28.266 New DB scheduler connection
>2006-12-18 23:10:28.266 Connected to database 'mythconverg' at host:
localhost Analog is defined, but isn't attached to a cardinput.
>2006-12-18 23:10:28.270 Main::Starting HttpServer
>2006-12-18 23:10:28.277 Main::Registering HttpStatus Extension
>2006-12-18 23:10:28.283 mythbackend version: 0.20.20060828-3 www.mythtv.org
>2006-12-18 23:10:28.283 Enabled verbose msgs: important general
>2006-12-18 23:10:28.284 AutoExpire: Found 1 recorders w/max rate of 138
MiB/min
>2006-12-18 23:10:28.285 AutoExpire: Required Free Space: 4.0 GB w/freq:
10 min
>2006-12-18 23:10:30.297 Reschedule requested for id -1.
>2006-12-18 23:10:30.662 Scheduled 136 items in 0.4 = 0.23 match + 0.14 place
>2006-12-18 23:10:30.666 scheduler: Scheduled items: Scheduled 136 items
in 0.4 = 0.23 match + 0.14 place
>2006-12-18 23:10:30.669 Recording starts soon, AUTO-Startup assumed
>2006-12-18 23:10:30.728 TVRec(7): Changing from None to RecordingOnly
>2006-12-18 23:10:30.730 TVRec(7): HW Tuner: 7->8
>2006-12-18 23:10:30.730 Recreating channel...
>2006-12-18 23:10:30.782 Channel::GetCurrentChannelNum(): Failed to find
Channel ''
>2006-12-18 23:10:30.782 Channel(/dev/video0)::TuneTo(): Error, failed to
find channel.
>2006-12-18 23:10:30.791 Channel::GetCurrentChannelNum(): Failed to find
Channel ''
>2006-12-18 23:10:30.791 Channel(/dev/video0)::TuneTo(): Error, failed to
find channel.
>2006-12-18 23:10:30.791 TVRec(7) Error: Setting start channel '44610'
failed, and backup '35601' failed as well.
>2006-12-18 23:10:30.841 Channel::GetCurrentChannelNum(): Failed to find
Channel ''
>2006-12-18 23:10:30.841 Channel(/dev/video0)::TuneTo(): Error, failed to
find channel.
>2006-12-18 23:10:30.841 TVRec(7) Error: Failed to set channel to 44610.
Reverting to kState_None
>2006-12-18 23:10:30.842 TVRec(7): Changing from RecordingOnly to None
>2006-12-18 23:10:30.849 Canceled recording (Recorder Failed): Lost Worlds
"Jesus' Jerusalem": channel 3130 on cardid 7, sourceid 3
>2006-12-18 23:10:30.853 scheduler: Canceled recording (Recorder Failed):
Lost Worlds "Jesus' Jerusalem": channel 3130 on cardid 7, sourceid 3
>
>
>
>If I put “/bin/true” in the External channel change command for the
S-video input or if I enter a frequency for the channel, all works fine
until the scheduler tries to record something via the s-video. As you see
below, the backend dies with a Segmentation fault.
>
>
>2006-12-18 22:50:51.782 Reschedule requested for id -1.
>2006-12-18 22:50:52.188 Scheduled 136 items in 0.4 = 0.22 match + 0.18 place
>2006-12-18 22:50:52.199 scheduler: Scheduled items: Scheduled 136 items
in 0.4 = 0.22 match + 0.18 place2006-12-18 22:50:52.202 Recording starts
soon, AUTO-Startup assumed
>2006-12-18 22:50:52.281 TVRec(7): Changing from None to RecordingOnly
>2006-12-18 22:50:52.283 TVRec(7): HW Tuner: 7->8
>2006-12-18 22:50:52.283 Recreating channel...
>2006-12-18 22:50:53.342 ret_pid(19714) child(19714) status(0x0)
>2006-12-18 22:50:53.343 External Tuning program exited with no error
>2006-12-18 22:50:54.398 ret_pid(19715) child(19715) status(0x0)
>2006-12-18 22:50:54.399 External Tuning program exited with no error
>2006-12-18 22:50:54.518 Started recording: Engineering an Empire
"Napoleon: Steel Monster": channel 3130 on cardid 7, sourceid 3
>32006-12-18 22:50:54.521 scheduler: Started recording: Engineering an
Empire "Napoleon: Steel Monster": channel 3130 on cardid 7, sourceid 3
>
>Segmentation fault
>
>
>------------------------------
Never tried gdb before, When I attached the file, it was too large, so I
have copied what I hope are the important lines here.  I can mail the file
to anyone who can help.


[New Thread -1375269984 (LWP 25332)]
[New Thread -1433216096 (LWP 25333)]
[New Thread -1416430688 (LWP 25334)]
[New Thread -1424823392 (LWP 25335)]
[New Thread -1442841696 (LWP 25336)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1433216096 (LWP 25333)]
NuppelVideoRecorder::DoV4L2 (this=0x82a29b0) at NuppelVideoRecorder.cpp:1474
1474                            *y_plane++ = *src++;
(gdb) thread apply all bt full

Thread 29 (Thread -1442841696 (LWP 25336)):
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb5f897fb in __write_nocancel () from /lib/libc.so.6
No symbol table info available.
#2  0xb5f3a967 in _IO_new_file_write () from /lib/libc.so.6
No symbol table info available.
#3  0xb5f3a655 in new_do_write () from /lib/libc.so.6
No symbol table info available.
#4  0xb5f3a90f in _IO_new_do_write () from /lib/libc.so.6
No symbol table info available.
#5  0xb5f3b0fd in _IO_new_file_sync () from /lib/libc.so.6
No symbol table info available.
#6  0xb5f3003c in fflush () from /lib/libc.so.6
No symbol table info available.
#7  0xb60aa0a0 in __gnu_cxx::stdio_sync_filebuf<wchar_t,
std::char_traits<wchar_t> >::file () from /usr/lib/libstdc++.so.6
No symbol table info available.
#8  0xb60abaf2 in std::ostream::flush () from /usr/lib/libstdc++.so.6
No symbol table info available.
#9  0xb60abb7d in std::flush<char, std::char_traits<char> > () from
/usr/lib/libstdc++.so.6
No symbol table info available.
#10 0xb60ac7a9 in std::endl<char, std::char_traits<char> > () from
/usr/lib/libstdc++.so.6
No symbol table info available.
#11 0xb7c17324 in NuppelVideoRecorder::doVbiThread (this=0x82a29b0) at
/usr/include/c++/4.1.0/bits/ostream.tcc:72
	dtmp = {d = {jd = 2454103}, t = {ds = 52241052}}
	dtime = {static null = {static null = <same as static member of an
already seen type>, d = 0x813b0c0, static shared_null = 0x813b0c0}, d =
0x82a0748, static shared_null = 0x813b0c0}
	verbose_macro_tmp = <incomplete type>
	vbicallbackdata = {nvr = 0x0, teletextpage = {pgno = 0, subno = 0, lang =
0, flags = 0, errors = 0, lines = 0, data = {'\0' <repeats 39 times>
<repeats 25 times>}, flof = 0, link = {{pgno = 0, subno = 0}, {pgno = 0,
subno = 0}, {pgno = 0, subno = 0}, {pgno = 0, subno = 0}, {pgno = 0,
subno = 0}, {pgno = 0, subno = 0}}}, foundteletextpage = false}
	pal_tt = (vbi *) 0x0
	ntsc_cc = (cc *) 0xac4d7008
	vbifd = 22
	ptr = 0xac4d700c ""
	ptr_end = 0x0
#12 0xb7c18cbd in NuppelVideoRecorder::VbiThread (param=0x82a29b0) at
NuppelVideoRecorder.cpp:2163
No locals.
#13 0xb611034b in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#14 0xb5f9865e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 28 (Thread -1424823392 (LWP 25335)):

…..

Thread 26 (Thread -1433216096 (LWP 25333)):
#0  NuppelVideoRecorder::DoV4L2 (this=0x82a29b0) at
NuppelVideoRecorder.cpp:1474
	src_endline = (uint8_t *) 0xa97ff1e0 ""
	y_plane = (uint8_t *) 0xaa8f8ec0 ""
	cb_plane = (uint8_t *) 0xaa915138 ""
	cr_plane = (uint8_t *) 0xaa92a2b8 ""
	src = (uint8_t *) 0xa97ff000 ""
	vfmt = {type = V4L2_BUF_TYPE_VIDEO_CAPTURE, fmt = {pix = {width = 640,
height = 480, pixelformat = 1448695129, field = V4L2_FIELD_INTERLACED,
bytesperline = 1280, sizeimage = 614400, colorspace = 0, priv = 0}, win =
{w = {left = 640, top = 480, width = 1448695129, height = 4}, field =
1280, chromakey = 614400, clips = 0x0, clipcount = 0, bitmap = 0x0}, vbi
= {sampling_rate = 640, offset = 480, samples_per_line = 1448695129,
sample_format = 4, start = {1280, 614400}, count = {0, 0}, flags = 0,
reserved = {0, 0}}, sliced = {service_set = 640, service_lines = {{0,
480, 0, 21849, 22105, 4, 0, 1280, 0, 24576, 9, 0 <repeats 13 times>}, {0
<repeats 24 times>}}, io_size = 0, reserved = {0, 0}}, raw_data =
"\200\002\000\000à\001\000\000YUYV\004\000\000\000\000\005\000\000\000`\t",
'\0' <repeats 176 times>}}
	vbuf = {index = 0, type = V4L2_BUF_TYPE_VIDEO_CAPTURE, bytesused =
614400, flags = 1, field = V4L2_FIELD_INTERLACED, timestamp = {tv_sec =
1167773441, tv_usec = 132303}, timecode = {type = 0, flags = 0, frames =
0 '\0', seconds = 0 '\0', minutes = 0 '\0', hours = 0 '\0', userbits =
"\000\000\000"}, sequence = 0, memory = V4L2_MEMORY_MMAP, m = {offset =
0, userptr = 0}, length = 614400, input = 0, reserved = 0}
	vrbuf = {count = 5, type = V4L2_BUF_TYPE_VIDEO_CAPTURE, memory =
V4L2_MEMORY_MMAP, reserved = {0, 0}}
	vc = {id = 9963785, value = 0}
	turnon = 1
	tv = {tv_sec = 4, tv_usec = 964000}
	rdset = {fds_bits = {1048576, 0 <repeats 31 times>}}
	forcekey = false
#1  0xb7c1d545 in NuppelVideoRecorder::Open (this=0x82a29b0) at
NuppelVideoRecorder.cpp:950
	driver = {static null = {static null = <same as static member of an
already seen type>, d = 0x813b0c0, static shared_null = 0x813b0c0}, d =
0x849fce0, static shared_null = 0x813b0c0}
	retries = <value optimized out>
	vcap = {driver = "cx8800\000\000\000\000\000\000\000\000\000", card =
"pcHDTV HD5500 HDTV", '\0' <repeats 13 times>, bus_info =
"PCI:0000:05:0a.0", '\0' <repeats 15 times>, version = 5, capabilities =
83951637, reserved = {0, 0, 0, 0}}
#2  0xb7c1fded in NuppelVideoRecorder::StartRecording (this=0x82a29b0) at
NuppelVideoRecorder.cpp:1014
	dtmp = <value optimized out>
	dtime = {static null = {static null = <same as static member of an
already seen type>, d = 0x813b0c0, static shared_null = 0x813b0c0}, d =
0x0, static shared_null = 0x813b0c0}
	verbose_macro_tmp = <incomplete type>
	vc = {name = "\234K\020¶\000\000\000\000 \001\000\000LÒ\222ª
M\020¶`O\020¶XO\020¶Ëô´\001", type = 2048, channels = 12, audios = 9,
maxwidth = 272, maxheight = 17, minwidth = 17, minheight = 0}
	mm = {frame = 2861749296, height = -1208355864, width = -1219744846,
format = 137162070}
	vm = {size = 0, frames = 0, offsets = {0 <repeats 30 times>, 8,
-1433218408}}
	vchan = {channel = 0, name =
"\000\000\000\000\000\000\000\000ô¯û•\220õù•ôÓ\222ª\bÔ\222ªÀø>\bÀø>\b",
tuners = 136885272, flags = 138365340, type = 0, norm = 0}
	va = {audio = 1, volume = 0, bass = 0, treble = 1, flags = 0, name = '\0'
<repeats 15 times>, mode = 0, balance = 0, step = 0}
	vt = {tuner = 0, name = "
\017\000\000Àÿ>\b\000\000\000\000-\000\000\000èóù•PÝ@•p\rE•jeN•",
rangelow = 0, rangehigh = 0, flags = 3050766852, mode = 0, signal = 0}
	channelinput = <value optimized out>
	frame = <value optimized out>
	buf = <value optimized out>
	syncerrors = <value optimized out>
#3  0xb7bb79b1 in TVRec::RecorderThread (param=0x82a29b0) at tv_rec.cpp:1171
No locals.
#4  0xb611034b in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#5  0xb5f9865e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 25 (Thread -1375269984 (LWP 25332)):
….
Thread 21 (Thread -1433216096 (LWP 25333)):
#0  NuppelVideoRecorder::DoV4L2 (this=0x82a29b0) at
NuppelVideoRecorder.cpp:1474
	src_endline = (uint8_t *) 0xa97ff1e0 ""
	y_plane = (uint8_t *) 0xaa8f8ec0 ""
	cb_plane = (uint8_t *) 0xaa915138 ""
	cr_plane = (uint8_t *) 0xaa92a2b8 ""
	src = (uint8_t *) 0xa97ff000 ""
	vfmt = {type = V4L2_BUF_TYPE_VIDEO_CAPTURE, fmt = {pix = {width = 640,
height = 480, pixelformat = 1448695129, field = V4L2_FIELD_INTERLACED,
bytesperline = 1280, sizeimage = 614400, colorspace = 0, priv = 0}, win =
{w = {left = 640, top = 480, width = 1448695129, height = 4}, field =
1280, chromakey = 614400, clips = 0x0, clipcount = 0, bitmap = 0x0}, vbi
= {sampling_rate = 640, offset = 480, samples_per_line = 1448695129,
sample_format = 4, start = {1280, 614400}, count = {0, 0}, flags = 0,
reserved = {0, 0}}, sliced = {service_set = 640, service_lines = {{0,
480, 0, 21849, 22105, 4, 0, 1280, 0, 24576, 9, 0 <repeats 13 times>}, {0
<repeats 24 times>}}, io_size = 0, reserved = {0, 0}}, raw_data =
"\200\002\000\000à\001\000\000YUYV\004\000\000\000\000\005\000\000\000`\t",
'\0' <repeats 176 times>}}
	vbuf = {index = 0, type = V4L2_BUF_TYPE_VIDEO_CAPTURE, bytesused =
614400, flags = 1, field = V4L2_FIELD_INTERLACED, timestamp = {tv_sec =
1167773441, tv_usec = 132303}, timecode = {type = 0, flags = 0, frames =
0 '\0', seconds = 0 '\0', minutes = 0 '\0', hours = 0 '\0', userbits =
"\000\000\000"}, sequence = 0, memory = V4L2_MEMORY_MMAP, m = {offset =
0, userptr = 0}, length = 614400, input = 0, reserved = 0}
	vrbuf = {count = 5, type = V4L2_BUF_TYPE_VIDEO_CAPTURE, memory =
V4L2_MEMORY_MMAP, reserved = {0, 0}}
	vc = {id = 9963785, value = 0}
	turnon = 1
	tv = {tv_sec = 4, tv_usec = 964000}
	rdset = {fds_bits = {1048576, 0 <repeats 31 times>}}
	forcekey = false
#1  0xb7c1d545 in NuppelVideoRecorder::Open (this=0x82a29b0) at
NuppelVideoRecorder.cpp:950
	driver = {static null = {static null = <same as static member of an
already seen type>, d = 0x813b0c0, static shared_null = 0x813b0c0}, d =
0x849fce0, static shared_null = 0x813b0c0}
	retries = <value optimized out>
	vcap = {driver = "cx8800\000\000\000\000\000\000\000\000\000", card =
"pcHDTV HD5500 HDTV", '\0' <repeats 13 times>, bus_info =
"PCI:0000:05:0a.0", '\0' <repeats 15 times>, version = 5, capabilities =
83951637, reserved = {0, 0, 0, 0}}
#2  0xb7c1fded in NuppelVideoRecorder::StartRecording (this=0x82a29b0) at
NuppelVideoRecorder.cpp:1014
	dtmp = <value optimized out>
	dtime = {static null = {static null = <same as static member of an
already seen type>, d = 0x813b0c0, static shared_null = 0x813b0c0}, d =
0x0, static shared_null = 0x813b0c0}
	verbose_macro_tmp = <incomplete type>
	vc = {name = "\234K\020¶\000\000\000\000 \001\000\000LÒ\222ª
M\020¶`O\020¶XO\020¶Ëô´\001", type = 2048, channels = 12, audios = 9,
maxwidth = 272, maxheight = 17, minwidth = 17, minheight = 0}
	mm = {frame = 2861749296, height = -1208355864, width = -1219744846,
format = 137162070}
	vm = {size = 0, frames = 0, offsets = {0 <repeats 30 times>, 8,
-1433218408}}
	vchan = {channel = 0, name =
"\000\000\000\000\000\000\000\000ô¯û•\220õù•ôÓ\222ª\bÔ\222ªÀø>\bÀø>\b",
tuners = 136885272, flags = 138365340, type = 0, norm = 0}
	va = {audio = 1, volume = 0, bass = 0, treble = 1, flags = 0, name = '\0'
<repeats 15 times>, mode = 0, balance = 0, step = 0}
	vt = {tuner = 0, name = "
\017\000\000Àÿ>\b\000\000\000\000-\000\000\000èóù•PÝ@•p\rE•jeN•",
rangelow = 0, rangehigh = 0, flags = 3050766852, mode = 0, signal = 0}
	channelinput = <value optimized out>
	frame = <value optimized out>
	buf = <value optimized out>
	syncerrors = <value optimized out>
#3  0xb7bb79b1 in TVRec::RecorderThread (param=0x82a29b0) at tv_rec.cpp:1171
No locals.
#4  0xb611034b in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#5  0xb5f9865e in clone () from /lib/libc.so.6
No symbol table info available.

Thread 20 (Thread -1424823392 (LWP 25335)):
…




More information about the mythtv-dev mailing list