Archived

This forum has been archived. Please start a new discussion on GitHub.

problem to start my program on a 64-bit system

I created and compiled my server and client applications on a 32-bit system and
my server application as well as my client application worked well.

But if I try to execute my client application after compiling server and client on the 64-bit system, I get the following error messages:

- on the server side:

11/05/09 11:31:39.130 /home/jaxy/workspace/dataStreamTransfer/streamServer: warning: dispatch exception: std::exception: basic_string::substr
identity: SimpleLogFile
facet:
operation: getDataString

- on the client side:

Exception faild with exception:OutgoingAsync.cpp:352: Ice::UnknownException:unknown exception:
std::exception:basic_string::substr

Execution failed with execption:OutgoingAsync.cpp:352:Ice::UnknownException:
unknown exception:
/usr/include/IceUtil/Mutex.h:216:IceUtil::ThreadLockedException

What is my error??
How can I solve it??

greetings

Peter

Comments

  • benoit
    benoit Rennes, France
    Hi,

    It sounds like the implementation of your getDataString method is raising an std::exception, you should add try { } catch { const std::exception& } blocks in its implementation to try to track down where this exception is thrown (it looks like it's thrown by a std::string::substr() call).

    I'm not sure why your client gets an unknown exception for the IceUtil::ThreadLockedException exception however. Is there more warnings about this one on the server side?

    Cheers,
    Benoit.
  • warnings on the server side

    Hello!

    There are not other warnings on the server side.
    What I don't understand, is, that my applications work fine on the other Computer without having to add a try - catch - block??

    greetings
    Peter
  • benoit
    benoit Rennes, France
    This exception is most likely raised by your code. The fact that it runs fine on a 32 bits platform but not on a 64 bits platform indicates a problem with the code not being 64 bits safe. You should verify that this exception is raised by your code (by adding the try/catch block) and try to narrow down where it's raised.

    Cheers,
    Benoit.