Obsolete:Diff hell

From Wikitech
This page contains historical information. It may be outdated or unreliable.

We've had these intermittently for ages, but reporting has gone way up the last few days. Diffs with mysteriously repeating lines, like this:

To help track it down, I added some debug comments, then did a batch test hitting and re-hitting a bad diff that was reported in IRC...

Testing

Did 1000 purge hits to this diff.

8 of these hits gave the bogus, extra-long renderings:

diff-144:<!-- diff generator: wikidiff2 srv141 2008-04-25 23:13:49 -->
diff-149:<!-- diff generator: wikidiff2 srv99 2008-04-25 23:13:52 -->
diff-214:<!-- diff generator: wikidiff2 srv98 2008-04-25 23:14:38 -->
diff-326:<!-- diff generator: wikidiff2 srv129 2008-04-25 23:15:57 -->
diff-484:<!-- diff generator: wikidiff2 srv132 2008-04-25 23:17:50 -->
diff-755:<!-- diff generator: wikidiff2 srv88 2008-04-25 23:20:59 -->
diff-774:<!-- diff generator: wikidiff2 srv119 2008-04-25 23:21:13 -->
diff-946:<!-- diff generator: wikidiff2 srv83 2008-04-25 23:23:12 -->

Spot checks confirm that the same server will render perfectly correct ones as well:

$ ls -l `grep -l srv83 diff*`
-rw-r--r--  1 brion  staff  20833 Apr 25 16:14 diff-224
-rw-r--r--  1 brion  staff  20833 Apr 25 16:19 diff-609
-rw-r--r--  1 brion  staff  20833 Apr 25 16:20 diff-723
-rw-r--r--  1 brion  staff  20833 Apr 25 16:21 diff-792
-rw-r--r--  1 brion  staff  20833 Apr 25 16:23 diff-936
-rw-r--r--  1 brion  staff  23284 Apr 25 16:23 diff-946

Notes:

  • The exact number of repeated lines was variable mostly 5x, some 2x
  • all bad hits were Fedora machines (8 of 515 hits; the other 485 were to Ubuntu machines srv150-189)
  • all hits reported wikidiff2
  • a further test running the diff directly in a command-line script on srv83 25,000 times in one process had encountered no failures.