Archive for the ‘Gallery of Stack Traces’ Category

Gallery of Stack Traces: Not A Valid E-mail

Tuesday, September 14th, 2010 by The Director

What happens if your application doesn’t handle invalid e-mail addresses?

.NET handles it for you:


This is not the e-mail address I was looking for
Click for full size

You really should never see this one, but I could say that about all of these, couldn’t I?

Gallery of Stack Traces: The Ubiquitous Java NPE

Wednesday, June 30th, 2010 by The Director

I was trying to use the online interface for one of my credit cards and wasn’t doing anything too naughty, I thought, when I got the Java Null Pointer Exception:


I harpooned this sunfish
Click for full size

I only use this application once in a great while (this was my second try with it), and I only spent a couple minutes with it as a user, not as a tester. Yet, here it is, an asplosion.

Am I just talented, or does the world of applications just suck that badly?

Whenever I’m planning or estimating for a financial application of any sort, I always plan for weeks of testing. Then, I don’t get called back. No doubt development shops the world over can find lower bidders (or none at all!)

And here you go.

Gallery of Stack Traces: Pay Dirt

Tuesday, November 10th, 2009 by The Director

You know what happens when you try to delete that entry?  All hell breaks loose:

FK_this.
Click for full size

You know how you find that error?  You just test.  It stems from a basic oversight in hooking up the database to the interface, where the application lets you delete something you’re not supposed to delete.

You should never see this sort of stack trace.  It leaks all sorts of insight into your database structure.

You should never see this sort of stack trace.  But you probably will.

Gallery of Stack Traces: You’re Gonna Need A Bigger Disk

Monday, March 9th, 2009 by The Director

Reader Max G. sends in this stack trace, the wailing and lamenting of a Web server lacking a little size where it matters most:

Somebody get that machine a GB transfusion, stat!
Click for full size

You know how to check for that?  Load testing, perhaps, where you pile in a whole lot of records, I suppose, or overloading an uploading sort of application using your 100Gb test files.

But brace yourself: when you encounter this in a test environment, your developers will tell you it’s due to the limitations of test environment (and you can’t try it on the production server because it’s the production server, and your test might successfully break it on the Internet).  But you have to push back.  Otherwise somebody like Max might find it in production.

Gallery of Stack Traces: If QA Wrote The Stack Trace Messages

Thursday, August 28th, 2008 by The Director

Okay, this one does not occur in nature, but man, if only:

A stack trace, if QA wrote the messages
Click for full size

 

Gallery of Stack Traces: OleDB Timeout

Wednesday, July 30th, 2008 by The Director

Here’s a simple entry into the Gallery of Stack Traces: a simple timeout that occurs when your Web server taps its foot and looks at its watch while the database isn’t showing up.  Finally, the Web server (badly) leaves a note that says, impertinently, that it waited as long as it could and it had other things to do.

Taking five
Click for full size

You should really handle that programmatically.  Especially if your entire site hides within a Content Management System, and this little timeout makes it look like your site is irrevocably broken.

Gallery of Stack Traces: When Gopher Goes Bad

Tuesday, April 1st, 2008 by The Director

Sometimes, your content management systems just cannot get what your database is telling them. The result: The Parser Error:

The Love Boat's Parser embezzles a banner ad.  No, the quip doesn't make sense.  Just roll with it.
Click for full size

In this case, it looks like it’s supposed to dish up a banner ad that the application cannot handle, resulting in havoc.

How do you find these things? Well, you just have to try to load the page. If you’ve got some sort of banner ad rotation algorithm going on, you have to reload the page. A lot.

A very basic automated test could do this for you; simply have the script load the page and use some navigation on the page. If the automated test bombs out, it could be because the navigation wasn’t there. Heck, even Empirix can handle that.

Wait a minute, someone just told me that Gopher was the Pacific Princess’s purser, whatever the heck that means. Oh, well, too late now, the gag’s done.

Gallery of Stack Traces: What We Have Here Is A Failure To Redirectorate

Monday, March 31st, 2008 by The Director

Don’t you hate it when you’re doing timeout tests, and the application shows the login page, but when you log back in you get .BARF?

.BARF!
Click for full size

When the application says, “The return URL specified for request redirection is invalid.”, it really means “Dude, why did you put all those nasty, ill-encoded characters in the URL when you know I can’t handle them?”

To find this particular beauty, you need to watch for your application dumping a lot of data onto the querystring between transactions. Then, wait for it to time out in the middle of the operation. Your application can then recognize you’ve timed out and direct you to the login page with a return URL on the querystring (if your application does this, of course). When you try to log back in, the application chokes on its own URL.

Beautiful!

For more information, see this piece on ASP.NET migration and this bit entitled “Silent Breaking-Change to FormsAuthentication::RedirectFromLoginPage.”

Gallery of Stack Traces: Big MAC Attack

Monday, March 17th, 2008 by The Director

Hey, what can happen if you click .Net 2.0 controls before the page finishes loading? Sometimes, this:

A big MAC attack
Click for full size

Build an application where you force the interface through the pipe along with the actual logic, and you’re asking for trouble. Have some.

Gallery of Stack Traces: QA From The Fourth Dimension

Wednesday, January 16th, 2008 by The Director

Developers are from Venus, and QA isn’t from Mars; it’s from a higher plane of existence than mere code monkeys as demonstrated in this stack trace:

(more…)

Gallery of Stack Traces: Number 5 Needs Good Input

Tuesday, October 16th, 2007 by The Director

What do you get when you try to put a string where the application wants a double? Well, some developers would call it a training issue, but we here at QA Hates You call it a beautiful, beautiful stack trace:

Input string in wrong format
Click for full size
Yeah, you don’t see those every day. Because even QA gets Sunday off most weeks.

Et Tu, Bug Tracker?

Wednesday, October 10th, 2007 by The Director

Following the heels of yesterday’s crash, today BugTracker.NET crapped out on me:


BugTracker .NET takes a dirt nap
Click for full size
Why, it’s almost as though the word is getting out amongst the very tools of the QA trade about me.

Gallery of Stack Traces: This Is Not The Object Reference You’re Looking For

Friday, September 14th, 2007 by The Director

This stack trace occurs when the Jedi Master developers play mind tricks on the weak-minded code:
(more…)

Gallery of Stack Traces: There Is No Spoon, Either

Monday, September 10th, 2007 by The Director

Ever feel like you’re stuck in The Matrix?

Spoon boy: Do not try and bend the row at position 0. That’s impossible. Instead… only try to realize the truth.
Neo: What truth?
Spoon boy: There is no row at position 0.
Neo: There is no row at position 0?
Spoon boy: Then you’ll see, that it is not the row at position 0 that bends, it is only yourself.

(more…)

Gallery of Stack Traces: Potentially Dangerous? QA?

Friday, August 24th, 2007 by The Director

As you know, you should always test your edit boxes to make sure that it can handle things like HTML and XML tags within it, particularly the dreaded </html> and </xml> or </table> or <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">. At best, the application will handle it through any sort of mechanisms, such as:

  • Accepting the value, but using escaped characters so that the application, browser, and database know this isn’t supposed to render.
  • Disallowing use of the < or > characters.
  • Performing client- or server-side validation to tell user to try again without the markup.

What the application should not do is this:

(more…)

Gallery of Stack Traces: Date/Time Fun

Tuesday, August 14th, 2007 by The Director

As you know, stack traces provide QA with the joie de vivre and esprit de corpse that get us through the day. As part of an ongoing series, I am going to present a series of some of my favorite stack traces that never fail to bring a smile to my face and a Dosso double-snap to my fingertips. From the Gallery today, we have two extra fun .NET stack traces that occur, frequently, when you do naughty things with dates and times.
(more…)


wordpress visitors