title: Any idea how to avoid this assertion in DDTokenCache and what it means?
body: <p>I am using <code>NSDataDetector</code> with <code>NSTextCheckingTypeLink</code> to search a string for links (e.g. <a href="https://stackoverflow.com/questions">https://stackoverflow.com/questions</a>) within it. Generally, it works fine, but when the string contains certain very long links (200+ chars) followed by a space and another word, I get this assertion:</p>
  
  <pre><code>&gt; DDRequire failed: the following assertion will only be logged once
  &gt; 
  &gt; assertion on
  &gt; /SourceCache/MobileDataDetectorsCore/MobileDataDetectorsCore-154/Sources/PushDown/DDTokenCache.c:310
  &gt; "delta &gt;= 0" failed :Bad shift in
  &gt; DDTokenCacheMoveStreamOffset, aborting
  </code></pre>
  
  <p>This is the kind of text that causes this:</p>
  
  <pre><code>&gt; blog.somethingorother.com/2011/storynameetcmorestuff/utm_source/eedburnerutmmediumfeedutmcampaign/FeedanutmcontentGooglFeedfetcherutmcampaign/FeedanutmcontentGooglFeedfetcher/eedburnerutm_mediumfeedutmcampaign/FeedanutmcontentGooglFeedfetcherutmcampaign HEY
  </code></pre>
  
  <p>Does anyone know what's behind this or have any other insight into this?</p>