Login to participate
  
Register   Lost ID/password?
Louis Kessler's Behold Blog » Blog Entry           prev Prev   Next next

The Worst Type of Programming Bug - Sat, 12 Mar 2016

We programmers try very hard to keep our programs free of bugs. The bad bugs are the ones that make our programs crash producing a system error, or make our programs freeze requiring the use of Task Manager to end the task.

An example of a simple way in my programming language Delphi to make the program crash is to index a string beyond the length of a string, e.g.:
    S := ‘ABC’;
    S2 := S[5];   // will cause the program to crash

Those sorts of bugs are really bad, because users lose confidence in the reliability of your software. One incident in 100 uses is likely even too much. After two or three, you should expect most people will stop using the program and start looking for alternative software for the task.

So programmers have to be careful to avoid such situations and test their programs to ensure their programs are as bug-free as possible.

We had a very close-knit group of genealogists during the recent Unlock the Past Cruise I was on. I gave a free lifetime licence to all the people who participated in our genealogy program on the cruise. (Hint: some of you have not requested your key from me yet)

I received feedback from Jennie and Lyn, both from our cruise group, that Behold was getting into some sort of a loop and could not be terminated even by using Task Manager and was locking up the system. I was quite shocked at hearing this as I had never encountered same and no other users had informed me of such a problem.

It turns out the problem happened when they were attempting to input their user name and registration key. The About box accepts the entry of those values and works fine if the values are entered properly.

image

But (as I shockingly found out myself) if you either enter them incorrectly, or even if you don’t enter them and try to exit, then Behold goes into an infinite loop closing the About box, checking the entries, finding they are not correct, reopening the About box … without giving you a chance to enter a new user and key … and this continues. It takes over so much of your computer’s resources that if you open the Task Manager and it is in the same space that Behold is running, you may not get it to the foreground long enough to be able to use it to end Behold. Your only option is to shut the computer down.

Now, if I ever was trying a new program, and this happened to me, I’d just think that program’s a piece of crap, delete it and never bother with it again. I’m sure you would too. So I’m glad Jennie and Lyn let me know, or I may not have found out about this.

I looked back and I see that the bug was introduced in Version 1.2 (15 Nov 2015). The item I “improved” as written in my Version History was: “Escape from the About box now just closes it rather than asking if you want to exit from Behold”.  I had deleted 5 lines of code. I checked to ensure that it worked. I neglected to check possible illegalities in entry of the user name or key or exiting without entering those values.

So for the past 4 months, people who downloaded and tried Behold were subject to this bug if they did not fully enter a valid user name and key before hitting okay in the About box. I have no idea how many people might have done this and gotten pissed off so as to label my program as crap.

The fortunate thing about this bug is that it only occurs before the user and key is entered. Any people who have already entered valid purchase or trial codes will not have problems and the core program is not in any way affected.

But this still needs to be fixed as soon as possible. I would have issued a 1.2.0.2 update today, but I found that my source for that version got corrupted. I realized I’m better off using the 1.3 code I’m now working on than trying to recreate that 1.2.0.1 version. So I will try to get this fix out ASAP along with a new version. To speed up the release, I’ll delay the update of the help files until version 1.3.1.

In the meantime, if you download Behold and want to try it, just make sure you enter the user and key correctly on the About page, and then you shouldn’t have any problems.

No Comments Yet

Leave a Comment

You must login to comment.

Login to participate
  
Register   Lost ID/password?