<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1265843939;
        mso-list-type:hybrid;
        mso-list-template-ids:2057357226 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>I know live555 is an event model application and thread safety must be added if needed.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I pull and record from hundreds of cameras. Because of some OS limitaitions I can only wait on a maximum of 64 events.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So I have threads called processors for each group of 60 sources. Each of these has their own UsageEnvironment and TaskScheduler and event loop.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Is this a reliable architecture?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I do have an occasional access violation in Medium::~Medium() in units in the field, but today’s problem is distinctly different.<o:p></o:p></p><p class=MsoNormal>It only occurs with one brand of camera. <o:p></o:p></p><p class=MsoNormal>    Am I correct in assuming no camera, no matter how bad the stream, should be able to crash live555?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> The access violation always occurs in the same location.  <o:p></o:p></p><p class=MsoNormal> On the delete packet; line of <o:p></o:p></p><pre style='background:white'> <span style='font-family:Consolas;color:black'>ReorderingPacketBuffer::freePacket(BufferedPacket* packet){<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>    </span><span style='font-family:Consolas;color:blue'>if</span><span style='font-family:Consolas;color:black'> (packet != fSavedPacket) {<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>      </span><span style='font-family:Consolas;color:blue'>delete</span><span style='font-family:Consolas;color:black'> packet;<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>    } </span><span style='font-family:Consolas;color:blue'>else</span><span style='font-family:Consolas;color:black'> {<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>      fSavedPacketFree = True;<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>    }<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>  }<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'><o:p> </o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>In all inspections of memory the packet, whose pointer is not null, appears to already be destructed. The fBuf and vPtr are a special value 0xdddddddd which is Microsofts way of saying this memory was explicitly deleted.<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'><o:p> </o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>The call stack always shows we are a few frames down from MultiFramedRTPSource::networkReadHandler1() and I was trying to figure it out.<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>I came across a question. Given the implementation of bytesAvailable() should the line “if bPacket->bytesavailable() == 0)…” be if bPacket->bytesavailable() <= 0)…”<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'><o:p> </o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>I am looking for suggestions on where to look for the source of this problem. Simple or scaled down examples do not have a problem. Valgrind like tools on windows have a high overhead and also seem to effect the occurrence. (Indicates a race!)<o:p></o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'><o:p> </o:p></span></pre><pre style='background:white'><span style='font-family:Consolas;color:black'>Thanks<o:p></o:p></span></pre><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b><span style='font-size:9.0pt;font-family:"Arial","sans-serif"'>   Jeff Shanab, Manager-Software Engineering<o:p></o:p></span></b></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Arial","sans-serif"'>   D 630.633.4515 | C 630.453.7764 | F 630.633.4815 | <a href="mailto:jshanab@smartwire.com">jshanab@smartwire.com</a><o:p></o:p></span></p><p class=MsoNormal><img border=0 width=626 height=90 id="Picture_x0020_1" src="cid:image001.gif@01CE32B3.2720F850" alt=MVSSig><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div><P> </P>
<P> </P>
<P>This message and any attachments contain confidential and proprietary 
information, and may contain privileged information, belonging to one or more 
affiliates of Windy City Wire Cable & Technology Products, LLC. No privilege 
is waived by this transmission. Unauthorized use, copying or disclosure of such 
information is prohibited and may be unlawful. If you receive this message in 
error, please delete it from your system, destroy any printouts or copies of it, 
and notify the sender immediately by e-mail or phone.</P><br></body></html>