<div class="gmail_quote">On Tue, Oct 11, 2011 at 2:30 PM, Don Lewis <span dir="ltr">&lt;<a href="mailto:dl-mythtv@catspoiler.org">dl-mythtv@catspoiler.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On 11 Oct, To: Discussion about MythTV wrote:<br>
&gt; I&#39;ve been seeing quite a few mythcommflag failures recently.  This<br>
&gt; coredump seems to be typical:<br>
&gt;<br>
&gt; (gdb) bt<br>
&gt; #0  0x000000000040b517 in ClassicLogoDetector::DetectEdges (this=0xd02040,<br>
&gt;     frame=&lt;value optimized out&gt;, edges=0x7f92904c8010, edgeDiff=10)<br>
&gt;     at ClassicLogoDetector.cpp:537<br>
&gt; #1  0x000000000040c06e in ClassicLogoDetector::searchForLogo (<br>
&gt;     this=&lt;value optimized out&gt;, player=0xb8db50) at ClassicLogoDetector.cpp:132<br>
&gt; #2  0x000000000041e85c in ClassicCommDetector::go (this=0xb8d570)<br>
&gt;     at ClassicCommDetector.cpp:357<br>
&gt; #3  0x000000000045d418 in DoFlagCommercials (program_info=0x7fff25314a60,<br>
&gt;     outputfilename=..., useDB=true) at main.cpp:612<br>
&gt; #4  FlagCommercials (program_info=0x7fff25314a60, outputfilename=..., useDB=<br>
&gt;     true) at main.cpp:840<br>
&gt; #5  0x000000000045ef6f in FlagCommercials (chanid=4049, starttime=...,<br>
&gt;     outputfilename=..., useDB=true) at main.cpp:873<br>
&gt; #6  0x00000000004650bb in main (argc=5, argv=&lt;value optimized out&gt;)<br>
&gt;     at main.cpp:1351<br>
&gt;<br>
&gt; (gdb) list<br>
&gt; 532                   continue;<br>
&gt; 533<br>
&gt; 534               pos = y * width + x;<br>
&gt; 535               p = buf[pos];<br>
&gt; 536<br>
&gt; 537               if (( abs(buf[y * width + (x - r)] - p) &gt;= edgeDiff) ||<br>
&gt; 538                   ( abs(buf[y * width + (x + r)] - p) &gt;= edgeDiff))<br>
&gt; 539               {<br>
&gt; 540                   edges[pos].horiz++;<br>
&gt; 541                   edgeCount++;<br>
&gt;<br>
&gt; (gdb) print x<br>
&gt; $1 = 22<br>
&gt; (gdb) print y<br>
&gt; $2 = 22<br>
&gt; (gdb) print width<br>
&gt; $3 = 704<br>
&gt; (gdb) print r<br>
&gt; $4 = 2<br>
&gt; (gdb) print p<br>
&gt; Cannot access memory at address 0x3c96<br>
&gt; (gdb) print pos<br>
&gt; $5 = 15510<br>
&gt;<br>
&gt; It&#39;s wierd that gdb can&#39;t print variable p because it&#39;s a just a local<br>
&gt; variable ... maybe some sort of interaction with optimization ...<br>
&gt;<br>
&gt; (gdb) print buf[15510]<br>
&gt; Cannot access memory at address 0x3c96<br>
&gt; (gdb) print buf<br>
&gt; $6 = (unsigned char *) 0x0<br>
&gt; (gdb) print frame<br>
&gt; $7 = &lt;value optimized out&gt;<br>
<br>
</div></div>Tracked it a bit further ... buf really is a NULL pointer.<br>
<br>
(gdb) up<br>
<div class="im">#1  0x000000000040c06e in ClassicLogoDetector::searchForLogo (<br>
    this=&lt;value optimized out&gt;, player=0xb8db50) at ClassicLogoDetector.cpp:132<br>
</div>132                 DetectEdges(vf, edgeCounts, edgeDiffs[i]);<br>
<br>
(gdb) list<br>
127                 }<br>
128<br>
129                 if (!commDetector-&gt;fullSpeed)<br>
130                     usleep(10000);<br>
131<br>
132                 DetectEdges(vf, edgeCounts, edgeDiffs[i]);<br>
133<br>
134                 seekFrame += seekIncrement;<br>
135                 loops++;<br>
136<br>
<br>
(gdb) print *vf<br>
$9 = {codec = FMT_YV12, buf = 0x0, width = 528, height = 480, bpp = 12, size =<br>
    380162, frameNumber = 2692, timecode = 62178107, disp_timecode = 96288,<br>
  priv = {0x0, 0x0, 0x0, 0x0}, qscale_table = 0x0, qstride = 0,<br>
  interlaced_frame = 1, top_field_first = 1, repeat_pict = 0, forcekey = 0,<br>
  pitches = {528, 264, 264}, offsets = {0, 253440, 316800}, pix_fmt = 0}</blockquote><div><br></div><div><br></div><div>Please put a ticket in trac, we&#39;ll get that fixed. </div></div>