69 votes

Tildes homepage is down? (2025-02-25 4pm UTC)

Tags: outages, null

I'm able to get to other routes on tildes.net, but navigating to the root gives a 500 Internal Server Error. Outage?

Edit: seems fixed as of 6:45pm UTC

43 comments

  1. [2]
    Deimos
    Link
    Some technical details for those interested: Topic tags use the PostgreSQL data type ltree to support having a hierarchy with sub-tags and such (groups also use this). Tags are stored in the...

    Some technical details for those interested:

    Topic tags use the PostgreSQL data type ltree to support having a hierarchy with sub-tags and such (groups also use this). Tags are stored in the database in an array column with ltree values. So the actual data for a topic's tags might look something like this: {programming,bugs,some_tag,parent_tag.sub_tag}.

    The site's code uses the SQLAlchemy library to interact with the database, but it doesn't support arrays of ltree (or at least this version doesn't), so I had to write some custom handling for them to convert between Python types and the PostgreSQL representation. The error was happening when reading the value out of the database, because null is escaped when stored (to store the string "null" and not a literal null value), and the data looks more like this: {some_tag,"null",another}.

    I hadn't accounted for the possibility that a string could be escaped in the value like that. The PostgreSQL docs mention it, but almost all of these possibilities aren't valid in tags (or ltree values) anyway:

    The array output routine will put double quotes around element values if they are empty strings, contain curly braces, delimiter characters, double quotes, backslashes, or white space, or match the word NULL.

    So it wasn't really anything "dangerous"—it was being stored properly, but caused an error when reading it back out. Funny, ironic (and kinda embarrassing) in the context this came up though.

    69 votes
    1. Promonk
      Link Parent
      Wait, so are you saying the "null" in the title of the link about how some computer systems are having a hard time handling the surname "Null" caused the front page to crash? That's delightful if...

      Wait, so are you saying the "null" in the title of the link about how some computer systems are having a hard time handling the surname "Null" caused the front page to crash?

      That's delightful if true! Frustrating for you, I'm sure, but deliciously poetic all the same.

      Edit: I see it was @cfabbro adding a tag with the string "null." Straight to the box with you, cfabbro! Contemplate your sins!

      27 votes
  2. [2]
    Crespyl
    Link
    I'm seeing the same thing. Was able to navigate directly to ~tildes to find this post. I guess we'll see if this comment goes through.

    I'm seeing the same thing. Was able to navigate directly to ~tildes to find this post. I guess we'll see if this comment goes through.

    16 votes
  3. [34]
    Noox
    Link
    Oh I guess it's just the homepage then. I found this post by googling "is tildes.net down".

    Oh I guess it's just the homepage then. I found this post by googling "is tildes.net down".

    15 votes
    1. [33]
      Noox
      Link Parent
      u/cfabbro u/Deimos Pinging in case it's not known yet

      u/cfabbro
      u/Deimos

      Pinging in case it's not known yet

      16 votes
      1. [32]
        cfabbro
        (edited )
        Link Parent
        It is known. I messaged Deimos a few hours ago... but I think he may be away from a computer for an extended time today. Pretty sure I was the one that broke the site, BTW. Ironically... it may...
        • Exemplary

        It is known. I messaged Deimos a few hours ago... but I think he may be away from a computer for an extended time today.

        Pretty sure I was the one that broke the site, BTW. Ironically... it may have actually been triggered by me putting null in the topic tags on this article, which is about people with the last name 'Null' causing various server errors on other sites and services.

        Edit: Confirmed by @Deimos, that was what broke the site. Sorry, everyone! :P

        97 votes
        1. [13]
          Deimos
          Link Parent
          Well, that sure is ironic. I'm honestly surprised that it took this long for us to run into it.
          • Exemplary

          Well, that sure is ironic. I'm honestly surprised that it took this long for us to run into it.

          73 votes
          1. [9]
            l_one
            Link Parent
            I would humbly petition that the standard error message for something not working properly on Tildes now include "cfabbro... what have you done?"
            • Exemplary

            I would humbly petition that the standard error message for something not working properly on Tildes now include "cfabbro... what have you done?"

            54 votes
            1. [6]
              DefinitelyNotAFae
              Link Parent
              Motion is seconded

              Motion is seconded

              24 votes
              1. [5]
                TheD00d
                Link Parent
                All in favor? Roberts rules of order suggests that a simple majority should suffice.

                All in favor?

                Roberts rules of order suggests that a simple majority should suffice.

                14 votes
                1. Raspcoffee
                  Link Parent
                  Be careful someone doesn't 'aye', 'nay' or 'abstain' but instead votes NULL. It crashes the plenary.

                  Be careful someone doesn't 'aye', 'nay' or 'abstain' but instead votes NULL. It crashes the plenary.

                  13 votes
          2. [3]
            atchemey
            Link Parent
            Just wait until little Bobby Tables ends up joining Tildes...Sanitize your data inputs! XD

            Just wait until little Bobby Tables ends up joining Tildes...Sanitize your data inputs! XD

            14 votes
            1. l_one
              Link Parent
              Nah, it'll be fine... We all just need to make sure to include a note to drop Mr. Tables from any input so nothing goes wrong. We could even shorten it up to just 'Drop Tables'. Everyone would...

              Nah, it'll be fine... We all just need to make sure to include a note to drop Mr. Tables from any input so nothing goes wrong.

              We could even shorten it up to just 'Drop Tables'. Everyone would understand.

              7 votes
        2. [2]
          kfwyre
          Link Parent
          cfabbro giveth (invites) and cfabbro taketh away (the whole damn homepage) Has his power grown too strong?

          cfabbro giveth (invites)
          and cfabbro taketh away (the whole damn homepage)

          Has his power grown too strong?

          31 votes
        3. fefellama
          Link Parent
          That's actually pretty hilarious. Thanks for the update!

          That's actually pretty hilarious. Thanks for the update!

          20 votes
        4. irren_echo
          Link Parent
          Haha incredible. Loads fine for me now, thanks for all your hard work! It's very much appreciated :)

          Haha incredible.
          Loads fine for me now, thanks for all your hard work! It's very much appreciated :)

          18 votes
        5. [2]
          l_one
          Link Parent
          That article was clearly written as a nefarious secret attack to secretly attack Tildes in a nefariously secretive manner!!! Have they no honor!

          That article was clearly written as a nefarious secret attack to secretly attack Tildes in a nefariously secretive manner!!!

          Have they no honor!

          18 votes
          1. uvt
            (edited )
            Link Parent
            Darn those Canadian state actors posting malicious links at 3 AM

            Darn those Canadian state actors posting malicious links at 3 AM

            12 votes
        6. PnkNBlck71817
          Link Parent
          That is too funny. Thanks for the laugh during a really boring day!

          That is too funny. Thanks for the laugh during a really boring day!

          16 votes
        7. [2]
          tanglisha
          Link Parent
          This is the first time I’ve seen the site down at all. Honestly, that’s really good considering the amount of activity here.

          This is the first time I’ve seen the site down at all. Honestly, that’s really good considering the amount of activity here.

          15 votes
          1. CannibalisticApple
            Link Parent
            I've seen it down for I think a few minutes at most. Just long enough to check the "is it down" sites to confirm it wasn't just me. Tildes probably has the most steady uptime of any site I visit.

            I've seen it down for I think a few minutes at most. Just long enough to check the "is it down" sites to confirm it wasn't just me. Tildes probably has the most steady uptime of any site I visit.

            8 votes
        8. [5]
          teaearlgraycold
          Link Parent
          What in the unescaped SQL?

          What in the unescaped SQL?

          13 votes
          1. [4]
            simplify
            Link Parent
            Tildes should have some kind of prepared statement for outages like this.
            • Exemplary

            Tildes should have some kind of prepared statement for outages like this.

            22 votes
            1. tanglisha
              Link Parent
              Hm, SQL and prepared statement in one thread.

              Hm, SQL and prepared statement in one thread.

              4 votes
        9. [2]
          qob
          Link Parent
          This is not your fault! You weren't trying to break anything and used the site normally. I got a good laugh out of this, so thank you for that. Also many thanks to everyone who doesn't post an...

          This is not your fault! You weren't trying to break anything and used the site normally.

          I got a good laugh out of this, so thank you for that. Also many thanks to everyone who doesn't post an article about SQL injection. :)

          9 votes
          1. Toric
            Link Parent
            BRB, got an idea.

            BRB, got an idea.

            8 votes
        10. updawg
          Link Parent
          Lol That's the post that I was trying to view when I noticed the problem. I was curious if it was something about that post. Funny that it actually was!

          Lol That's the post that I was trying to view when I noticed the problem. I was curious if it was something about that post. Funny that it actually was!

          8 votes
        11. Noox
          Link Parent
          LOL No good deed goes unpunished and all that jazz :p thanks for the update and glad it's fixed!

          LOL

          No good deed goes unpunished and all that jazz :p thanks for the update and glad it's fixed!

          5 votes
  4. [3]
    updawg
    Link
    I can access some groups, but not other(s?), such as ~comp.

    I can access some groups, but not other(s?), such as ~comp.

    9 votes
    1. [2]
      AugustusFerdinand
      Link Parent
      Just opened all groups, only ~comp isn't working for me (irony). Homepage does work.

      Just opened all groups, only ~comp isn't working for me (irony).
      Homepage does work.

      7 votes
      1. l_one
        Link Parent
        Weird that it's also ~comp while not others. Also brings to my attention that I don't know how to view the list of groups without going to the root homepage.

        Weird that it's also ~comp while not others.

        Also brings to my attention that I don't know how to view the list of groups without going to the root homepage.

        4 votes
  5. l_one
    Link
    Same here. I only found this because I was persistent in looking for either redundant confirmation or finding non-tildes locations to ask others about status.

    Same here. I only found this because I was persistent in looking for either redundant confirmation or finding non-tildes locations to ask others about status.

    7 votes