• JBert (disco)

    Must have been written on a very blue monday.

     

    By a programmer paid by the tag.

  • VinDuv (disco)

    At least those weren’t kbd tags...

  • RaceProUK (disco)

    I count three :wtf:s:

    1. Using the <font> tag.
    2. Using 158 of them nested.
    3. That Firefox bug is nearly 11 years old… and it's still not fixed.
  • Jaloopa (disco)

    so was this nesting only on the one bus? Why?

    WE NEED MORE ANSWERS DAMMIT!

  • Maciejasjmj (disco) in reply to Jaloopa
    Comment held for moderation.
  • Ilya_Konovalov (disco)

    Route 44 is missing too

  • midas_dk (disco)

    Heh. The link points to a PDF on a Microsoft Content Management Server circa 2002. That alone is slightly WTF. And also might explain the weirdness.

  • John_Imrie (disco) in reply to RaceProUK

    Re 3

    It's a bit of an edge case. Perhaps they have had better things to use their time on.

  • devjoe (disco) in reply to Jaloopa
    Comment held for moderation.
  • aliceif (disco) in reply to devjoe

    From the site's source:

    <span id="RadEditorPlaceHolderControl0"> <span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0"><span id="RadEditorPlaceHolderControl0">
    

    Wat?

  • RaceProUK (disco) in reply to John_Imrie
    John_Imrie:
    Re 3

    It's a bit of an edge case. Perhaps they have had better things to use their time on.

    Failing to render valid HTML is an edge case? :wtf:
  • ThingGuyMcGuyThing (disco)

    Da ba dee Da ba die.

  • Yazeran (disco) in reply to RaceProUK

    True, but why would you (sanely) nest a font tag 100+ deep??

  • RaceProUK (disco) in reply to Yazeran
    Yazeran:
    True, but why would you (sanely) nest a font tag 100+ deep??
    \*searches short-, mid-, and long-term memory banks* `no results found`
  • hungrier (disco) in reply to RaceProUK
    RaceProUK:
    Failing to render valid HTML is an edge case?

    Pfft, HTML. Who needs it? Smiley-face speech bubbles are where it's at in today's world.

  • CoyneTheDup (disco)

    "Simon says, 'Blue, dammit!'"

  • powerlord (disco) in reply to RaceProUK
    Comment held for moderation.
  • Vault_Dweller (disco) in reply to powerlord

    I especially like how this and the other bug's status is "NEW"

  • NedFodder (disco)
    string s = "Route 9";
    // make sure the link is blue  
    s = "<font color=\"#0000ff\">" + s + "</font>"; 
    ...
    // sweet, i can re-use my string here!
    s = s.Replace("Route 9", "Route 10");
    // make sure the link is blue
    s = "<font color=\"#0000ff\">" + s + "</font>";
    
  • Yazeran (disco) in reply to devjoe

    Properly a good ting for our sanity.

    However the site still has some strange things.

    in the source there is a looonnnngggggg base64 string which apprear to contain all the html for the site navigation as well as some strange parts:

    t<-165849533;t<;l<i<7>;>;l<t<;l<i<5>;i<11>;i<13>;i<15>;>;l<t<;l<i<0>;i<2>;>;l<t<p<l<Text;>;l<<div class="subnav">

    ;>>;;>;t<;l<i<0>;i<1>;i<2>;>;l<t<p<l<Visible;>;l<o<f>;>>;;>;t<p<l<Visible;>;l<o<f>;>>;;>;t<p<l<Visible;>;l<o<f>;>>;;>;>>;>>;t<;l<i<1>;>;l<t<t<;p<l<i<0>;i<1>;>;l<p<true;true>;p<false;false>;>>;l<i<1>;>>;;>;>>;>>;>>;l<_xpcMetaData;>>�yf#+3gn#�S��O>�J/�m

    (the base64 is some 10k long!, no kidding!, and oh great, I think I just broke Discourse....)

    Do anyone have any idea what that is???

    The html I can understand, but those other things ??!!!??

  • SirTwist (disco) in reply to powerlord
    powerlord:
    The bug report (against Mozilla, 'cuz this was before Firefox came out) for this is 17 years old.

    From this bug and the one in the story, it appears the bug resolution strategy is "wait for HTML specifications to change, so we can declare the bugs irrelevant because they apply to deprecated standards."

  • CodeSlave (disco) in reply to devjoe
    Comment held for moderation.
  • narbat (disco) in reply to Yazeran
    Yazeran:
    (the base64 is some 10k long!, no kidding!, and oh great, I think I just broke Discourse....)

    Don't worry, Discourse was broken long before you posted that.

    Yazeran:
    The html I can understand, but those other things ??!!!??

    Oh, that's easy.

    // Bob told me I had to include this file in the web page, but I don't know
    // what he's talking about because '#include "disclaimer.html"' causes a
    // compiler error. I guess I'll do it this way instead.
    //#define BUFSIZE 1024
    //#define BUFSIZE 5*1024
    #define BUFSIZE 10*1024
    char *rd_buf = malloc(BUFSIZE); // I hope this is big enough this time!
    char *wr_buf;
    int fd = open("disclaimer.html", O_RDONLY);
    read(fd, rd_buf, BUFSIZE);
    close(fd);
    wr_buf = base64_encode(rd_buf, BUFSIZE);
    write(stdout, wr_buf, BUFSIZE);
    
  • sloosecannon (disco) in reply to CodeSlave
    Comment held for moderation.
  • RichP (disco) in reply to RaceProUK

    Hanzo: "It took a lot of work, but Firefox now supports up to 1024 nested <font> tags, up from the old limit of 157!".

    Snoofle: "Do you have support for smooth full-screen flash video yet?"

    Hanzo: "No, but who uses THAT?"

  • Yazeran (disco) in reply to CodeSlave

    Well To be fair, the route 9 and 42 is not in the source either, however the site is still littered with nested font tags....

    Oh and that big base64 is still there (havent decoded that one yet though so I do not know if these ;<;>l> things which I still do not know what do are in there too)...

  • Ragnax (disco) in reply to aliceif
    aliceif:
    Wat?

    Telerik. Nothing but bad experience with their offerings myself, so it doesn't surprise me in the slightest that their WYSIWYG solution also goes completely balls up and starts spewing out repeated <font> tags or placeholder controls.

  • SimpleSimon (disco)

    Fast forward a decade or so and my local bus company has a real time iOS app that allows me to check the ETA of my bus from the nearest stop. Most of the time this works great, but about once every month or so I go to check it before leaving the house and it gives me a great big .NET YSOD ! The full pdb's must be there because I can even see the developer's name is Dave and where he likes to keep code on his PC.

    When will these people learn!

  • RaceProUK (disco) in reply to SimpleSimon

    And that's why you don't deploy debug builds :laughing:

  • chreng (disco) in reply to Yazeran

    The long hidden __VIEWSTATE string is just the asp.net way of storing state in so called webforms pages.It can, and should, be shortened considerably by applying the right attributes to controls.

  • Buddy (disco)

    My favorite thing about all this was the use of the word ‘interperating’ in the bug report.

  • HardwareGeek (disco) in reply to John_Imrie
    John_Imrie:
    Perhaps they have had better things to use their time on.

    For some definition of "better," like removing useful features.

  • redwizard (disco) in reply to ThingGuyMcGuyThing
    Comment held for moderation.
  • FrostCat (disco) in reply to CodeSlave
    CodeSlave:
    Correction routes 9 and 42 are missing instead.

    But they're actually not in the HTML this time, so maybe those routes no longer exist.

  • CoyneTheDup (disco) in reply to FrostCat
    FrostCat:
    But they're actually not in the HTML this time, so maybe those routes no longer exist.

    Or maybe something further upstream in the generation of the HTML hit wall...

  • JBert (disco) in reply to redwizard
    redwizard:
    [Music video Youtube link]
    I would give that a like if weren't such a blight upon nature.
  • hungrier (disco) in reply to JBert
    Comment held for moderation.
  • Onyx (disco) in reply to hungrier

    What... the... :rofl:

  • JBert (disco) in reply to hungrier

    Superb guitar and drum work, but what's that occasional noise on top of it? Somebody tuning a car during the recording session?

  • redwizard (disco) in reply to hungrier

    That...is so wrong...

    Next you'll get death metal bands remaking Disney tunes. :stuck_out_tongue:

  • tar (disco)
    Comment held for moderation.
  • tar (disco) in reply to hungrier
    Comment held for moderation.
  • urkerab (disco) in reply to RaceProUK
    RaceProUK:
    Failing to render valid HTML is an edge case? :wtf:
    Prior to bug 58917 the site would simply have crashed the browser, so it would still have failed to render valid HTML. At least this way it mitigates the DOS attack.
  • RaceProUK (disco) in reply to urkerab

    So the fix is to refuse to render valid HTML markup?

  • urkerab (disco) in reply to RaceProUK

    The crash fix is, yes; they don't bother to render it because it will make them crash in the attempt.

  • RaceProUK (disco) in reply to urkerab

    As opposed to making it render the complete valid HTML without crashing?

    Maybe I should just switch to Chrome after all…

  • urkerab (disco) in reply to RaceProUK

    Given any browser, there exists at least one document that it cannot render perfectly. (I'm not even sure it's possible with infinite CPU and memory, because of Godel's Incompleteness Theorem.) It's therefore far more productive to render the most prevalent documents, rather than the relatively weird edge cases such as those documents with hundreds of nested tags.

  • RaceProUK (disco) in reply to urkerab

    So, to you, the only two acceptable outcomes are 'crash' or 'give up'?

  • urkerab (disco)

    I don't think I ever claimed that 'crash' was an acceptable outcome, but it's quite possible that you'll come up with a comment where I'll give up rather than crash trying to reply to.

  • RaceProUK (disco) in reply to urkerab

    'Give Up' is not an acceptable outcome either; there is only one, and that's 'fix the fucking bug so the page renders properly'.

Leave a comment on “A Deeply Nested Mystery”

Log In or post as a guest

Replying to comment #:

« Return to Article