Home Help Center

Ice::BadMagicException

ksvtksvt Member Svyatoslav KostiukOrganization: PersonalProject: Distributed file processing application
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

  • marcmarc FloridaAdministrators, ZeroC Staff Marc LaukienOrganization: ZeroC, Inc.Project: The Internet Communications Engine ZeroC Staff
    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?
  • ksvtksvt Member Svyatoslav KostiukOrganization: PersonalProject: Distributed file processing application
    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.
  • mesmes CaliforniaAdministrators, ZeroC Staff Mark SpruiellOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    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
  • ksvtksvt Member Svyatoslav KostiukOrganization: PersonalProject: Distributed file processing application
    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
  • mesmes CaliforniaAdministrators, ZeroC Staff Mark SpruiellOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    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
  • ksvtksvt Member Svyatoslav KostiukOrganization: PersonalProject: Distributed file processing application
    Thank you very much for the patch.
    The problem is no longer reproduced.
Sign In or Register to comment.