locked
Open File Dialog problem on XP RRS feed

  • Question

  • Hi, a customer of mine has a really strange prolem on his pc running XP SP3.  When he uses any program that uses the open file dialog box with thumbnails as the initial view the program crashes with an error.  The error is caused in comdlg32.dll at offset ae21 (which is part of the code of GetOpenFileNameA).

    I have simulated the error (in a VB program) and have pinned it down to the GetOpenFileNameA API call using a DialogHookProc call and FCIDM_SHVIEW_THUMBNAIL.  I have checked through the DLL's loaded on his and my machine using dependency walker and they are the same versions and checksums.

    It only happens with the dialog box opening in the thumbnail view as the initial view.  If it opens in an alternative (i.e. list) view it is ok, if I then change to thumbnails it is also ok.

    Programs it affects are: Paint, Windows Live Mail (when clicking the photos or photo mail button), Paintshop pro - all of which open with the thumbnails as the initial view.

    I tried re-installing SP3, re-registering all the DLL's in System32 but the problem remains.

    Any ideas? What forum should I ask the question in?

    Thanks

    Saturday, August 21, 2010 7:58 AM

Answers

  • Hard to tell without the call stack. If comdlg32 is on top of the call stack, try the Shell Programming forum

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    Wednesday, August 25, 2010 2:50 PM

All replies

  • I think the problem is in one of the registered shell extension, thumbnail provider (If the opening folder contains files) or broken video decoder (If the opening folder contains video). 

    I suggest to download Windows Symbols to get better information from the call stack first.

     



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    Sunday, August 22, 2010 2:55 AM
  • Hi Sheng,

    tried that. WinDbg gives:

    CommandLine: C:\WINDOWS\system32\mspaint.exe
    Symbol search path is: http://msdl.microsoft.com/download/symbols
    Executable search path is:
    ModLoad: 01000000 01057000   mspaint.exe
    ModLoad: 7c900000 7c9b2000   ntdll.dll
    ModLoad: 7c800000 7c8f6000   C:\WINDOWS\system32\kernel32.dll
    ModLoad: 5f800000 5f8f2000   C:\WINDOWS\system32\MFC42u.DLL
    ModLoad: 77c10000 77c68000   C:\WINDOWS\system32\msvcrt.dll
    ModLoad: 77f10000 77f59000   C:\WINDOWS\system32\GDI32.dll
    ModLoad: 7e410000 7e4a1000   C:\WINDOWS\system32\USER32.dll
    ModLoad: 77dd0000 77e6b000   C:\WINDOWS\system32\ADVAPI32.dll
    ModLoad: 77e70000 77f02000   C:\WINDOWS\system32\RPCRT4.dll
    ModLoad: 77fe0000 77ff1000   C:\WINDOWS\system32\Secur32.dll
    ModLoad: 763b0000 763f9000   C:\WINDOWS\system32\comdlg32.dll
    ModLoad: 773d0000 774d3000   C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.dll
    ModLoad: 77f60000 77fd6000   C:\WINDOWS\system32\SHLWAPI.dll
    ModLoad: 7c9c0000 7d1d7000   C:\WINDOWS\system32\SHELL32.dll
    ModLoad: 774e0000 7761d000   C:\WINDOWS\system32\ole32.dll
    ModLoad: 77120000 771ab000   C:\WINDOWS\system32\OLEAUT32.dll
    ModLoad: 76390000 763ad000   C:\WINDOWS\system32\IMM32.dll
    (12bc.12c4): Break instruction exception - code 80000003 (first chance)
    eax=001a1eb4 ebx=7ffd6000 ecx=00000003 edx=00000008 esi=001a1f48 edi=001a1eb4
    eip=7c90120e esp=0007fb20 ebp=0007fc94 iopl=0         nv up ei pl nz na po nc
    cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
    ntdll!DbgBreakPoint:
    7c90120e cc              int     3
    0:000> g
    ModLoad: 5cb70000 5cb96000   C:\WINDOWS\system32\ShimEng.dll
    ModLoad: 6f880000 6fa4a000   C:\WINDOWS\AppPatch\AcGenral.DLL
    ModLoad: 76b40000 76b6d000   C:\WINDOWS\system32\WINMM.dll
    ModLoad: 77be0000 77bf5000   C:\WINDOWS\system32\MSACM32.dll
    ModLoad: 77c00000 77c08000   C:\WINDOWS\system32\VERSION.dll
    ModLoad: 769c0000 76a74000   C:\WINDOWS\system32\USERENV.dll
    ModLoad: 5ad70000 5ada8000   C:\WINDOWS\system32\UxTheme.dll
    ModLoad: 4ec50000 4edfb000   C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.6001.22319_x-ww_f0b4c2df\gdiplus.dll
    ModLoad: 74720000 7476c000   C:\WINDOWS\system32\MSCTF.dll
    ModLoad: 10000000 1001a000   C:\Program Files\TeamViewer\Version5\tv.dll
    ModLoad: 009b0000 00a37000   C:\Program Files\Trusteer\Rapport\bin\rooksbas.dll
    ModLoad: 76bf0000 76bfb000   C:\WINDOWS\system32\PSAPI.DLL
    ModLoad: 755c0000 755ee000   C:\WINDOWS\system32\msctfime.ime
    ModLoad: 76fd0000 7704f000   C:\WINDOWS\system32\CLBCATQ.DLL
    ModLoad: 77050000 77115000   C:\WINDOWS\system32\COMRes.dll
    ModLoad: 00b90000 00e55000   C:\WINDOWS\system32\xpsp2res.dll
    ModLoad: 73ba0000 73bb3000   C:\WINDOWS\system32\sti.dll
    ModLoad: 74ae0000 74ae7000   C:\WINDOWS\system32\CFGMGR32.dll
    ModLoad: 77920000 77a13000   C:\WINDOWS\system32\setupapi.DLL
    ModLoad: 77b40000 77b62000   C:\WINDOWS\system32\appHelp.dll
    ModLoad: 77a20000 77a74000   C:\WINDOWS\System32\cscui.dll
    ModLoad: 76600000 7661d000   C:\WINDOWS\System32\CSCDLL.dll
    ModLoad: 75f80000 7607d000   C:\WINDOWS\system32\browseui.dll
    ModLoad: 76990000 769b5000   C:\WINDOWS\system32\ntshrui.dll
    ModLoad: 76b20000 76b31000   C:\WINDOWS\system32\ATL.DLL
    ModLoad: 5b860000 5b8b5000   C:\WINDOWS\system32\NETAPI32.dll
    (12bc.12c4): Access violation - code c0000005 (first chance)
    First chance exceptions are reported before any exception handling.
    This exception may be expected and handled.
    eax=00000000 ebx=00000000 ecx=00000040 edx=00000002 esi=000ca950 edi=0007d458
    eip=763bae21 esp=0007d410 ebp=0007d668 iopl=0         nv up ei pl zr na pe nc
    cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010246
    comdlg32!CFileOpenBrowser::OnSelChange+0x1a0:
    763bae21 8b08            mov     ecx,dword ptr [eax]  ds:0023:00000000=????????

    The stacktrace only has calls to comdlg32, USER32, ntdll, MFC42U

    Any idea where to search from here or the forum to post on for more help?

    Thanks,

    Nigel

    Tuesday, August 24, 2010 5:57 PM
  • Hard to tell without the call stack. If comdlg32 is on top of the call stack, try the Shell Programming forum

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    Wednesday, August 25, 2010 2:50 PM