www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript

c++ - Unexpected OPTLINK termination

↑ ↓ ← Dimitri Kaparis <dkaparis universalstudyhelper.com> writes:
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

This occurs in both version 8.39 and 8.40 (CD upgrade). Version 8.38 did 
not have this problem.

Add the following single source to a project and in build options enable 
  Exception Handling; use debug build settings (or run smake with the 
attached makefile):

#include <string>
#include <map>
#include <vector>
#include <fstream>

class A
{
	std::ofstream m;
};

class B
{
	std::ifstream m;
};

class C
{
	std::vector<std::string> m;
};

class D
{
	std::map<std::string, std::string> m;
};

Upon linking attempt, the IDDE is crashing with the following message: 
Unexpected OPTLINK Termination at EIP=40025E17,
followed by some register dump.
I'm including the relevant project and source files.

Best regards,
Dimitri
Mar 28 2004
↑ ↓ "Walter" <walter digitalmars.com> writes:
But neither the IDDE nor optlink were changed between 8.38 and 8.39. -Walter

"Dimitri Kaparis" <dkaparis universalstudyhelper.com> wrote in message
news:c46jl5$15hl$1 digitaldaemon.com...
 Hi,

 This occurs in both version 8.39 and 8.40 (CD upgrade). Version 8.38 did
 not have this problem.

 Add the following single source to a project and in build options enable
   Exception Handling; use debug build settings (or run smake with the
 attached makefile):

 #include <string>
 #include <map>
 #include <vector>
 #include <fstream>

 class A
 {
 std::ofstream m;
 };

 class B
 {
 std::ifstream m;
 };

 class C
 {
 std::vector<std::string> m;
 };

 class D
 {
 std::map<std::string, std::string> m;
 };

 Upon linking attempt, the IDDE is crashing with the following message:
 Unexpected OPTLINK Termination at EIP=40025E17,
 followed by some register dump.
 I'm including the relevant project and source files.

 Best regards,
 Dimitri

Mar 30 2004
↑ ↓ Dimitri Kaparis <dkaparis universalstudyhelper.com> writes:
Walter wrote:
 But neither the IDDE nor optlink were changed between 8.38 and 8.39. -Walter
 

Then perhaps the change in generated code (by the compiler) is triggering the crash in optlink.
 "Dimitri Kaparis" <dkaparis universalstudyhelper.com> wrote in message
 news:c46jl5$15hl$1 digitaldaemon.com...
 
Hi,

This occurs in both version 8.39 and 8.40 (CD upgrade). Version 8.38 did
not have this problem.

Add the following single source to a project and in build options enable
  Exception Handling; use debug build settings (or run smake with the
attached makefile):

#include <string>
#include <map>
#include <vector>
#include <fstream>

class A
{
std::ofstream m;
};

class B
{
std::ifstream m;
};

class C
{
std::vector<std::string> m;
};

class D
{
std::map<std::string, std::string> m;
};

Upon linking attempt, the IDDE is crashing with the following message:
Unexpected OPTLINK Termination at EIP=40025E17,
followed by some register dump.
I'm including the relevant project and source files.

Best regards,
Dimitri


Mar 31 2004
↑ ↓ "Walter" <walter digitalmars.com> writes:
"Dimitri Kaparis" <dkaparis universalstudyhelper.com> wrote in message
news:c4dvgp$qhi$1 digitaldaemon.com...
 Walter wrote:
 But neither the IDDE nor optlink were changed between 8.38 and



Then perhaps the change in generated code (by the compiler) is triggering the crash in optlink.

Perhaps. If you could build your project with 8.38, save the .obj files, then build it with 8.39, save the .obj files. Then mix & match the .obj files until the offending one is isolated.
Apr 01 2004
↑ ↓ Dimitri Kaparis <dkaparis universalstudyhelper.com> writes:
Walter wrote:
 "Dimitri Kaparis" <dkaparis universalstudyhelper.com> wrote in message
 news:c4dvgp$qhi$1 digitaldaemon.com...
 
Walter wrote:

But neither the IDDE nor optlink were changed between 8.38 and


8.39. -Walter
Then perhaps the change in generated code (by the compiler) is
triggering the crash in optlink.

Perhaps. If you could build your project with 8.38, save the .obj files, then build it with 8.39, save the .obj files. Then mix & match the .obj files until the offending one is isolated.

No need to mix & match. The small sample alone I sent in my initial post, when compiled with 8.39 and later with -Ae, is crashing the linker. I also tried linking the same object file with 8.38 and the same thing is happening. Should I send you the generated object files for 8.38 and 8.39?
Apr 02 2004
↑ ↓ "Walter" <walter digitalmars.com> writes:
"Dimitri Kaparis" <dkaparis universalstudyhelper.com> wrote in message
news:c4kmeg$2fld$1 digitaldaemon.com...
 Walter wrote:
 "Dimitri Kaparis" <dkaparis universalstudyhelper.com> wrote in message
 news:c4dvgp$qhi$1 digitaldaemon.com...

Walter wrote:

But neither the IDDE nor optlink were changed between 8.38 and


8.39. -Walter
Then perhaps the change in generated code (by the compiler) is
triggering the crash in optlink.

Perhaps. If you could build your project with 8.38, save the .obj files, then build it with 8.39, save the .obj files. Then mix & match the .obj files until the offending one is isolated.

No need to mix & match. The small sample alone I sent in my initial post, when compiled with 8.39 and later with -Ae, is crashing the linker. I also tried linking the same object file with 8.38 and the same thing is happening. Should I send you the generated object files for 8.38 and 8.39?

Do you mean the project fails with both 8.38 and 8.39?
Apr 03 2004
↑ ↓ Dimitri Kaparis <dkaparis universalstudyhelper.com> writes:
Walter wrote:
 "Dimitri Kaparis" <dkaparis universalstudyhelper.com> wrote in message
 news:c4kmeg$2fld$1 digitaldaemon.com...
 
Walter wrote:

"Dimitri Kaparis" <dkaparis universalstudyhelper.com> wrote in message
news:c4dvgp$qhi$1 digitaldaemon.com...


Walter wrote:


But neither the IDDE nor optlink were changed between 8.38 and


8.39. -Walter
Then perhaps the change in generated code (by the compiler) is
triggering the crash in optlink.

Perhaps. If you could build your project with 8.38, save the .obj files, then build it with 8.39, save the .obj files. Then mix & match the .obj files until the offending one is isolated.

No need to mix & match. The small sample alone I sent in my initial post, when compiled with 8.39 and later with -Ae, is crashing the linker. I also tried linking the same object file with 8.38 and the same thing is happening. Should I send you the generated object files for 8.38 and 8.39?

Do you mean the project fails with both 8.38 and 8.39?

and try linking that object file with 8.38, it also fails. It builds with 8.38 (meaning, the linker does not crash, anyway building fails because of Symobl Undefined _main).
Apr 03 2004
↑ ↓ Dimitri Kaparis <d_kaparis universalstudyhelper.com> writes:
Dimitri Kaparis wrote:
 Walter wrote:
 
 "Dimitri Kaparis" <dkaparis universalstudyhelper.com> wrote in message
 news:c4kmeg$2fld$1 digitaldaemon.com...

 Walter wrote:

 "Dimitri Kaparis" <dkaparis universalstudyhelper.com> wrote in message
 news:c4dvgp$qhi$1 digitaldaemon.com...


 Walter wrote:


 But neither the IDDE nor optlink were changed between 8.38 and


8.39. -Walter
 Then perhaps the change in generated code (by the compiler) is
 triggering the crash in optlink.

Perhaps. If you could build your project with 8.38, save the .obj files, then build it with 8.39, save the .obj files. Then mix & match the .obj files until the offending one is isolated.

No need to mix & match. The small sample alone I sent in my initial post, when compiled with 8.39 and later with -Ae, is crashing the linker. I also tried linking the same object file with 8.38 and the same thing is happening. Should I send you the generated object files for 8.38 and 8.39?

Do you mean the project fails with both 8.38 and 8.39?

and try linking that object file with 8.38, it also fails. It builds with 8.38 (meaning, the linker does not crash, anyway building fails because of Symobl Undefined _main).

Walter, any ETA on this issue? It still occurs in 8.41 and is effectively locking me to 8.38. Best regards, Dimitri
Sep 15 2004
↑ ↓ → "Walter" <newshound digitalmars.com> writes:
"Dimitri Kaparis" <d_kaparis universalstudyhelper.com> wrote in message
news:ci8rr0$tnh$1 digitaldaemon.com...
 any ETA on this issue? It still occurs in 8.41 and is effectively
 locking me to 8.38.

Sorry, not yet.
Sep 15 2004