Bug Vanquisher

22 April 2008

Horribilus Totalus

Filed under: Bugz, Fun, Rant vs Vent — Tanveer Badar @ 3:32 PM

I can’t properly write anything from Live Writer if I have IE8 installed. For some weird reason, mshtml.dll seems to decide that an AV is in order at some random instant whenever playing with tables or particularly (read pretty) formatted text.

7 April 2008

Analyze This!

Filed under: Bugz, C++ — Tanveer Badar @ 1:06 AM

Consider this little piece of ****. I mean piece of code. :)

template< typename U , typename T > U convert( T t )
    return t;

template< typename T , typename projection , > class blah_blah_blah
    // details we really shouldn’t see

    projection& operator * ( )
        return convert< projection >( *current );

If you decide to do

blah_blah_blah< float , double > x = get_blahblahblah( );

The second statement will fail with some cryptic error message. The real problem is the return type of operator * and the statement return t; in convert. The implicit conversion from T to projection (which is to say, promotion from float to double) loses the l-value[dness] of *current. And since a reference requires l-value upon return, it fails to compile.

Given the constraint the convert< projection > was absolutely necessary, and upon further thought, that projection& was not a requirement, a fix was born.

projection operator * ( )
    return convert< projection >( *current );

9 March 2008

The Stupidest Thing I Have Ever Heard

Filed under: Bugz, Rant vs Vent — Tanveer Badar @ 4:38 PM

Mind it I hear a lot of stupid things too.

Thank you for your interest in obtaining updates from our site.
To use this site, you must be running Microsoft Internet Explorer 5 or later.
To upgrade to the latest version of the browser, go to the Internet Explorer Downloads website.
If you prefer to use a different web browser, you can obtain updates from the Microsoft Download Center or you can stay up to date with the latest critical and security updates by using Automatic Updates. To turn on Automatic Updates:

  1. Click Start, and then click Control Panel.
  2. Depending on which Control Panel view you use, Classic or Category, do one of the following:
    • Click System, and then click the Automatic Updates tab.
    • Click Performance and Maintenance, click System, and then click the Automatic Updates tab.
  3. Click the option that you want. Make sure Automatic Updates is not turned off.

Problem: IE8 Beta 1. ;)

Of course, I’ll be reporting Windows Update as broken.

PS: Apparently, I can’t even report Windows Update as broken on Windows XP. It won’t let me. ;(

27 January 2008

Yahoo is SO Much Fun!

Filed under: Bugz, Funnier — Tanveer Badar @ 8:21 PM


Latest version of Firefox is considered "rare" by Yahoo. Yes "rare" indeed, but the most conformant to web standards of all others out there!

May I point out that new version of Yahoo Mail does not work in FF 3 Beta 2 either, because they try to move nodes from one document to other through whatever arcane non standard method. This should be attempted through importNode or adaptNode.


29 December 2007

The Bug

Filed under: Bugz, Rant vs Vent — Tanveer Badar @ 5:34 AM

It was ages ago to_date(7/2/2007 , ‘MM/DD/YYYY’) since I entered the bug at connect.microsoft.com about OneNote displaying incorrectly in the dialog box of taskbar properties where you can choose which icons to hide in the notification area.


Notice the ‘&‘ before New, it should not be there at all.

Here are the details I entered:


When customizing which icons to display in the taskbar and which not, OneNote’s description includes keyboard accelerator format specifier too.

Instead of saying ‘Open New Side Note(Window…)’ it says ‘Open &New Side Note(Window…)’.


OneNote 2007

How often does this happen?

Always Happens

Have you seen this problem before in this product?

No, this is new to the most recent version

Reproduction Steps

Run OneNote at least once. It’s quick access icon should appear in the notification area.

Right click on task bar and choose customize. (This is only supported on Windows XP onwards.)

Incorrect description as previously said appears.

Expected Results

There should be no format specifier.

And the ridiculous resolution:

The following fields or values changed:
Field Status changed from [Active] to [Resolved]
Field Resolution changed from [Not Set] to [External]

I wonder why it took OneNote team to mark a bug "won’t fix" 5.5 months?

For the added bonus, find as many inconsistencies as you can.

Overall Statistics
19,733 registered users
502 total bugs
458 total suggestions
54 active bugs
2 resolved bugs
446 closed bugs
27 active suggestions
0 resolved suggestions
431 closed suggestions
Previous 7 Days
19 new users
0 new bugs
68 resolved bugs
135 closed bugs
0 new suggestions
124 resolved suggestions
139 closed suggestions

25 December 2007

The Bug in the Bug

Filed under: Bugz, Rant vs Vent, Windows Vista — Tanveer Badar @ 9:20 PM

Yesterday, I installed Windows Vista SP1 on my box. Everything works fine, except three!

Network icon is very shy of showing the actual connectivity of my computer on the internet. It takes two minutes to update from clip_image001 to clip_image001[5]. Not remotely amusing. Thank God, I have my modem sitting right in front of me to have a look at those five LEDs. Such a time saver.

It is possible to boot the system from cold faster than it is able to resume from sleep from cold. The wonders of sleep optimizations.

And this leads to the last issue. It is not possible to submit this report to Microsoft, because the tool included in SP1 is for beta releases of Windows Vista. It fails to update itself, always downloads a copy of the program when run again, saves reports in a format it cannot itself read, is never able to establish a connection to Microsoft servers for report submission, the error it shows in this case redirects to a page which keeps refreshing itself without ever showing anything, shows Longhorn in its UI instead of Vista.

19 December 2007

I Hate foreach

Filed under: Bugz, Dev inside! — Tanveer Badar @ 3:42 PM

There are many reasons. People don’t implement it properly. foreach uses duck typing which does not require one to implement IEnumerable/IEnumerator. But people always go ahead and implement them with "virtual" functions and properties. Consider the performance hit when you are recursively iterating over all the files in a drive.

foreach also requires that collection be not modified during enumeration, yet people still do these kinds of things

foreach( Transaction transaction in transactions )

transactions.Remove( transaction );


in [it].

Minus Zero Really Matters!

Filed under: Bugz, Funnier — Tanveer Badar @ 3:29 AM

Don’t believe me? Have a look at this.

29 November 2007

Definitely Buggy (Next Part)

Filed under: Bugz, Fun — Tanveer Badar @ 4:44 PM

I have refrained from giving the heading a name ending in ‘Part 2’ because I suspect many more will come and eventually I’ll reach infinity.

Five minutes ago, Internet Explorer crashed pointing a finger to Flash9.ocx. I submitted a bug report to WER like a good citizen. After that, a little pop-up appeared thanking me and hosting a link for further information.

But, it took part of URL from my current culture, ur-PK. Therefore, the resultant link was http://wer.microsoft.com/responses/Response.aspx/2349/ur/5.1.2600.2.00010100.2.0?SGD=529579a5-9a25-41fa-88e3-358209fcca39
which is never going to work in a million years, unless you expect US President to speak Urdu as mother-tongue.

After a little (another) stroke of genius, I spotted the mistake and made it to the correct page.

There, I realized I had worked pointlessly as there is no useful information available there.

4 November 2007

CppCodeProvider Bug List

Filed under: Bugz, C++ — Tanveer Badar @ 7:57 PM

Despite making major strides in the implementation of CppCodeProvider there are still some pieces missing. There are still few cases where you get no definition when rendering UDTs split. Specific cases are:

  • Foremost, MemberType and PointerToMember¬† will throw FunctionNotImplementedException if rendered.

  • Member types (UDT/enum/union) which are not specified to be defined inline are missing definitions.

  • I would love to add support to declare a function/type as friend of another UDT or union.

  • If a member variable is declared static const and not an integral type, it is not defined.

  • If a member function (function/operator/constructor/destructor) is not declared inline

Irrelevant of rendering UDTs split or not, member type and pure virtual function rendering is broken and here is why:

  • If a member UDT has enclosing type as one of the bases, it is not even defined.

  • If a member function is pure (exception constructors), it is not defined anywhere.

Apart from these, there is memory leak when you try to assign a destructor to a UDT. I am investigating that issue.

« Newer PostsOlder Posts »

Blog at WordPress.com.