Circular duplicate links didn't used to be allowed, but I just did it:

How to access the system tray using the keyboard?

How to access (or switch between) tray icons with shortcut in windows?

question one

question two

  • Did you undo it? The first one isn't closed
    – FDinoff
    Jul 1, 2013 at 3:18
  • @FDinoff yes, I undid it since I didn't actually want the circular reference to stay. If you look in the revision history you should see it.
    – nhinkle
    Jul 1, 2013 at 3:21
  • 15
    // TODO: implement circular dependency checking oops... Jul 1, 2013 at 3:29
  • 1
    What's the @@ button do?
    – Undo
    Jul 1, 2013 at 3:30
  • @JarrodDixon I swear I was stopped once from making a circular reference, but maybe I'm conflating that with it stopping me from marking as a duplicate of a deleted question. Either way, could you make it status-planned if that's appropriate?
    – nhinkle
    Jul 1, 2013 at 3:35
  • 1
    @Undo wouldn't you like to know! :P
    – nhinkle
    Jul 1, 2013 at 3:37
  • No, the code used to be there, but most of the flagging/closing code was refactored. Part of the plan was to implement Tarjan's algorithm for finding circular dupes. Jul 1, 2013 at 3:37
  • @nhinkle Really - superping?
    – Undo
    Jul 1, 2013 at 3:43
  • @Undo it's a userscript that one of the SU mods wrote that copies the superping string for each user who voted to close a question. We use it to send reminders via chat to users who vote to migrate questions to SU that don't belong there.
    – nhinkle
    Jul 1, 2013 at 3:47
  • @JarrodDixon with the automatic redirect for anonymous users on duplicates, what happens when there's a circular reference?
    – nhinkle
    Jul 1, 2013 at 3:48
  • 2
    We get an exception in our logs. And I am deprived of my dinner. Jul 1, 2013 at 3:51
  • @JarrodDixon I'm glad to hear that they take these things seriously over there. What happens to the user? "Oops, something went wrong" or "infinite redirect loop"?
    – nhinkle
    Jul 1, 2013 at 3:54
  • Probably an infinite redirect loop on the client. Jul 1, 2013 at 3:56
  • Possible duplicate: meta.stackexchange.com/questions/54024/… Apr 2, 2018 at 5:06

1 Answer 1


Alright, I've added some protection against this via a neat library that danielrbradley created.

There's sure to be some issues (which we'll log when a block occurs), but the base cases are covered (and unit tested, oh my!).


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .