3

Closed

VS2013 Crash during Find in Files

description

I have a VS2013 solution with C++ and python projects. When I do a find in all files with PTVS installed VS2013 crashes.

This crash happens with both the 2.0 Release and the 2013-11-08 snapshot.

I've shared a minidump at https://dl.dropboxusercontent.com/u/7369802/devenv_131112_131802.zip
Microsoft (R) Windows Debugger Version 6.3.9600.16384 X86
Copyright (c) Microsoft Corporation. All rights reserved.

Loading Dump File [D:\Temp\devenv_131112_131802.dmp]
Comment: '
*** "c:\Program Files\SysinternalsSuite\procdump.exe"  -e devenv.exe
*** Unhandled exception: C0000005.ACCESS_VIOLATION'
User Mini Dump File: Only registers, stack and portions of memory are available


************* Symbol Path validation summary **************
Response                         Time (ms)     Location
Deferred                                       SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
Symbol search path is: SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
Windows 8 Version 9600 MP (8 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS
Built by: 6.3.9600.16384 (winblue_rtm.130821-1623)
Machine Name:
Debug session time: Tue Nov 12 13:18:02.000 2013 (UTC + 0:00)
System Uptime: not available
Process Uptime: 0 days 0:05:51.000
................................................................
................................................................
................................................................
................................................................
...................
Loading unloaded module list
.........
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(163c.2330): Access violation - code c0000005 (first/second chance not available)
eax=00000000 ebx=00000001 ecx=130dab40 edx=00000000 esi=130dab40 edi=00000000
eip=5b6e4b48 esp=00cbef00 ebp=00cbef20 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00210202
msenv!std::_Wrap_alloc<std::allocator<std::_Tree_node<int,void *> > >::construct<std::_Tree_node<int,void *> *,std::_Tree_node<int,void *> * &>+0x1d:
5b6e4b48 8b00            mov     eax,dword ptr [eax]  ds:002b:00000000=????????
0:000> k
  *** Stack trace for last set context - .thread/.cxr resets it
ChildEBP RetAddr  
00cbef20 5bb4caaf msenv!std::_Wrap_alloc<std::allocator<std::_Tree_node<int,void *> > >::construct<std::_Tree_node<int,void *> *,std::_Tree_node<int,void *> * &>+0x1d
00cbef54 5bb4c8bd msenv!std::_Tree_buy<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::unique_ptr<CFullPathTracker::CDirTracker,std::default_delete<CFullPathTracker::CDirTracker> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::unique_ptr<CFullPathTracker::CDirTracker,std::default_delete<CFullPathTracker::CDirTracker> > > > >::_Buynode0+0x30
00cbef88 5bb4a25b msenv!??$_Buynode@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Tree_buy@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$unique_ptr@VCDirTracker@CFullPathTracker@@U?$default_delete@VCDirTracker@CFullPathTracker@@@std@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$unique_ptr@VCDirTracker@CFullPathTracker@@U?$default_delete@VCDirTracker@CFullPathTracker@@@std@@@2@@std@@@2@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$unique_ptr@VCDirTracker@CFullPathTracker@@U?$default_delete@VCDirTracker@CFullPathTracker@@@std@@@2@@std@@PAX@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z+0x11
00cbf184 5bb4bc71 msenv!CFullPathTracker::AddFullPath+0x1f6
00cbf1a4 5ba737ca msenv!CRTICollection::GetNext+0x77
00cbf1c0 5b7570f5 msenv!?_Do_call@?$_Func_impl@U?$_Callable_obj@V<lambda_34b18267f354fefda962d1b8892a06ee>@@$0A@@std@@V?$allocator@V?$_Func_class@J$$$V@std@@@2@J$$$V@std@@UAEJXZ+0x1d
00cbf1c4 5b6e954b msenv!std::_Func_impl<std::_Callable_obj<<lambda_77a349cb6994b90feb65bed176818a64>,0>,std::allocator<std::_Func_class<long,IVsTask *,unsigned long,IVsTask * *,tagVARIANT *> >,long,IVsTask *,unsigned long,IVsTask * *,tagVARIANT *>::_Do_call+0xc
00cbf1dc 5b6e9584 msenv!std::_Func_class<long,IVsTask *,unsigned long,IVsTask * *,tagVARIANT *>::operator()+0x1f
*** WARNING: Unable to verify checksum for Microsoft.VisualStudio.Shell.UI.Internal.ni.dll
00cbf1fc 59a87cd2 msenv!`anonymous namespace'::NativeVsTaskBody::DoWork+0x35
00cbf2ac 59a82e87 Microsoft_VisualStudio_Shell_UI_Internal_ni+0xe7cd2
00cbf2ec 59a82d92 Microsoft_VisualStudio_Shell_UI_Internal_ni+0xe2e87
*** WARNING: Unable to verify checksum for mscorlib.ni.dll
00cbf2f8 5a9cbf39 Microsoft_VisualStudio_Shell_UI_Internal_ni+0xe2d92
00cbf308 5a9c7eda mscorlib_ni+0x38bf39
00cbf32c 5a9c7ea9 mscorlib_ni+0x387eda
00cbf394 5a963156 mscorlib_ni+0x387ea9
00cbf3a8 5a9c7cc8 mscorlib_ni+0x323156
00cbf414 5a9c7be7 mscorlib_ni+0x387cc8
00cbf424 5a9d1bd9 mscorlib_ni+0x387be7
00cbf430 59a84d52 mscorlib_ni+0x391bd9
00cbf440 59a84dee Microsoft_VisualStudio_Shell_UI_Internal_ni+0xe4d52
00cbf46c 59a84d65 Microsoft_VisualStudio_Shell_UI_Internal_ni+0xe4dee
*** WARNING: Unable to verify checksum for WindowsBase.ni.dll
00cbf488 56bd80ca Microsoft_VisualStudio_Shell_UI_Internal_ni+0xe4d65
00cbf4c4 56bda7ac WindowsBase_ni+0xb80ca
00cbf50c 56bda6f8 WindowsBase_ni+0xba7ac
00cbf578 5a963156 WindowsBase_ni+0xba6f8
00cbf58c 5a963121 mscorlib_ni+0x323156
00cbf5a8 56bda61b mscorlib_ni+0x323121
00cbf5e4 56bd6f9b WindowsBase_ni+0xba61b
00cbf628 56bd713a WindowsBase_ni+0xb6f9b
00cbf664 56bd837b WindowsBase_ni+0xb713a
00cbf6a0 56bd82cb WindowsBase_ni+0xb837b
00cbf6c0 56bd8192 WindowsBase_ni+0xb82cb
00cbf6d8 56bd80ca WindowsBase_ni+0xb8192
00cbf714 56bd686e WindowsBase_ni+0xb80ca
00cbf764 56bd7c51 WindowsBase_ni+0xb686e
00cbf7e0 77ac775e WindowsBase_ni+0xb7c51
00cbf80c 77ac8c2a user32!_InternalCallWinProc+0x23
00cbf89c 77ac84e5 user32!UserCallWinProcCheckWow+0x184
00cbf908 77ac93d1 user32!DispatchMessageWorker+0x208
00cbf914 5b72d0cd user32!DispatchMessageW+0x10
00cbf934 5b72cf71 msenv!MainMessageLoop::ProcessMessage+0xc3
00cbf974 5b853083 msenv!CMsoCMHandler::EnvironmentMsgLoop+0xf0
00cbf9ac 5b852fb3 msenv!CMsoCMHandler::FPushMessageLoop+0x132
00cbf9d4 5b852f12 msenv!SCM::FPushMessageLoop+0xae
00cbf9f4 5b852ed9 msenv!SCM_MsoCompMgr::FPushMessageLoop+0x2a
00cbfa20 5b852e1d msenv!CMsoComponent::PushMsgLoop+0x2e
00cbfab0 5b77f730 msenv!VStudioMainLogged+0x525
00cbfad8 2f9bf1e2 msenv!VStudioMain+0x7c
00cbfb18 2f9bee26 devenv!util_CallVsMain+0xde
00cbfde0 2f9c8734 devenv!CDevEnvAppId::Run+0x9bc
00cbfe08 2f9c8799 devenv!WinMain+0xbd
00cbfe54 77c7495d devenv!WinMainCRTStartup+0x12f
00cbfe60 77eb98ee kernel32!BaseThreadInitThunk+0xe
00cbfea4 77eb98c4 ntdll!__RtlUserThreadStart+0x20
00cbfeb4 00000000 ntdll!_RtlUserThreadStart+0x1b

file attachments

Closed Aug 26 at 4:16 PM by Zooba
This is fixed in VS 2013 Update 3

comments

Zooba wrote Nov 12, 2013 at 4:10 PM

Thanks for the dump. I don't see PTVS anywhere in the module list or callstack, so it's unlikely that we're the cause.

This crash has been reported a few times (through Windows Error Reporting), so the VS team is aware of it and have dumps to work from already (buckets -385263974 and -382685050 for anyone internal who wants to look them up).

I'll close this out shortly, but I'm intrigued as to why we're not showing up in your module list if you've got a Python project open. Any idea? (You can open the minidump with VS to see the module list, then search for 'PythonTools'.)

phildunstan wrote Nov 12, 2013 at 4:40 PM

Thanks. I'm not sure that PTVS is the cause however I don't get the crash if PTVS isn't installed however. I uninstalled and installed PTVS numerous times with different versions and it crashed every time when PTVS was installed and not once if it wasn't.

Ptools wrote Nov 12, 2013 at 7:38 PM

phil, we'd really like to try & repro this issue in house.

can you provide us a complete list of your environment? OS, any add-ins, which versions, etc. any info that can help us recreate your setup.

thx!

phildunstan wrote Nov 13, 2013 at 12:25 AM

It looks like the problem has to do with the working directory value in one of the python projects. I was able to cut down the reproducible from 51 C++ projects and 9 python projects to just a single python project. I have attached this repro to this comment, however you can also reproduce it with the following steps.
  1. Create a new python application project (and solution)
  2. Change the working directory in the python project to ..
  3. Do a Find in Files search for some arbitrary string.
This repro fails for me on two machines, one with a clean VS2013 install with the Nov 8, 2013 PTVS Dev build.

phildunstan wrote Nov 13, 2013 at 12:37 AM

Just in case, here is the system/Visual Studio info
OS Name Microsoft Windows 8 Pro
Version 6.2.9200 Build 9200

Microsoft Visual Studio Ultimate 2013
Version 12.0.21005.1 REL
Microsoft .NET Framework
Version 4.5.50938

Installed Version: Ultimate

Architecture and Modeling Tools   06181-004-0449004-02369
Microsoft Architecture and Modeling Tools
    
Team Explorer for Visual Studio 2013   06181-004-0449004-02369
Microsoft Team Explorer for Visual Studio 2013

Visual Basic 2013   06181-004-0449004-02369
Microsoft Visual Basic 2013

Visual C# 2013   06181-004-0449004-02369
Microsoft Visual C# 2013

Visual C++ 2013   06181-004-0449004-02369
Microsoft Visual C++ 2013

Visual F# 2013   06181-004-0449004-02369
Microsoft Visual F# 2013

Visual Studio 2013 Code Analysis Spell Checker   06181-004-0449004-02369
Microsoft® Visual Studio® 2013 Code Analysis Spell Checker

Common Azure Tools   1.0
Provides common services for use by Azure Mobile Services and Windows Azure Tools.

Microsoft Python Tools for Visual Studio   2.0.11108.00
Python Tools for Visual Studio provides intellisense, project support, project and item templates, as well as a REPL window for Python development.

Microsoft Python Tools for Visual Studio - Django Integration   2.0.11108.00
Provides templates and integration for the Django web framework.

Microsoft Python Tools for Visual Studio - Profiling Support   2.0.11108.00
Profiling support for Python projects.

NuGet Package Manager   2.7.41101.371
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.

PreEmptive Analytics Visualizer   1.2
Microsoft Visual Studio extension to visualize aggregated summaries from the PreEmptive Analytics product.

SQL Server Data Tools   12.0.30919.1
Microsoft SQL Server Data Tools

Windows Azure Mobile Services Tools   1.0
Windows Azure Mobile Services Tools

jrs wrote Mar 3 at 4:57 PM

Previously I was only running into this problem when I had a file open in the editor that contained multiple "dots" in a single portion of the name (e.g. a version like "1.2.3.4" but now I cannot use "Find in Files" at all without crashing Visual Studio, apparently for the same reason as the OP, working directories for Python projects that contain relative pathnames starting with "..", which is an issue I cannot easily work around.

jrs wrote Mar 3 at 5:09 PM

VS2012 seems not to have the root defect that contributes to this problem.

Zooba wrote Mar 3 at 5:44 PM

Yes, this is definitely a bug in VS2013 that we are somehow triggering. They have the crash reports and hopefully it will be fixed, though we'd still like to resolve it ourselves (since we can get a release out sooner). But PTVS is not the sole cause of this issue, so we may not be able to fix it on our side.

vanvane wrote Mar 7 at 5:24 AM

seeing the same issue

srock wrote Mar 17 at 3:17 PM

Same problem and I just updated Visual Studio Professional 2013 to Update 1 and it is NOT fixed.

Zooba wrote Mar 17 at 4:07 PM

It looks like they had the fix ready just too late for update 1. As far as I can tell (not having spoken to the people involved), I think the fix will be in Update 2. (There's a CTP available if anyone wants to check, though be careful, since it is not production-ready and I'm not sure it can be uninstalled...)