[mythtv] Backtrace: Goom segfaults

Ed Wildgoose lists at wildgooses.com
Sun Feb 20 14:51:25 UTC 2005


Hi Carl,

Yep, finally I managed to recreate this exact same problem with debug 
setting and no MMX, so it's not just the MMX stuff I think.  Crashed in 
exactly the same place as for you, but on mine the stack seemed to be 
corrupted.  I have trimmed the BT back to the essentials below in case 
anyone else wants to peer in and try to see why it's dying. Looks 
basically though like "x" is a bit messed up and causing the problem 
because later it's used as a memory offset....

In my case it was running absolutely fine non-full screen, and then I 
just said "how strange it didn't want to crash under the debugger", 
switched it into full screen and less than a sec later it died.


..Hmm, looking at the code a bit longer.  Going back to filters.c:434 it 
looks like "py" goes negative, which means that "(py >> PERTEDEC)" is 
unlikely to be what was expected...

I'm trying this quick hack to see if it helps:


>
> I've seen this one for quite a while too - it makes goom pretty 
> useless.  but I can get it to segfault with debug symbols. It seems to 
> segfault quicker for me if goom is in full screen mode.  I have MMX 
> disabled across the board in MythMusic since it doesn't like to 
> compile on AMD64s. If it matters, I see this when I am playing flac 
> files from a R/O SMB mount. backtrace from 2/19 CVS build below 
> message body.


> Thread 1 (process 22460):
> #0  0x0000002a9d30068e in getPixelRGB_ (buffer=0x227da00, x=4294967192,
>     c=0x7fbfffc2b0) at goom/filters.c:391
>         tmp8 = (
>     unsigned char *) 0x40227d860 <Address 0x40227d860 out of bounds>
> #1  0x0000002a9d3008c1 in c_zoom (expix1=0x227da00, expix2=0x2273400,
>     prevX=108, prevY=98, brutS=0x2288000, brutD=0x229cc80)
>     at goom/filters.c:434
>         col1 = {r = 169, v = 169, b = 43}
>         col4 = {r = 174, v = 173, b = 41}
>         c3 = 0
>         pos = -104
>         brutSmypos = 120
>         col2 = {r = 171, v = 171, b = 38}
>         c1 = 255
>         c4 = 0
>         px = 79
>         col3 = {r = 172, v = 171, b = 45}
>         c2 = 0
>         py = -1
>         coeffs = -535949824
>         myPos = 4
>         myPos2 = 5
>         couleur = {r = 168, v = 168, b = 42}
>         ax = 1712
>         ay = 1552
>         bufsize = 21168
>         bufwidth = 108
> #2  0x0000002a9d301598 in zoomFilterFastRGB (pix1=0x227da00, 
> pix2=0x2273400,
>     zf=0x0, resx=108, resy=98, switchIncr=0, switchMult=0.966666639)
>     at goom/filters.c:712
>         x = 1174163456
>         y = 2683611791
>         reverse = 0 '\0'
>         pertedec = 8 '\b'
>         firstTime = 0 '\0'
>         interlace_start = -2
> #3  0x0000002a9d303aa6 in goom_update (data=0x7fbfffc550, forceMode=0)
>     at goom/goom_core.c:645
>         lockvar = 29
>         goomvar = 11
>         totalgoom = 5
>         agoom = 17
>         abiggoom = 0
>         loopvar = 7074
>         speedvar = 17
>         lineMode = 0
>         nombreCDDC = 71
>         return_val = (unsigned int *) 0x2273400
>         pointWidth = 43
>         pointHeight = 39
>         incvar = 12147
>         accelvar = 10
>         i = 3
>         largfactor = 0.445293337
>         stop_lines = 0
>         ifs_incr = 0
>         decay_ifs = -829
>         recay_ifs = 0
>         switchMult = 0.966666639
>         switchIncr = 0
>         goomlimit = 19 '\023'
>         zfd = {vitesse = 124, pertedec = 8 '\b', sqrtperte = 16 '\020',
>   middleX = 54, middleY = 49, reverse = 0 '\0', mode = 7 '\a',
>   hPlaneEffect = -4, vPlaneEffect = -4, waveEffect = 0, hypercosEffect 
> = 0,
>   noisify = 0 '\0'}
>         pzfd = (ZoomFilterData *) 0x0
> #4  0x0000002a9d30b070 in Goom::process(VisualNode*) (this=0x21fe990,
>     node=0x22e1010) at goom/mythgoom.cpp:102
>         numSamps = 512
>         data = {{-3200, -2833, -2470, -2053, -1526, -920, -331, 210, 699,
>     1155, 1637, 2134, 2608, 3008, 3390, 3753, 4153, 4559, 4838, 4987, 
> 5111,
>     5235, 5276, 5280, 5295, 5239, 5116, 4974, 4875, 4805, 4804, 4863, 
> 4952,
>     4993, 4912, 4678, 4276, 3814, 3373, 2958, 2495, 1909, 1193, 315, 
> -637,
>     -1691, -2858, -4063, -5256, -6371, -7332, -8231, -9102, -9869, 
> -10578,
>     -11226, -11705, -12053, -12281, -12422, -12471, -12517, -12635, 
> -12780,
>     -12982, -13108, -13065, -12867, -12422, -11745, -10927, -10057, 
> -9258,
>     -8509, -7833, -7144, -6402, -5614, -4893, -4353, -4008, -3723, -3447,
>     -3229, -3040, -2832, -2604, -2337, -1978, -1551, -1084, -581, -60, 
> 403,
>     817, 1223, 1642, 2099, 2466, 2720, 2837, 2823, 2751, 2709, 2803, 
> 3054,
>     3501, 4050, 4537, 4921, 5229, 5493, 5759, 5959, 6021, 5892, 5514, 
> 4931,
>     4164, 3304, 2346, 1270, 53, -1165, -2205, -2985, -3571, -4019, -4502,
>     -5080, -5602, -6040, -6323, -6349, -6269, -6151, -6029, -5783, -5469,
>     -5183, -4918, -4644, -4259, -3695, -2932, -1972, -831, 528, 2052, 
> 3566,
>     4922, 6054, 6969, 7737, 8410, 9046, 9675, 10329, 10942, 11432, 11819,
>     12057, 12147, 12059, 11795, 11374, 10901, 10445, 10012, 9581, 
> 9237, 8963,
>     8658, 8276, 7903, 7634, 7372, 6979, 6443, 5847, 5271, 4736, 4287, 
> 3999,
>     3789, 3651, 3553, 3398, 3132, 2752, 2312, 1833, 1290, 713, 85, -544,
>     -1133, -1667, -2076, -2231...}, {-3802, -3450, -3110, -2717, 
> -2182, -1570,
>     -965, -398, 138, 622, 1143, 1690, 2231, 2704, 3150, 3594, 4064, 4554,
>     4912, 5123, 5307, 5473, 5547, 5592, 5633, 5592, 5483, 5364, 5279, 
> 5214,
>     5225, 5300, 5400, 5468, 5385, 5173, 4784, 4329, 3906, 3492, 3017, 
> 2410,
>     1651, 718, -315, -1451, -2723, -4038, -5360, -6612, -7705, -8745, 
> -9763,
>     -10679, -11558, -12368, -13017, -13518, -13921, -14213, -14401, 
> -14568,
>     -14805, -15069, -15379, -15600, -15647, -15523, -15141, -14506, 
> -13722,
>     -12877, -12080, -11318, -10618, -9899, -9091, -8222, -7421, -6784, 
> -6338,
>     -5951, -5574, -5262, -4984, -4691, -4387, -4048, -3618, -3131, -2603,
>     -2031, -1443, -902, -406, 81, 598, 1160, 1631, 2007, 2230, 2321, 
> 2360,
>     2395, 2585, 2921, 3462, 4100, 4681, 5165, 5567, 5935, 6310, 6613, 
> 6780,
>     6739, 6443, 5922, 5188, 4348, 3394, 2286, 1026, -269, -1409, 
> -2301, -2987,
>     -3544, -4134, -4823, -5436, -5966, -6334, -6443, -6424, -6378, -6298,
>     -6099, -5822, -5568, -5314, -5051, -4680, -4119, -3334, -2346, 
> -1168, 246,
>     1848, 3445, 4904, 6151, 7191, 8068, 8864, 9615, 10376, 11160, 11910,
>     12544, 13071, 13457, 13679, 13714, 13575, 13261, 12858, 12477, 12089,
>     11681, 11357, 11089, 10782, 10381, 10022, 9750, 9486, 9088, 8546, 
> 7938,
>     7337, 6777, 6292, 5956, 5707, 5508, 5359, 5120, 4779, 4323, 3794, 
> 3235,
>     2589, 1917, 1194, 460, -239, -875, -1389, -1644...}}
>         i = 512
> #5  0x0000002a9d29a778 in MainVisual::timeout() (this=0x1d52710)
>     at mainvisual.cpp:256
>         process = true
>         node = (VisualNode *) 0x22e1010
>         stop = true
> #6  0x0000002a9d329946 in MainVisual::qt_invoke(int, QUObject*) (
>     this=0x1d52710, _id=45, _o=0x7fbfffd040) at moc_mainvisual.cpp:94
> No locals.




More information about the mythtv-dev mailing list