Found a bug? Have a suggestion? File a bug report!

(no blurb)
9 posts; 1105 views
Sorry about that. As it turns out, Octeract accidentally found an infinite loop hiding in my bbcode parser. As soon as a few people looked at a page with his sig on it, the server would be stuck churning away forever doing absolutely nothing and thus too busy to respond to anyone else. My bad?

Being out of town all weekend and sick when I got back didn't help either. 8)
posted at 01/31/08 20:39 -- 2 hours, 5 minutes since previous post
Hope recovery went well (for both being sick and for the server peoblems)

If He hasn't changed his sig sence the repair I think I can see where the error came from, and it adds one more reason to the list of why to dislike/hate adoptables in signatures.
posted at 02/01/08 00:19 -- 3 hours, 40 minutes since previous post
FINALLY!

*takes name off of suicide watch list*

Your Pokedex is amazing, BTW.

[insert asskissing here]
Sarcasm is a virtue.
posted at 02/01/08 01:05 -- 45 minutes, 53 seconds since previous post
The problem in the sig was, incidentally, that he had a newline inside a [url] tag.
posted at 02/01/08 03:08 -- 2 hours, 2 minutes since previous post
Is it terribly geeky of me to be curious about the code inducing that infinite loop?
*flutterflutter*
posted at 02/01/08 03:54 -- 45 minutes, 42 seconds since previous post
Post last edited on 02/01/08 03:55 by Eevee
fix for your viewing pleasure

The while() is necessary to make sure that nested tags (like a url inside a url, which is HTML garbage but technically feasible as far as the parser is concerned) are done correctly. If I had just done s: [tag] (.+?) [/tag] : whatever($1) :g, then something like [url] outside [url]inside[/url] outside again [/url] would have matched at the first [url] (the outer one), read until the first [/url] (the inner one), and replaced that block. That would be terribly wrong. The way I did it puts a (.*) at the beginning of the regex, so it starts matching at the end, and takes the LAST tag it finds and the FIRST matching close-tag after it. These two must logically match. This will only match once, though, so I have to use the loop to get every tag.

I searched for [tag followed by ] or = in the while loop's condition. The problem was that I was using (.+?) to match the contents of the tag. Without the /s switch, . will never match a newline. When someone made a sig with a newline inside a link, the loop condition kept finding the tag but the regex never matched and replaced it, so the loop ran forever. Slap on a /s and it works fine.

Hell of a bitch to debug, though. Turns out the Perl debugger is really cool; I can press ctrl-c at any time to see line that's executing right at that moment. Wish I'd known that a week ago.
posted at 02/01/08 23:53 -- 19 hours, 59 minutes since previous post
Thank goodness Veekun is back. I was beginning to go insane trying to use Bulbapedia or Psypoke to try and construct my teams. And of course nobody in their right minds would use Serebii's Faildex.

So basically I just wanted to say thanks for the site, Eevee. I was worried it had been lost forever in the desert of the Internet for a moment, there.

"I know a lot of kids in my street who, when we wirelessly battle, always have a loppuny. When I ask em why, they always say they think she's hot and some say their dad agrees with them."
posted at 02/02/08 03:13 -- 3 hours, 19 minutes since previous post
Post last edited on 02/02/08 03:13 by Octeract
OOOOOOOOOOOOOOOOOOOOOOOOOOOOPS

Automerged:
oh, wait. I rescued Veekun.



[crosses out OOOOOOOOOOOPS]

Automerged:
to celebrate, I'll go get an avatar!
posted at 02/02/08 22:22 -- 19 hours, 9 minutes since previous post
Good to see it's back. =) The best Pokémon site (okay... tied with TCoD) rules once more!
43 weeks, 2 days
since last post
View options

Filter by user: