Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: 0xC0000090 exception at startup



Permlink Replies: 0
John Baird

Posts: 22
Registered: 6/15/09
0xC0000090 exception at startup
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 30, 2014 8:57 PM
I'd appreciate some input on an issue which is making little sense. One GUI program (32 bit code) out of around 30 built with XE5 now crashes at startup with floating point exception 0xC0000090. The error is occurring in startup code executed before calling WinMain. A similar issue in XE3 last year was reported here:

http://codeverge.com/embarcadero.cppbuilder.cpp/unusual-c0000090-exception-edit/1057018

The problem began after I built the program with an extra define set to create a time-limited evaluation copy. The evaluation copy ran fine, I then removed the define, and being on auto-pilot unnecessarily saved the changes. Next day I built the program again without the evaluation define and the problem began occurring. The cbproj file is identical to my most recent backup copy taken 10 days ago when the program behaved normally. If I copy the entire project directory from backup and build it now, the floating point exception still occurs suggesting the cause of the problem is external to the project, or at least external to the contents of the project directory. But the fact that I can build and run all other programs suggests the issue is project specific. These programs are linked using the same external libraries.

When I re-add the evaluation define, the program runs correctly. The define causes a small extra module to be linked which checks the number of days elapsed since the build date. If I omit the define and call this routine regardless, the program also starts correctly. So it does appear to be a linker or initialization order related issue as alluded to in the article above.

Any suggestions/comments would be appreciated. I can at least avoid the problem for now by adding something to the evaluation module to ensure it is always linked. But I'm concerned that the issue could begin appearing in other programs, or that the work-around for this program may only be temporary.

Thanks, John
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02