Sysprogs forums › Forums › VisualGDB › How do you enable the 64-bit version of CppEngineHost.exe in Preview 2?
- This topic has 39 replies, 2 voices, and was last updated 7 years, 4 months ago by Ophidian14.
-
AuthorPosts
-
July 19, 2017 at 19:24 #11764Ophidian14Participant
The problem is that with this build, the performance collapses and I can’t reproduce anything because the parse never finishes. I saw this just now after killing CppEngineHost in Task Manager after I came back from lunch. Any other ideas?
[+1:36:16.708] Operation completed: Reparsing \\10.10.161.129\xxx\yyy\Main.cpp [4912406 msec] [+1:36:16.707] at System.Runtime.Remoting.Channels.SocketHandler.ReadAndMatchFourBytes(Byte[] buffer) [+1:36:16.707] at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadAndMatchPreamble() [+1:36:16.707] at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadVersionAndOperation(UInt16& operation) [+1:36:16.707] at System.Runtime.Remoting.Channels.Ipc.IpcClientHandler.ReadHeaders() [.....]
July 20, 2017 at 02:01 #11772supportKeymasterHi,
You can upload the dump to our FTP (please create a support ticket to get a temporary FTP login/password).
July 20, 2017 at 20:42 #11776Ophidian14ParticipantOkay but did you see my earlier post about how the 5.3 debug build basically just runs forever and never completes. I can’t get any crash dumps from it.
July 21, 2017 at 03:55 #11777supportKeymasterHi,
The debug build is extremely slow (up to 100x slower than release) due to large amount of internal checks and no optimization. So if the problem is 100% reproducible, please consider leaving it overnight until you get a reliable crash. If not, the only other option would be to reduce the bug to a smaller non-confidential project that you could share with us so that we could run the debug build on our side.
July 26, 2017 at 20:15 #11837Ophidian14ParticipantI found a small enough file that the decode will finish with the Debug build. Unfortunately it doesn’t reproduce with the Debug build. I open the file with the Release version of CppEngineHost64.dll and I get the crash window within one second. If I close Visual Studio, swap out to the Debug CppEngineHost64.dll and open that same file, I get about a 3-4 second pause and then the parse completes (I can tell because the syntax highlighting changes in a subtle way, and the Diagnostic window says so).
I got another crash dump that basically says in WinDbg:
BUGCHECK_STR: STACK_BUFFER_OVERRUN_STACK_BUFFER_OVERRUN_NOSOS_MISSING_GSFRAME DEFAULT_BUCKET_ID: STACK_BUFFER_OVERRUN_STACK_BUFFER_OVERRUN_NOSOS_MISSING_GSFRAME PRIMARY_PROBLEM_CLASS: STACK_BUFFER_OVERRUN IP_ON_HEAP: 3a74736f6f62202c The fault address in not in any loaded module, please check your build's rebase log at <releasedir>\bin\build_logs\timebuild\ntrebase.log for module which may contain the address if it were loaded. FRAME_ONE_INVALID: 1 LAST_CONTROL_TRANSFER: from 3a74736f6f62202c to 000007feb9539a54 STACK_TEXT: 00000000
1d2ad010 3a74736f
6f62202c : 3a6c69617465643a 746e6169
7261763a 2c5f64696f763a3a 3a3a7473
6f6f6220 : CppEngineCore64!LookupGlobalName+0x23e24Now, below this is a bunch of hex output that basically looked like ASCII text to me so I decoded it. I got this:
deta il:: boo st:: ::vo'id_, :var'iant vari ant: deta il:: boo'st:: ::vo'id_, :voi d_, vari ant: deta'il:: boo'st:: boos t::d :voi d_, vari'ant: deta'il:: etai l::v boos t::d :voi'd_, vari'ant: aria nt:: etai l::v boos't::d :voi'd_, void _, b aria nt:: etai'l::v boos't::d oost ::de void _, b aria'nt:: etai'l::v tail ::va oost ::de void'_, b aria'nt:: rian t::v tail ::va oost'::de void'_, b oid_ , bo rian t::v tail'::va oost'::de ost: :det oid_ , bo rian't::v tail'::va ail: :var ost: :det oid_', bo rian't::v iant ::vo ail: :var ost:':det oid_', bo id_, boo iant ::vo ail:':var ost:':det st:: deta id_, boo iant'::vo ail:':var il:: vari st:: deta id_,' boo iant'::vo ant: :voi il:: vari st::'deta id_,' boo d_, boos ant: :voi il::'vari st::'deta t::d etai d_, boos ant:':voi il::'vari l::v aria t::d etai d_, 'boos ant:':voi nt:: void l::v aria t::d'etai d_, 'boos _, b oost nt:: void l::v'aria t::d'etai ::de tail _, b oost nt::'void l::v'aria ::va rian ::de tail _, b'oost nt::'void t::v oid_ ::va rian ::de'tail _, b'oost , bo ost: t::v oid_ ::va'rian ::de'tail :det ail: , bo ost: t::v'oid_ ::va'rian :var iant :det ail: , bo'ost: t::v'oid_ ::vo id_> :var iant :det'ail: , bo'ost: >, std: ::vo id_> :var'iant :det'ail: :all ocat >, std: ::vo'id_> :var'iant or<s td:: :all ocat >, 'std: ::vo'id_> pair <std or<s td:: :all'ocat >, 'std: ::st ring pair <std or<s'td:: :all'ocat , bo ost: ::st ring pair'<std or<s'td:: :var iant , bo ost: ::st'ring pair'<std <int , do :var iant , bo'ost: ::st'ring uble , bo <int , do :var'iant , bo'ost: ol, std: uble , bo <int', do :var'iant :str ing, ol, std: uble', bo <int', do boo st:: :str ing, ol, 'std: uble', bo deta il:: boo st:: :str'ing, ol, 'std: vari ant: deta il:: boo'st:: :str'ing, :voi d_, vari ant: deta'il:: boo'st:: boos t::d :voi d_, vari'ant: deta'il:: etai l::v boos t::d :voi'd_, vari'ant: aria nt:: etai l::v boos't::d :voi'd_, void _, b aria nt:: etai'l::v boos't::d oost ::de void _, b aria'nt:: etai'l::v tail ::va oost ::de void'_, b aria'nt:: rian t::v tail ::va oost'::de void'_, b oid_ , bo rian t::v tail'::va oost'::de ost: :det oid_ , bo rian't::v tail'::va ail: :var ost: :det oid_', bo rian't::v iant ::vo ail: :var ost:':det oid_', bo id_, boo iant ::vo ail:':var ost:':det st:: deta id_, boo iant'::vo ail:':var il:: vari st:: deta id_,' boo iant'::vo ant: :voi il:: vari st::'deta id_,' boo d_, boos ant: :voi il::'vari st::'deta t::d etai d_, boos ant:':voi il::'vari l::v aria t::d etai d_, 'boos ant:':voi nt:: void l::v aria t::d'etai d_, 'boos _, b oost nt:: void l::v'aria t::d'etai ::de tail _, b oost nt::'void l::v'aria ::va rian ::de tail _, b'oost nt::'void t::v oid_ ::va rian ::de'tail _, b'oost , bo ost: t::v oid_ ::va'rian ::de'tail :det ail: , bo ost: t::v'oid_ ::va'rian :var iant :det ail: , bo'ost: t::v'oid_ ::vo id_, :var iant :det'ail: , bo'ost: boo st:: ::vo id_, :var'iant :det'ail: deta il:: boo st:: ::vo'id_, :var'iant vari ant: deta il:: boo'st:: ::vo'id_, :voi d_, vari ant: deta'il:: boo'st:: boos t::d :voi d_, vari'ant: deta'il:: etai l::v boos t::d :voi'd_, vari'ant: aria nt:: etai l::v boos't::d :voi'd_, void _, b aria nt:: etai'l::v boos't::d oost ::de void _, b aria'nt:: etai'l::v tail ::va oost ::de void'_, b aria'nt:: rian t::v tail ::va oost'::de void'_, b oid_ , bo rian t::v tail'::va oost'::de ost: :det oid_ , bo rian't::v tail'::va ail: :var ost: :det oid_', bo rian't::v iant ::vo ail: :var ost:':det oid_', bo id_, boo iant ::vo ail:':var ost:':det st:: deta id_, boo iant'::vo ail:':var il:: vari st:: deta id_,' boo iant'::vo ant: :voi il:: vari st::'deta id_,' boo
Any ideas?
July 27, 2017 at 00:13 #11843supportKeymasterOK, we would need to run a few tests of this on our side.
Would you be able to detach the problem from any confidential code and send it to us? E.g. preprocess the file to a single source file, confirm that the problem still happens when opening it and then start removing the parts of the file until you pinpoint the exact declaration that causes this. Using binary search, this should take only a few iterations.
July 27, 2017 at 15:02 #11849Ophidian14ParticipantI’m trying. I’m almost certain it has to do with our usage of boost::variant (and boost::make_recursive_variant), and I’ve made several reduced test programs with boost::variant, but they don’t trigger the issue. I’ll keep looking at it.
August 15, 2017 at 17:14 #12035Ophidian14ParticipantI am using Preview 5 and the crash seems to be gone. Also, the performance seems faster as well.
August 15, 2017 at 17:58 #12038supportKeymasterThanks for sharing this, good to know it works.
August 16, 2017 at 19:02 #12060Ophidian14ParticipantOkay, hold on a second here. I had to recreate my project file (for other reasons), and realized I was back on the 32-bit CppEngineHost. I went back to turn it back on, and the setting you mentioned (in C++ Text Editor -> Other) was no longer visible?
Then I downloaded build 1716 from the link you gave that other guy, and now the setting is back again *and* it’s enabled??
Also when I downloaded the “official” Preview 5 it said “5.2 r9”, is that right?
The crash is still gone though, luckily, in the 64 bit version (FWIW).
August 16, 2017 at 19:03 #12061Ophidian14ParticipantAlso amidst all of this I deleted my AppData VisualGDB folder contents, if that matters.
August 16, 2017 at 19:09 #12062Ophidian14ParticipantNo!! The crash remains on both the 32-bit and 64-bit versions!! I had to type an arrow-> operator to get it to happen, but it’s there.
August 16, 2017 at 19:22 #12063Ophidian14ParticipantSorry to spam the forum but I realized the “Download” link on the main page gives you 5.2r9 (which doesn’t seem to have the crash) and 5.3 preview 5 comes from the “try it now link”.
August 16, 2017 at 19:24 #12064Ophidian14ParticipantWhich I think is what happened, I accidentally downgraded to 5.2r9, thus I didn’t see the issue any more (or the option to go 64-bit). It’s definitely still present in 5.3.
August 16, 2017 at 19:26 #12065Ophidian14ParticipantI submitted a minidump per the “normal” process if that helps.
-
AuthorPosts
- You must be logged in to reply to this topic.