Archived

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

Ice::BadMagicException

Hello!

I slightly modified "Hello" sample from Ice 3.51 distribution to call sayHello() in an infinite loop.
Also sayHello() takes one additional parameter - 16Kb string.

To my surprise I'm continuously getting the following error:

-! 03/05/14 17:03:28.245 server.exe: warning: connection exception:
ConnectionI.cpp:1395: Ice::BadMagicException:
unknown magic number: 0x62, 0x62, 0x62, 0x62
local address = 10.65.52.104:10000
remote address = 10.65.52.104:3677

The problem is reproduced even when both server and client run on the same computer though it takes more time to reproduce (about an hour).

When running the sample on two different machines I also noticed the following error:
my additional string parameter sometimes contains invalid data on the server. In fact it contains parts of ICE protocol 'IceP...'?

It seems like a bug in ICE.

Any ideas?

Thank you!

Comments

  • marc
    marc Florida
    The most likely reason for this error is that the client uses the old slice definition without the string, and the server uses the new slice definition, with the additional string parameter. Perhaps you accidentally start an old version of the client?
  • Marc,
    thanks for your reply.

    I checked that both client and server uses the same slice definitions.

    Also note, that an error only happens once in thousands of invocations. Most invocations complete successfully.
  • mes
    mes California
    Hi,

    When reporting a problem, we ask that you always include information about:
    • Ice version (already provided)
    • Operating system version
    • Language(s) being used
    • Compiler/VM versions
    If you can provide a small but complete example that (eventually) reproduces the problem, we can take a look at it.

    Take care,
    Mark
  • Hi

    Mark,
    here's the information you've asked for:
    ICE: 3.5.1 (using downloaded binaries from zeroc.com)
    OS: Windows Server 2008 R2 (for both client and server)
    C++ binding
    VS 2013 (Update 1), x64, Release build

    I also attached hello-test.zip - a slightly modified version of Hello demo.

    To reproduce the problem start server on one computer and 3-4 instances of client on another computer. It might take some time before errors occur. It is also possible to reproduce it on a single computer.

    Attachment not found.

    Thanks,
    Svyatoslav
  • mes
    mes California
    Hi,

    Thanks for providing the test case. We were able to reproduce the BadMagicException when running on Windows hosts with 8 CPUs.

    We've posted a patch that you can apply to Ice 3.5.1.

    Regards,
    Mark
  • Thank you very much for the patch.
    The problem is no longer reproduced.