And the Annoying Twit of the Month Award Goes to…

And the annoying twit of the month award goes to… this guy, a student at the Ozarks Technical Community College, for his truly legendary effort of generating 38 support emails to us without considering that the problem might be in his own code.

Over the course of just two days, he managed to open five bug reports, the last one, World revolving around me. . ., definitely out of spite. It even involved a thinly veiled threat of badmouthing our product, DrJava. And to be even more annoying, he kept resetting our priority and resolution fields on the tracker to super urgent. And I even installed Windows Vista for him!

And what was the problem? No incompatibility with Vista, no bug in DrJava. When he finally sent his files (on Chris Warrington’s request — thanks), it turned out he was using a modified version of the Georgia Tech multimedia library, and those (probably self-made) modifications happened to cause an infinite recursion. Is anyone surprised he always blew the stack?

He was creating an infinite recursion in his own program. He could have just look at the stack trace:

...
at SimplePicture.getPixel(SimplePicture.java:323)
at SimplePicture.setAllPixelsToAColor(SimplePicture.java:189)
at SimplePicture.(SimplePicture.java:88)
at SimplePicture.(SimplePicture.java:60)
at Pixel.(Pixel.java:36)
at SimplePicture.getPixel(SimplePicture.java:323)
...

In SimplePicture.getPixel method, line 323, he is calling the Pixel constructor. Pixel extends SimplePicture, so when Pixel‘s constructor (line 36) gets called, it first calls the constructor of the superclass, namely the SimplePicture constructor.

The SimplePicture constructor in line 60 calls first delegates to another SimplePicture constructor, and that second SimplePicture constructor calls the setAllPixelsToAColor method in line 88.

Finally, in line 189, setAllPixelsToAColor calls SimplePicture.getPixel, and the whole thing starts over again.

Hopefully he will not file another bug report or discuss this issue any further on our bug tracker. Instead, he should refer his professor to this analysis of his own programming bug and let the professor help him understand his own mistake.

Closed for good. Hopefully.

Share

About Mathias

Software development engineer. Principal developer of DrJava. Recent Ph.D. graduate from the Department of Computer Science at Rice University.
This entry was posted in DrJava, Ramblings. Bookmark the permalink.

2 Responses to And the Annoying Twit of the Month Award Goes to…

  1. fortuna says:

    Yikes. You could ban him from submitting future bug reports. I hesitate to make such an extreme suggestion, but after filing such “bugs” as “World revolving around me. . .” it really just becomes trolling, and I think this person’s proved that he’s really not trying to make a contribution to help make DrJava better. :-/

  2. Mathias says:

    Hi fortuna :)
    Thanks for your comment!
    I thought about that, but we do want to keep anonymous submissions enabled. Otherwise, we would probably get a lot fewer bug reports, just because some people do not want to register for a SourceForge account. And without a requirement to sign in, there is no way we could ban anyone.
    To be fair, the 38 emails include those sent as a result of having to reset the priority field, or designating four of the bug reports duplicates and closing them. It would be nice to prevent users from changing the priority, though. I realize that the priority will always be “super urgent” to users if it prevents them from finishing their work, but that’s not what the priority is for. It is there to rank the importance of fixing bugs as perceived by us.
    And I should have asked for the complete source code right away, do what Chris did. I assumed he was using the unmodified library. That would have cut the number of emails down to four.

Leave a Reply