locked
Visual Studio 2005 crashing in Windows 7 x64 RRS feed

  • Question

  • Running Visual Studio 2005 SP1 on Windows 7 x64 as administrator and I'm getting crash in the app after a random amount of time since starting up with a solution open.

    The Windows 7 is RTM fully patched.  Visual Studio 2005 has the following updates installed:

    Service Pack 1 (KB 926601)
    KB 973673
    KB 947738
    KB 947315
    KB 937061
    KB 935225
    KB 932232

    Note the patch 971090 was installed but I've had to uninstall it due to this thread: http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/793f1dc8-bdd5-429f-8d42-589116cb0061

    Event Viewer log:
    Faulting application name: devenv.exe, version: 8.0.50727.867, time stamp: 0x45d2c842
    Faulting module name: vcpkg.dll, version: 8.0.50727.1812, time stamp: 0x479ed7ca
    Exception code: 0xc0000005
    Fault offset: 0x000c4c55
    Faulting process id: 0x12b0
    Faulting application start time: 0x01ca3873974b20a0
    Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\devenv.exe
    Faulting module path: C:\Program Files (x86)\Microsoft Visual Studio 8\VC\vcpackages\vcpkg.dll
    Report Id: fcc18590-a487-11de-9115-001320f83adb
    Friday, September 18, 2009 8:30 PM

Answers

All replies

  • Hi Brent

    It looks that the crash happened at calling the vcpkg.dll, did you deal with VC++ relevant jobs right before the crash?
    If the file is corrupt, there can be a problem.

    You can also check the general points of the problem described here: http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/0376db8f-4761-4ae5-9af2-98c53216318a#VS_IDE_unexpected_problems , please try those methods that you've not tried yet.

    In addition, to track down the root cause of this crash issue, you may debug the Visual Studio 2005.

    There are some articles for your reference:

    How to debug application crash/hang in production environment
    http://blogs.msdn.com/msdnts/archive/2006/11/24/how-to-debug-application-crash-hang-in-production-environment.aspx

    Application Debugging in a production environment
    http://download.microsoft.com/download/d/f/c/dfc7a022-3426-4868-b23c-3818a6e54305/Application%20Debugging.pdf

    Thanks.

    Figo Fei

    MSDN Subscriber Support in Forum

    If you have any feedback on our support, please contact msdnmg@microsoft.com


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • Marked as answer by Figo Fei Tuesday, September 29, 2009 6:01 AM
    • Unmarked as answer by Brent Scriver Tuesday, October 13, 2009 6:47 PM
    Monday, September 21, 2009 7:35 AM
  • Okay, I've attached VS 2008 as a debugger and loaded my solution.  Did a couple of builds then waited ignored it while I did other things.  I also set up the symbol server system so I could get better callstacks.  The machine has 8 cores running with 4 GB of ram on the win7 x64 build.  Essentially the solution was sitting open with intellisense updating the information about the current configuration (almost all projects are makefile projects but with include paths and preprocessor settings provided to help intellisense).

    It finally died with the AV at:
    > vcpkg.dll!Ncb::delUnrefMod()  + 0x61 bytes 
      vcpkg.dll!Ncb::delAllUnrefMods()  + 0x20c bytes 
      vcpkg.dll!CUpdateFilesInConfigurationWorkItem::Work()  + 0xbd bytes 
      vcpkg.dll!CVCIDEWorkerQueue::Work()  + 0xd9 bytes 
      vcpkg.dll!CVCIDEWorkerThread::Work()  + 0xb9 bytes 
      kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes 
      ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes 
      ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes 

    I had 15 worker threads sitting at:
    ntdll.dll!_NtRemoveIoCompletion@20()  + 0x15 bytes 
      ntdll.dll!_NtRemoveIoCompletion@20()  + 0x15 bytes 
      msvcr80.dll!750a4c39()  
      [Frames below may be incorrect and/or missing, no symbols loaded for msvcr80.dll] 
      msvcr80.dll!750a2e24()  
      msvcr80.dll!750a2a47()  
      kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes 
      ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes 
      ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes 

    The 16th is at:
    ntdll.dll!_NtWaitForMultipleObjects@20()  + 0x15 bytes 
      ntdll.dll!_NtWaitForMultipleObjects@20()  + 0x15 bytes 
      ntdll.dll!_ZwContinue@8()  + 0x12 bytes 
      kernel32.dll!_WaitForMultipleObjectsExImplementation@20()  + 0x8e bytes 
      kernel32.dll!_WaitForMultipleObjects@16()  + 0x18 bytes 
      msenv.dll!CVsThreadPoolMgmtObject::DoTask()  + 0x54 bytes 
      msenv.dll!CVsWorkerThread::Execute()  + 0x39 bytes 
      msenv.dll!ATL::CThreadPool<CVsWorkerThread,VsCRTThreadTraitsBelowNormal,CVsCoWaitTraits>::ThreadProc()  - 0xc0764 bytes 
      msenv.dll!ATL::CThreadPool<CVsWorkerThread,VsCRTThreadTraitsBelowNormal,CVsCoWaitTraits>::WorkerThreadProc()  + 0xa bytes 
      msvcr80.dll!750a29bb()  
      [Frames below may be incorrect and/or missing, no symbols loaded for msvcr80.dll] 
      msvcr80.dll!750a2a47()  
      kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes 
      ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes 
      ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes 


    I also have three threads in __crtExitProcess with the following callstacks:
    ntdll.dll!_NtWaitForSingleObject@12()  + 0x15 bytes 
      ntdll.dll!_NtWaitForSingleObject@12()  + 0x15 bytes 
      msvcr71.dll!__crtExitProcess(int status=2796)  Line 463 + 0x9 bytes C
      kernel32.dll!_WaitForSingleObjectExImplementation@12()  + 0x43 bytes 
      kernel32.dll!_WaitForSingleObject@8()  + 0x12 bytes 
      qt-mt336.dll!39ea8629()  
      [Frames below may be incorrect and/or missing, no symbols loaded for qt-mt336.dll] 
      qt-mt336.dll!39ea86b5()  
      p4scc.dll!0d9c0fad()  
      qt-mt336.dll!39d1c2b6()  
      msvcr71.dll!_threadstartex(void * ptd=0x00000000)  Line 241 + 0x6 bytes C
      ffffffff() 

    The main thread is in the following callstack:
    user32.dll!_NtUserWaitMessage@0()  + 0x15 bytes 
      user32.dll!_NtUserWaitMessage@0()  + 0x15 bytes 
      msenv.dll!EnvironmentMsgLoop()  + 0x6d8 bytes 
      msenv.dll!CMsoCMHandler::FPushMessageLoop()  + 0x1f bytes 
      msenv.dll!SCM::FPushMessageLoop()  + 0x4d bytes 
      msenv.dll!SCM_MsoCompMgr::FPushMessageLoop()  + 0x27 bytes 
      msenv.dll!CMsoComponent::PushMsgLoop()  + 0x25 bytes 
      msenv.dll!VStudioMainLogged()  + 0x16a bytes 
      msenv.dll!_VStudioMain()  + 0x1c01fe bytes 
      devenv.exe!util_CallVsMain()  + 0x114 bytes 
      devenv.exe!CDevEnvAppId::Run()  + 0x5ad bytes 
      devenv.exe!_WinMain@16()  + 0x54 bytes 
      devenv.exe!operator new[]()  + 0x3f455c bytes 
      kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes 
      ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes 
      ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes 
    • Marked as answer by Figo Fei Tuesday, September 29, 2009 6:01 AM
    • Unmarked as answer by Brent Scriver Tuesday, October 13, 2009 6:47 PM
    Tuesday, September 22, 2009 2:30 AM
  • I'm sorry, I haven't seen a reply after posting all of the callstacks.  How is this an answer?
    Tuesday, September 29, 2009 1:28 PM
  • Hi Brent

    Excuse me, but Looking at the nature of this issue, it would require intensive troubleshooting which would be done quickly and effectively with direct assistance from a Microsoft Support Engineer through Microsoft Customer Support Services. You can contact Microsoft Product Support directly to discuss additional support options you may have available, by contacting us at 1-(800)936-5800 or by choosing one of the options listed at http://support.microsoft.com/common/international.aspx?rdpath=fh;en-us;cntactms.

    The marked answer is to help community members to get a general direction of such a problem, if you feel the replies are not on the track, please feel free to unmark them.

    Thanks.
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    Wednesday, September 30, 2009 2:38 AM
  • Finally traced it to a C# add-in we have--/safemode ran fine.  I removed the addin and the project ran through the intellisense process successfully.  I'm trying again with "Any CPU" changed on the add-in's C# project set to x86 instead and seeing if the phenomena still repros.
    Thursday, October 8, 2009 7:43 PM
  • I'm trying to debug the cause and I'm seeing something odd in the module list.  I've loaded the C# addin in VS and started VS from there and added the path to the addin to VS, shutdown the debugged VS and restarted again to trigger the autoload of the addin in the path.  In my module list in the VS instance doing the debugging I have two listings for the addin:

     RawhideAddin.dll C:\sfx2\common\BiowareOwned\VisualStudio\RawhideAddin\bin\RawhideAddin.dll N/A N/A No native symbols in symbol file.  98 1.00.3569.22141 10/9/2009 1:18 PM 67360000-67380000 [6460] devenv.exe: Native 
     RawhideAddin.dll C:\sfx2\common\BiowareOwned\VisualStudio\RawhideAddin\bin\RawhideAddin.dll No N/A Symbols loaded. C:\sfx2\common\BiowareOwned\VisualStudio\RawhideAddin\bin\RawhideAddin.pdb 6 1.0.3569.22141 10/9/2009 1:18 PM 67360000-67380000 [6460] devenv.exe: Managed 

    Is this expected to have two instances loaded like this?  Or is this normal to have both a managed and native (??) listed for the C# addin dll?
    Friday, October 9, 2009 8:00 PM
  • Turns out even with an empty C# addin in VS2k5 and then opening up a C++ project in Visual Studio 2005 causes this problem.  I've created an addin in C# using the below code compiled to x86 and set the .AddIn file to point to the dll and then set up VS to search the path with the .AddIn file and opening a C++ project reliably crashes at the end of processing intellisense. 

    So it doesn't appear to be any particular code in our original addin (since the below was created in an entirely new project) nor is the original solution I was testing against relevant since I just used a virtually empty C++ one to reproduce.

    using System;
    using System.Collections.Generic;
    using System.Text;
    using EnvDTE;
    using EnvDTE80;
    using Extensibility;
    namespace TestVS2k5Addin
    {
        public class Tools : IDTExtensibility2, IDTCommandTarget
        {
            #region IDTExtensibility2 Members
            public void OnAddInsUpdate(ref Array custom)
            {
                System.Diagnostics.Debug.WriteLine("OnAddInsUpdate");
            }
            public void OnBeginShutdown(ref Array custom)
            {
                System.Diagnostics.Debug.WriteLine("OnBeginShutdown");
            }
            public void OnConnection(object Application, ext_ConnectMode ConnectMode, object AddInInst, ref Array custom)
            {
                System.Diagnostics.Debug.WriteLine("OnConnection");
            }
            public void OnDisconnection(ext_DisconnectMode RemoveMode, ref Array custom)
            {
                System.Diagnostics.Debug.WriteLine("OnDisconnection");
            }
            public void OnStartupComplete(ref Array custom)
            {
                System.Diagnostics.Debug.WriteLine("OnStartupComplete");
            }
            #endregion
            #region IDTCommandTarget Members
            public void Exec(string CmdName, vsCommandExecOption ExecuteOption, ref object VariantIn, ref object VariantOut, ref bool Handled)
            {
                Handled = false;
                System.Diagnostics.Debug.WriteLine("Exec");
            }
            public void QueryStatus(string CmdName, vsCommandStatusTextWanted NeededText, ref vsCommandStatus StatusOption, ref object CommandText)
            {
                System.Diagnostics.Debug.WriteLine("QueryStatus");
            }
            #endregion
        }
    }
    Saturday, October 10, 2009 1:01 AM
  • Hi Brent

    Sorry, I'm not sure about this part.
    You may consult VS extensibility forum for better response.

    Thank you.
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    Monday, October 12, 2009 3:17 AM
  • Alright, I've posted in the other forum as requested with a link to this one.

    Link to the thread for searchers is at: http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/949cb448-73fc-4708-a149-813f673efd4c
    • Marked as answer by Brent Scriver Tuesday, October 13, 2009 6:47 PM
    • Edited by Brent Scriver Tuesday, October 13, 2009 6:47 PM Add link to other thread.
    Tuesday, October 13, 2009 6:47 PM
  • I hit similar issues when upgrading from Vista to Win7. I use Visual C++ and devenv.exe crashes when opening existing projects, or even worse, newly created empty projects. Debugging goes into vcpkg.dll.

    After numerous attempts (run as admin, re-install, change app locale, hotfixes, etc.), I found my solution. Open the shortcut properties page, switch to 'Compatibility' tab, check 'Run this program in compatibility mode for:' and select 'Windows Vista (Service Pack 2)', also check 'Run this program as an administrator', now everything is OK for me.
    • Proposed as answer by pc2010 Wednesday, January 6, 2010 12:36 PM
    Wednesday, January 6, 2010 12:36 PM
  • I had the same problem: VS2005 crashing in Windows 7 x64, with the crash occurring in vcpkg.dll.  

    Choosing compatibility with Vista SP2 and "Run as Administrator" gets rid of the crash.
    • Proposed as answer by Brian R. Bondy Thursday, February 11, 2010 7:26 PM
    Thursday, February 11, 2010 12:36 AM
  • I had the same problem with Windows 2008R2 x64 with the crash occurring in vcpkg.dll.  

    Choosing compatibility with Vista SP2 and "Run as Administrator" worked as well.
    • Proposed as answer by Brian R. Bondy Thursday, February 11, 2010 7:26 PM
    Thursday, February 11, 2010 7:25 PM
  • Thank u very much. I did all sorts of install/re-intall and searched a lot in ms support and found no usefult information. Changing compatibility mode and run as, solved the issue for me too.

     

    • Proposed as answer by ABBVK Friday, February 10, 2012 8:54 PM
    Saturday, December 4, 2010 3:58 PM
  • Thank you for these responses.  Compatibility Mode and Run As Administrator helped.  In addition I also disabled UAC.  The problem has been greatly reduced but I still do see it from time to time.  It just locks up on Updating IntilliSense...

    I found that I can get it to lock up on one of my projects when I just try to go to the Definition (F12) on one of the methods....  (not sure if that helps)

    Monday, October 22, 2012 9:35 PM