[mythtv] Frontend dying on aspect ratio change
Ed Wildgoose
lists at wildgooses.com
Sat Apr 10 03:39:00 EDT 2004
> Aha, I have managed to trace this to the kerneldeint filter!! If
> someone else could just repro this for me, please download the above
> file, in the Setup | TV Settings | Playback option, add
> "kerneldeint" as your filter option. Then try "mythtv duff.nuv" - I
> think this should reliably die now.
>
> I also managed to get a bt which dies in mmx_yuv2rgb - I will try and
> repro a few more times and see if I can narrow it down a little more.
> However, I'm pretty sure that I am getting close now. It's something
> in the filter functions I think
Thanks to everyone who tested this file. Very peculiar that it's not
dying for anyone else. I can easily get the frontend to die with that
file by enabling "kerneldeint" in my filters line. Removing it "fixes"
the problem.
Here is a snippet from a *different* recording which is even worse on my
machine in that even if I disable kerneldeint, it still kills the
preview window... Same effect on the main playback screen though, it
dies with kerneldeint, and plays back fine without. Perhaps this will
trigger something on other peoples machine?
http://www.wildgooses.com/downloads/duff2.nuv (4Mb)
FWIW: I have removed all my old filters and libs and completely rebuilt,
so I don't think it's just some old code lying around.
Here is the BT from the preview window crash. I can't get one from the
main player crash. This may be a slightly different problem though:
Thanks everyone
Ed W
Input #0, mpeg, from
'/home/myth/store//4_20040409073000_20040409080000.nuv':
Stream #0.0: Video: mpeg2video, 704x576, 25.00 fps
Stream #0.1: Audio: mp2, 48000 Hz, stereo, 192 kb/s
Program received signal SIGSEGV, Segmentation fault.
0x402b5015 in mmx_yuv2rgb (py=0x43a04008 '\020' <repeats 200 times>...,
pu=0x43a28ca8 '\200' <repeats 200 times>...,
pv=0x43a418a8 '\200' <repeats 200 times>...) at yuv2rgb.cpp:64
64 movd_m2r (*pu, mm0); // mm0 = 00 00 00 00 u3
u2 u1 u0
(gdb) 2004-04-10 08:07:12 GetNextFreeFrame() served a busy frame.
Dropping. #Frames=30/31.
(gdb) bt full
#0 0x402b5015 in mmx_yuv2rgb (
py=0x43a04008
"-./0258:::;<===<<<==<;::;::9987789:;;:9:98:;<<=<<=<;;9?K]dbaa`ba0.032333555555566999;>????@@AFIJJJJKJJIIIJLLJIJIGIHIIJJJGA93*#\035\e\e\e\031\032\030\027\024\024\021\020\017\020\020\020\021\021\021\017\020\020\0302Oi\201\220\223\221\216\211\202znh_REGVn|\207\212\215\212\210\207\211\213\213\212\212\206\177sj^YZ_`_\\[[ZYXVVUU"...,
pu=0x43a28ca8 "qrpqopopqqpqprrrqqqqqqqqrttwwzz|wwwwxwxxwwwwwwww",
'v' <repeats 11 times>,
"uwvwwwxyz||}}{zzxvuuuuuvwxxxxwvvtututttuuutuuuuuuuuuutttsttuuxx{{}{|zyyxxxxyyyxzyzyzyyyxxxwwwvvvvvvvvwwwvvvvvuuuvvvvvwwwwwwwwwvxwyxzy|{{zxwuu"...,
pv=0x43a418a8
"§§¨©ªªªªª«©ª©ª©ª©©©©©¨¨¨£¢\236\232\227\224\217\213\212\212\212\212\212\212\212\212\213\213\213\214\214\215\215\215\216\216\216\216\217\216\217\217\217\216\217\215\217\215\216\215\215\212\212\206\207\205\206\206\213\213\215\217\222\222\224\224\224\223\222\221\217\217\216\216\220\220\222\221\223\222\224\223\222\222\222\222\222\222\222\222\222\221\221\221\221\221\221\222\221\222\223\224\224\223\222\221\215\213\212\207\206\206\210\211\211\211\212\212\213",
'\212' <repeats 11 times>,
"\213\212\214\213\215\214\215\214\215\215\215\215\215\215\216\216",
'\215' <repeats 11 times>,
"\214\215\214\214\214\213\213\213\213\214\214\214\214\216\215\216\214\215\212\213\211\211\211\212\212\215\215\220\217"...)
at yuv2rgb.cpp:64
mmx_80w = {q = 36029346783166592, uq = 36029346783166592, d = {
8388736, 8388736}, ud = {8388736, 8388736}, w = {128, 128, 128, 128},
---Type <return> to continue, or q <return> to quit---
uw = {128, 128, 128, 128}, b = "\200\000\200\000\200\000\200",
ub = "\200\000\200\000\200\000\200", s = {1.17551229e-38,
1.17551229e-38}}
mmx_U_green = {q = -901296628122651779, uq = 17545447445586899837,
d = {-209849475, -209849475}, ud = {4085117821, 4085117821}, w = {-3203,
-3203, -3203, -3203}, uw = {62333, 62333, 62333, 62333},
b = "}ó}ó}ó}ó", ub = "}ó}ó}ó}ó", s = {-2.01200811e+31, -2.01200811e+31}}
mmx_U_blue = {q = 4653133841191616659, uq = 4653133841191616659,
d = {1083392147, 1083392147}, ud = {1083392147, 1083392147}, w = {16531,
16531, 16531, 16531}, uw = {16531, 16531, 16531, 16531},
b = "\223@\223@\223@\223@", ub = "\223@\223@\223@\223@", s = {4.6016326,
4.6016326}}
mmx_V_red = {q = 3680059998774375186, uq = 3680059998774375186,
d = {856830738, 856830738}, ud = {856830738, 856830738}, w = {13074,
13074, 13074, 13074}, uw = {13074, 13074, 13074, 13074},
b = "\0223\0223\0223\0223", ub = "\0223\0223\0223\0223", s = {
3.40397222e-08, 3.40397222e-08}}
mmx_V_green = {q = -1874370470539893252,
uq = 16572373603169658364, d = {-436410884, -436410884}, ud = {
3858556412, 3858556412}, w = {-6660, -6660, -6660, -6660}, uw = {
58876, 58876, 58876, 58876}, b = "üåüåüåüå", ub = "üåüåüåüå", s = {
-1.49284852e+23, -1.49284852e+23}}
---Type <return> to continue, or q <return> to quit---
mmx_10w = {q = 1157442765409226768, uq = 1157442765409226768, d = {
269488144, 269488144}, ud = {269488144, 269488144}, w = {4112, 4112,
4112, 4112}, uw = {4112, 4112, 4112, 4112},
b = "\020\020\020\020\020\020\020\020",
ub = "\020\020\020\020\020\020\020\020", s = {2.84113667e-29,
2.84113667e-29}}
mmx_00ffw = {q = 71777214294589695, uq = 71777214294589695, d = {
16711935, 16711935}, ud = {16711935, 16711935}, w = {255, 255, 255,
255}, uw = {255, 255, 255, 255}, b = "ÿ\000ÿ\000ÿ\000ÿ",
ub = "ÿ\000ÿ\000ÿ\000ÿ", s = {2.34184089e-38, 2.34184089e-38}}
mmx_Y_coeff = {q = 2683904856074167615, uq = 2683904856074167615,
d = {624895295, 624895295}, ud = {624895295, 624895295}, w = {9535,
9535, 9535, 9535}, uw = {9535, 9535, 9535, 9535}, b = "?%?%?%?%",
ub = "?%?%?%?%", s = {1.65792287e-16, 1.65792287e-16}}
#1 0x402b4f6e in yuv420_argb32 (image=0x44b5f008 "",
py=0x43a04008 "...025788:;<<==", '>' <repeats 11 times>,
"<;:988889::9::998789:;;;:;<:99DVfkkjij1788869:;;;;;::::<>@ABBCAABCFHKLMNNMKJIHIJKKJJJJJJJJKLLLMH@:4.'!\034\031\024\022\020\021\021\021\021\020\020\021\021\023\021\021\020\020\017\024,Po\177\211\213\210\203\177zqhbZODBQi\177\211\212\211\207\207\207\210\212\213\213\213\210\203|qg^[^`__\\[ZZZXVUUT"...,
pu=0x43a28ca8 "qqqq", 'p' <repeats 11 times>, "qqqqqqqqqrstuwyz|",
'w' <repeats 11 times>,
"vwvvvvvwvwvwvvvvvvwwwyz{|}~~~{zywvuuuvvwxxxxxvuutttttuuu---Type
<return> to continue, or q <return> to quit---
uuuuuvuuuuuuuutttttuvxy||~||{zyxyxyyyzzzzzz{zzyyxxwxwwvwvwvwvwvwuvuvuuuuuvvwwwwwwwwxxwwwxxyyy{{{zzxvu"...,
pv=0x43a418a8
"¦¨©ª«««¬««««ªª©ª©©©©©©©©¦¥¡\236\232\227\222\215\212\212\212\212\212\212\213\213\213\213\214\214\214\215\216\216\217\215\217\216\217\216\217\216\216\216\216\216\216\215\215\215\212\211\210\206\206\205\206\206\213\214\216\220\223\223\224\224\223\223\222\220\217\217\216\216\220\220\221\222\223\223\223\223\223\223\223\222\222\222\222\222\221\221\221\221\222\222\222\222\223\222\223\223\224\223\222\220\215\213\211\206\206\206\207\207\211\212\212\212\212\212\212\212\211\211\211\211\212\212\212\212\213\213\213\214\214\214\215\215\214\214",
'\215' <repeats 17 times>,
"\214\214\214\214\214\213\213\214\214\214\214\214\215\215\215\215\215\214\213\213\212\211\211\212\212\214\215\217\217"...,
width=88, height=94, rgb_stride=0, y_stride=0,
uv_stride=0, cpu=1, alphaones=0) at yuv2rgb.cpp:257
i = 8
#2 0x402b47d2 in mmx_argb32 (image=0x44a13008 "\026\036'",
py=0x439b1008
"\020\020\020\020\020\021\021\021\016\017\016\016\r\016\016\017\020\020\021\021\021\020\021\021\020\020\020\016\016\016\017\021\017\020\021\021\020\020\020\020\020\020\021\020\020\020\020\020\020\020\020\016\017\017\017\020\017\016\017\020\020\020\020\020\020\020\021\021\021\021\021\021\021\021\021\020\020\020\021\021\021\021\021\020\020\021\021\021\021\021\021\021\021",
'\020' <repeats 19 times>,
"\021\020\021\020\020\020\020\021\021\017\021\020\021\020\022\020\021\020\021\020\021\021\021\021\020\017\020\020---Type
<return> to continue, or q <return> to quit---
\020\017\020\020\021\021\021\021\021\020\020\020\020\020\021\020\020\020\021\020\020\020\021\021\020\020\020\020\016\017\020\020\017\017\017\020\020\020\020\021\021\020\020\020\020\020\020\020\021\021\021\021\020\020\020\020\020\020\020\020"...,
pu=0x43a14008
"}~~~\177\177\177\200\200\200\200\177\200\177\200\200", '\177' <repeats
13 times>, '\200' <repeats 22 times>, "\177\200\177", '\200' <repeats 13
times>,
"\177\200\177\200\200\201\201\201\201\201\201\201\201\200\177\200\177\200\177\200\177",
'\200' <repeats 56 times>, '\177' <repeats 16 times>,
"~~~~}}||}}}}}~~~\177\177\177\177\177\177\177\177\177~\177~\177~\177~\200\200\200\200\200\200\200\200"...,
pv=0x43a2cc08 '\201' <repeats 24 times>,
"\202\202\202\202\202\202\202\202", '\201' <repeats 16 times>, '\202'
<repeats 16 times>, '\201' <repeats 16 times>, '\202' <repeats 32
times>, "\201\201\201\201\201\201\201\201", '\202' <repeats 16 times>,
"\201\201\201\201\201\201\201\201", '\202' <repeats 16 times>,
"\204\204\204\204\203\203\202\202\202\201\200\177~\177\177\200\177\177\177\177\177\177\177\177~~~~~",
'\177' <repeats 11 times>...,
width=704, height=576, rgb_stride=2816, y_stride=704, uv_stride=352,
alphaones=0) at yuv2rgb.cpp:315
No locals.
#3 0x0807c303 in PlaybackBox::updateVideo(QPainter*) (this=0xbfffcb70,
p=0xbfffc440) at playbackbox.cpp:567
w = 704
---Type <return> to continue, or q <return> to quit---
frame = (VideoFrame *) 0x851f7c8
buf = (
unsigned char *) 0x439b1008
"\016\020\022\022\020\017\017\020\020\020\020\020\021\020\020\020\016\017\020\021\021\021\020\017\021\017\017\020\021\022\023\021\021\021\021\021\022\021\016\f\021\020\016\016\020\021\021\021\020\021\022\022\022\020\017\017\017\017\017\016\017\017\017\020\023\022\021\020\020\020\020\021\f\017\021\022\023\021\020\r\021\022\021\017\r\016\021\023\020\020\017\r\r\017\017\017\020\020\020\020\021\021\022\021\017\017\020\021\022\022\022\021\021\022\023\023\022\020\016\017\021\023\023\022\021\020\016\017\020\020\023\022\022\020\016\016\021\021\021\021\021\020\020\020\020\021\021\021\020\016\016\020\021\020\020\017\016\020\022\021\016\020\020\016\017\021\021\020\r\f\f\016\017\021\020\r\020\017\r\016\021\021\020\016\017\016\016\017\021\021\020\r\021\021\021\020\020\017\020\017"...
convert = 0x402b477a <mmx_argb32>
img = {data = 0xbfffc440}
h = 576
outputbuf = (unsigned char *) 0x44a13008 "\026\036'"
#4 0x0807b1bd in PlaybackBox::paintEvent(QPaintEvent*) (this=0xbfffcb70,
e=0xbfffc880) at playbackbox.cpp:336
r = {x1 = 548, y1 = 340, x2 = 690, y2 = 454}
p = {<Qt> = {static color0 = @0x411a4d00,
static color1 = @0x411a4d08, static black = @0x411a4d10,
---Type <return> to continue, or q <return> to quit---
static white = @0x411a4d18, static darkGray = @0x411a4d20,
static gray = @0x411a4d28, static lightGray = @0x411a4d30,
static red = @0x411a4d38, static green = @0x411a4d40,
static blue = @0x411a4d48, static cyan = @0x411a4d50,
static magenta = @0x411a4d58, static yellow = @0x411a4d60,
static darkRed = @0x411a4d68, static darkGreen = @0x411a4d70,
static darkBlue = @0x411a4d78, static darkCyan = @0x411a4d80,
static darkMagenta = @0x411a4d88, static darkYellow = @0x411a4d90,
static arrowCursor = @0x411a33e0, static upArrowCursor = @0x411a33e4,
static crossCursor = @0x411a33e8, static waitCursor = @0x411a33ec,
static ibeamCursor = @0x411a33f0, static sizeVerCursor = @0x411a33f4,
static sizeHorCursor = @0x411a33f8,
static sizeBDiagCursor = @0x411a33fc,
static sizeFDiagCursor = @0x411a3400,
static sizeAllCursor = @0x411a3404, static blankCursor = @0x411a3408,
static splitVCursor = @0x411a340c, static splitHCursor = @0x411a3410,
static pointingHandCursor = @0x411a3414,
static forbiddenCursor = @0x411a3418,
static whatsThisCursor = @0x411a341c,
static busyCursor = @0x411a3420}, flags = 33281, d = 0x0,
pdev = 0xbfffcb98, bg_col = {static color_init = true,
static globals_init = true, static colormodel = d32, d = {
---Type <return> to continue, or q <return> to quit---
argb = 4282541972, d8 = {argb = 4282541972, pix = 148 '\224',
invalid = 103 'g', dirty = 66 'B', direct = 255 'ÿ'}, d32 = {
argb = 4282541972, pix = 4282541972}}}, bg_mode = 0 '\0',
rop = 0 '\0', pu = 80 'P', bro = {xp = 0, yp = 0}, cfont = {
d = 0x8296be0}, pfont = 0x0, cpen = {<Qt> = {
static color0 = @0x411a4d00, static color1 = @0x411a4d08,
static black = @0x411a4d10, static white = @0x411a4d18,
static darkGray = @0x411a4d20, static gray = @0x411a4d28,
static lightGray = @0x411a4d30, static red = @0x411a4d38,
static green = @0x411a4d40, static blue = @0x411a4d48,
static cyan = @0x411a4d50, static magenta = @0x411a4d58,
static yellow = @0x411a4d60, static darkRed = @0x411a4d68,
static darkGreen = @0x411a4d70, static darkBlue = @0x411a4d78,
static darkCyan = @0x411a4d80, static darkMagenta = @0x411a4d88,
static darkYellow = @0x411a4d90, static arrowCursor = @0x411a33e0,
static upArrowCursor = @0x411a33e4,
static crossCursor = @0x411a33e8, static waitCursor = @0x411a33ec,
static ibeamCursor = @0x411a33f0,
static sizeVerCursor = @0x411a33f4,
static sizeHorCursor = @0x411a33f8,
static sizeBDiagCursor = @0x411a33fc,
static sizeFDiagCursor = @0x411a3400,
---Type <return> to continue, or q <return> to quit---
static sizeAllCursor = @0x411a3404,
static blankCursor = @0x411a3408, static splitVCursor = @0x411a340c,
static splitHCursor = @0x411a3410,
static pointingHandCursor = @0x411a3414,
static forbiddenCursor = @0x411a3418,
static whatsThisCursor = @0x411a341c,
static busyCursor = @0x411a3420}, data = 0x4450c8d8},
cbrush = {<Qt> = {static color0 = @0x411a4d00,
static color1 = @0x411a4d08, static black = @0x411a4d10,
static white = @0x411a4d18, static darkGray = @0x411a4d20,
static gray = @0x411a4d28, static lightGray = @0x411a4d30,
static red = @0x411a4d38, static green = @0x411a4d40,
static blue = @0x411a4d48, static cyan = @0x411a4d50,
static magenta = @0x411a4d58, static yellow = @0x411a4d60,
static darkRed = @0x411a4d68, static darkGreen = @0x411a4d70,
static darkBlue = @0x411a4d78, static darkCyan = @0x411a4d80,
static darkMagenta = @0x411a4d88, static darkYellow = @0x411a4d90,
static arrowCursor = @0x411a33e0,
static upArrowCursor = @0x411a33e4,
static crossCursor = @0x411a33e8, static waitCursor = @0x411a33ec,
static ibeamCursor = @0x411a33f0,
static sizeVerCursor = @0x411a33f4,
---Type <return> to continue, or q <return> to quit---
static sizeHorCursor = @0x411a33f8,
static sizeBDiagCursor = @0x411a33fc,
static sizeFDiagCursor = @0x411a3400,
static sizeAllCursor = @0x411a3404,
static blankCursor = @0x411a3408, static splitVCursor = @0x411a340c,
static splitHCursor = @0x411a3410,
static pointingHandCursor = @0x411a3414,
static forbiddenCursor = @0x411a3418,
static whatsThisCursor = @0x411a341c,
static busyCursor = @0x411a3420}, data = 0x81bd7e8}, crgn = {
data = 0x826fb08}, tabstops = 0, tabarray = 0x0, tabarraylen = 0,
block_ext = false, wx = 0, wy = 0, ww = 720, wh = 576, vx = 0, vy = 0,
vw = 720, vh = 576, wxmat = {_m11 = 1, _m12 = 0, _m21 = 0, _m22 = 1,
_dx = 0, _dy = 0}, xmat = {_m11 = 1, _m12 = 0, _m21 = 0, _m22 = 1,
_dx = 0, _dy = 0}, ixmat = {_m11 = 1, _m12 = 0, _m21 = 0, _m22 = 1,
_dx = 0, _dy = 0}, txop = 0, txinv = false, penRef = 0x82225e0,
brushRef = 0x8222970, ps_stack = 0x0, wm_stack = 0x0, dpy = 0x81b8568,
scrn = 0, hd = 4194748, rendhd = 4194856, gc = 0x8296a88,
gc_brush = 0x8280298, curPt = {xp = 0, yp = 0}, clip_serial = 1761}
#5 0x40d771ce in QWidget::event(QEvent*) ()
from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#6 0x40ce678f in QApplication::internalNotify(QObject*, QEvent*) ()
from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#7 0x40ce5b5b in QApplication::notify(QObject*, QEvent*) ()
from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#8 0x40cb1662 in QWidget::repaint(QRegion const&, bool) ()
from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#9 0x40ce75a5 in QApplication::sendPostedEvents(QObject*, int) ()
from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#10 0x40ce73f6 in QApplication::sendPostedEvents() ()
from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
(gdb)
(gdb) thread apply all bt full
(gdb)
More information about the mythtv-dev
mailing list