Bug Vanquisher

7 January 2008

After the Service Pack

Filed under: Debugging, Windows Vista — Tanveer Badar @ 11:46 PM

A nice analysis you get after you install Windows Vista SP1. The reason, no debugging symbols available as of right now.

The problem was caused by visiting this page in IE7. FF 3 beta 2 seems to work fine (at least it does not crash each and every time). So, if anyone can help, you are welcome.


0:000> !analyze
*******************************************************************************
*                        Exception Analysis                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ieui.dll, ieframe.dll, iexplore.exe, kernel32.dll –
***** OS symbols are WRONG. Please fix symbols to do analysis.

************************************************************************************
***    Your debugger is not using the correct symbols                         ***
***    In order for this command to work properly, your symbol path    ***
***    must point to .pdb files that have full type information.            ***
***    Certain .pdb files (such as the public OS symbols) do not           ***
***    contain the required information.  Contact the group that          ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                                                      ***
***    Type referenced: ntdll!_PEB                                                      ***
*************************************************************************************

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ole32.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for rpcrt4.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for msvcrt.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for msidcrl40.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for pdm.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for mshtml.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for winmm.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for wdmaud.drv –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for mswsock.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ws2_32.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for wininet.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for jscript.dll –

************************************************************************************
***    Your debugger is not using the correct symbols                         ***
***    In order for this command to work properly, your symbol path    ***
***    must point to .pdb files that have full type information.            ***
***    Certain .pdb files (such as the public OS symbols) do not           ***
***    contain the required information.  Contact the group that          ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                                                      ***
***    Type referenced: ntdll!_PEB                                                      ***
*************************************************************************************

************************************************************************************
***    Your debugger is not using the correct symbols                         ***
***    In order for this command to work properly, your symbol path    ***
***    must point to .pdb files that have full type information.            ***
***    Certain .pdb files (such as the public OS symbols) do not           ***
***    contain the required information.  Contact the group that          ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                                                      ***
***    Type referenced: kernel32!pNlsUserInfo                                     ***
*************************************************************************************

************************************************************************************
***    Your debugger is not using the correct symbols                         ***
***    In order for this command to work properly, your symbol path    ***
***    must point to .pdb files that have full type information.            ***
***    Certain .pdb files (such as the public OS symbols) do not           ***
***    contain the required information.  Contact the group that          ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                                                      ***
***    Type referenced: kernel32!pNlsUserInfo                                     ***
*************************************************************************************

************************************************************************************
***    Your debugger is not using the correct symbols                         ***
***    In order for this command to work properly, your symbol path    ***
***    must point to .pdb files that have full type information.            ***
***    Certain .pdb files (such as the public OS symbols) do not           ***
***    contain the required information.  Contact the group that          ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                                                      ***
***    Type referenced: kernel32!pNlsUserInfo                                     ***
*************************************************************************************
Probably caused by : ieui.dll ( ieui!DUserRegisterSuper+a79 )

Followup: MachineOwner
———


Oh and I almost forgot, the stack trace.


WARNING: Stack unwind information not available. Following frames may be wrong.
001fe630 7777ff75 001fe5e4 001fe658 00000000 ntdll!KiFastSystemCallRet
001fe684 73486071 00000030 001fe6b8 ffffffff user32!GetWindowRect+0x16c
001fe6a4 73486353 000004ff ffffffff 00000000 ieui!DUserRegisterSuper+0xa79
001fe6cc 734862f9 000004ff 00000000 6f1137ba ieui!WaitMessageEx+0x8b
001fe708 6f0af412 003a1788 001fe738 6f09305b ieui!WaitMessageEx+0x31
001fe714 6f09305b 00000000 00000000 00353df0 ieframe!Ordinal101+0x1a727
001fe738 6f095b28 1c70000a 00353df0 00000000 ieframe!Ordinal160+0x1281
001ff7a8 6f094e2a 00353df0 00000001 77055f59 ieframe!Ordinal101+0xe3d
001ff9d8 01333036 00322490 0000000a 01340070 ieframe!Ordinal101+0x13f
001ffe1c 01332eca 01330000 00000000 00321a00 iexplore+0x3036
001ffeb0 77181cc2 7ffdc000 001ffefc 77b087d5 iexplore+0x2eca
001ffebc 77b087d5 7ffdc000 77efc35d 00000000 kernel32!BaseThreadInitThunk+0x12
001ffefc 77b087a8 01332d4d 7ffdc000 00000000 ntdll!RtlInitializeExceptionChain+0x64
001fff14 00000000 01332d4d 7ffdc000 00000000 ntdll!RtlInitializeExceptionChain+0x37

11 September 2007

Weird, Weirdo or Weirder?

Filed under: Bugz, Debugging — Tanveer Badar @ 3:58 PM

It is up to you to classify the two abnormalities of ASP.Net that ships with netfx 2.

The first one had to do with web services only. I read it on Clemens Vasters blog accidentally. You can read the details there. I am not going to repeat them in this post.

It is the second one which is most cruel. Specifically, MaintainScrollPositionOnPostBack=”true” does not work with AJAX. It seems ScriptManager thinks of it belonging to her mother-in-law. It whines pretty badly.

Even when you are not using AJAX, you are not entirely out of the woods. It can bite you if the page does not have any HtmlForm after PageBuilder is finished with it. I mean, why even check the property to be true of false if there is no form to set that property in the first place.

In a recent application I was working on, we had pages with no form element in them. I set MaintainScrollPositionOnPostBack=”true” in <pages/> section of root web.config and mysteriously those pages could not be rendered.

Now that ASP.Net has an additional ListView control for client side interaction, you will not be able to set MaintainScrollPositionOnPostBack=”true” in any page that uses it because it is built on AJAX.

A similar minor problem happens when you set <deployment retail=”true”/> in machine.config. ASP.Net stops generating details when exceptions are thrown by web applications. Try all you might with <customErrors mode=”off”/>, nothing will work. retail=”true” is the overriding factor here.

Create a free website or blog at WordPress.com.