[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