BUG FOUNDIn the Wild Rose Country discussion thread in JonaWolf's section of the forums, I noticed some odd things with old messages (around 3 years old). I figured it was part of the message corruption I was warned about in e-mail from March 4th. What I saw was missing or corrupted user IDs (the part to the left of the messages) and messages that seemed to either be merged with other messages or seemed to have the wrong user ID next to them.
On page 3 of that thread I posted a brief message to Jona, he responded, and just now I posted a longer message back to him. When I hit "post" everything went whack! The tail end of my new message was attached to Jona's ID 3 messages ahead of it, and intervening messages seemed to be missing. It other words, it looked like Jona wrote that message and used my sig.
Not to panic, I opened up a different browser and tried looking at the page. The messages were all there, but the color of the text was off on some messages but not others. So I opened another brand of browser (I do web development) and this time the text was there, plus all the user IDs looked good, but the color on most of the text was off and a different color than the second browser.
THIS IS WHAT I THINK IS HAPPENINGBrowsers get really sick when HTML tags are missing or corrupted. The first symptom (minor corruption) is missapplied styles (funny font sizes, colors that "bleed" from one element to the next, etc.). A more advanced symptom (major corruption) is that the browser will "forget" to render part of the page content, so you see stuff like missing rows on tables, and even big chunks of the page can be missing.
To test the missing/corrupted browser tag theory, I tried running page 1 of Jona's forum thread through
W3C's validator. That page spewed 335 errors!
I then tried a few simple pages, such as the home page of the forum: 6 errors. On some of the pages that merely list forms I get the same 6 errors. A careful read of those errors leads me to believe there are 2 real errors and 4 generated by secondary effects.
I tried a discussion thread page were the first message in the thread was only a couple of days old (the messages not corrupted by the attack): 55 errors.
I suspect there are two causes to these errors:
- General errors that occur on every page of the forum are caused by the PHP code that generates the pages. This is either because the code was corrupted in the attack, or there are bugs built into version 1.1.4 of SMF, or there are bugs built into some of the mods.
- There is corruption in the database for some messages and some user accounts that passes oddly formatted data to the PHP page generator code, and the confused code is reacting badly.
With something close to a quarter of a million messages, it isn't practical to paw through the database to try to fix cause #2. However, it is practical to fix cause #1.
If during the rebuild the whole of the SMF code was replaced with fresh, then the solution lies with Inversion. If during the rebuild someone attempted to patch fixes into existing code, then the first thing to try may be a whole, fresh code base from Inversion. Inversion is supplying a DOCTYPE for XHTML 1.0 transitional, which strongly implies they care about standards and validation since XHTML is far more persnickety about corrupted tags than HTML.
I tried validating a few pages from the Inversion website including pages on their forum:
0 errors on all pages I tried. Hot dog! So Inversion not only cares, they know what they are doing.
THINGS TO TRYIf you have a spare machine, try installing a fresh copy of Inversion SMF and see if it validates. Then move your custom style sheets over, custom Java Script, and other customizations; check validation again. My guess is if you've added any mods, they could be spewing corrupted bits of code. Try adding mods one at a time.
As for database corruption, and after the page generation code is working, maybe the moderators need to lock old threads if they show excessive errors and start new threads on the same subject (assuming the subject is of ongoing interest). If you've got goofed up HTML near the top of the page, it's ugly will ripple down and can affect later parts of the page.
Meanwhile, don't panic. If you see really goofed up pages, as a temporary solution try a different brand or revision of web browser.
Scotty