HELP! IT HAPPENED AGAIN ! Please read carefully, perhaps this time I can be more accurate about the details involved.
I had CB opened with a project but when all happened it was idle, I was brainstorming on my physical notes.
When I touched my mouse to resume my works I realized that it did not move. Everything was frozen including the keyboard. No input. HD leds were off, everything silent. I checked to access the workstation involved from another PC in my network and it was still operational, I could browse a remote dir, copy files etc. But the input was frozen. And the red light of the optical mouse turned off.
Since the HD led was inactive I felt confortable enough to press the reset button to reboot - I really couldn't do anything else.
After reboot everything was apparently normal. No errors or crashes were recorded by Windows event logger. I checked all my partitions with Scan Disk and there were no errors.
I opened the codeblocks project which was opened during the crash and I realized that in the Build Options the default compiler was no longer my MinGW64 but the generic GNU GCC.
I didn't touch anything. I exited CB and tried loading ANOTHER PROJECT, one which was ok this morning and was NOT opened when CB crashed. Tada. I opened the Build Options window and I received that feared requester:
Compiler selection
The defined compiler cannot be locaed (ID:mingw_64) [note: its name was MinGW64, I never entered "mingw_64" anywhere]
Please choose the compiler you want to use instead and click OK
....
At this point I closed the project without touching or saving anything, I RESTORED the whole User/Elena/AppData/Roaming/CodeBlocks DIR which I had backed up, I reopened the project and STILL THE ERROR REQUESTER !
So it is DEFINITELY *NOT* ABOUT ANY CORRUPTION IN THE CODEBLOCKS/ Config folder, and *NOT* ABOUT THE PROJECT FILE, it is something elsewhere which got corrupted !!!! But what ? Where ? Perhaps something in the Registry ??
Where does CB store its settings otherwise ??
My Mingw64 installation dir on D: is pristine.
My setup has always been perfect, never gave me one problem before.
I appreciate any feedback, thanks.
LATER ADDITION - Please read carefully, maybe this contains some useful hints to help you track the bug ?
Referring to the second project I mentiond, the one which was not active during the crash and which I had been working on this morning, i.e many hours before the accident, and which now after the crash caused the error requester I reported, here is what I discovered...
I was smart enough and made a copy of it.
Then I opened it, opened the Build Options, the error requester about the missing compiler showed up, I seconded the request of picking a new compiler in place of mingw_64,and I effectively could choose my MinGW64 (was in the list).
After that everything was apparently fine again and I SAVED THE PROJECT, so I had now two copies of the same project to compare, the original one causing the error requester, and the fixed one.
I checked both .cbp xml files with wordpad.
Here is the ONLY DIFFERENCE:
Original .cbp, line 8 -> <Option compiler="mingw_64" />
Fixed .cbp, line 8 -> <Option compiler="mingw_x64 /> !!!!!
So... as a premise, I NEVER renamed my compiler after the initial setup. I always named it "MinGW64" in the compiler global settings, and nothing else than the toolchain dir was set there.
For some reason, BEFORE the crash all my project files referred to it as "mingw_64"; for some reason after the crash CB changed the way it is internally named and started referring to it as "mingw_x64", with the "x", so that after the crash all the previous projects referring to it as "mingw_64" could no longer recognize it !
But now I wonder, WHERE is this reference name stored (mingw_64 or mingw_x64) , if it is NOT in any file in Codeblocks config folder ? Is it in the registry ? A search with regedit gave no results...
Actually default.config seem to define the compilers and their names, and it always uses the "x". But why then all my project files BEFORE the crash referred to the compiler id WITHOUT the x, and now they need it instead ??
Almost getting insane....