| Summary: | Open eclipse often appear NTVDM CPU has encountered an illegal instruction problem | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Sheng Mising name <foretribe> | ||||
| Component: | cdt-build | Assignee: | cdt-build-inbox <cdt-build-inbox> | ||||
| Status: | RESOLVED WORKSFORME | QA Contact: | Andrew Gvozdev <angvoz.dev> | ||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | andrea.ranalli, dave.korn.cygwin | ||||
| Version: | 0 DD 1.1 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Sheng Mising name
Do you have Subversive plugin installed? See bug 309711. NTVDM errors are symptomatic of attempting to invoke a Cygwin symlink as if it were an exe, by calling CreateProcess on it. In particular, "gcc.exe" is a symlink in recent versions of cygwin, allowing the user to redirect it to gcc-3.exe or gcc-4.exe which are the actual binaries. You can see if this is happening by examining the opcodes reported in the NTVDM error popup: if they're obviously ASCII, that'll be what's happening. For example: --------------------------- 16 bit MS-DOS Subsystem --------------------------- C:\WINNT\system32\cmd.exe - gcc.exe The NTVDM CPU has encountered an illegal instruction. CS:07a0 IP:210f OP:63 69 66 69 65 Choose 'Close' to terminate the application. --------------------------- Close Ignore --------------------------- I notice that bug 309711, comment 7 points out that this is a CDT-only problem; could some part of the scanner or discovery stuff perhaps be attempting to invoke gcc? (In reply to comment #2) Thanks for this comment. Looks like it is most likely CDT after all. In CDT 7.0 scanner discovery for Cygwin toolchain is invoked using Cygwin shell command [sh -c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"']. But a project created before that change or a different toolchain may not have that. Sheng, could you doublecheck what you got in project properties in Discovery Options? Any related messages in .metadata/.log? Dear all, I've had this problem fo a while (I'll say years...) but after have readed this post I've found a solution that at least stop you showing the error window! Go to the project's properties, then C/C++ Build, Discovery Options. Here you can select "Profile Scope" equals to "Per language" and this error will disappear!!! (In reply to comment #4) > Dear all, > I've had this problem fo a while (I'll say years...) but after have readed this > post I've found a solution that at least stop you showing the error window! > Go to the project's properties, then C/C++ Build, Discovery Options. > Here you can select "Profile Scope" equals to "Per language" and this error will > disappear!!! Andrea, which version of CDT are you using? Could you try to test it one more time? Revert profile scope back and set Compiler invocation command to [sh] and arguments to [-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'], just be careful with quotes. Does it work ok with these settings? Created attachment 184326 [details]
screenShot of myPlugIn folder
Hi Andrew,
I've tried using your suggestion [-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'] and now it works too!!!
In DiscoveryOptions I've selected "Configuration-Wide" as profile scope and then "GCC per file scanner info profile".
I'm using EclipsePulsar and originally the issue was generated into this plugin: org.eclipse.cdt.core.win32_5.1.0.201002161416, so I guess my CDT release is the 5.1.
Since I'm not sure I've added a jpg showing the content of my plugin folder, this could help!
Thanks again,
Andrea
Then the problem was resolved in CDT 7.0 and 6.0.1 with bug 218444 as it is now a default setting for Cygwin toolchain. Andrew, I'm sorry to let you know that the issue is still present! :-( When I've tried your setting yesterday I hadn't any problem BECAUSE I hadn't modified any file, and thus the final executable file was already generated (so I think in the compilation process Eclipse skipped some part that cause this issue). This morning I've edit a file, then I've received the same error when compiling! :-( By the way, using the "per language" setting doesn't cause this problem, so for the moment I've moved back to previous configuration that avoid such warning. Best regards, Andrea |