Archived

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

icepack client cannot catch exception

this is the program segment before the client requsts service using icepack:
"
props1->setProperty("Ice.Default.Locator",
"IcePack/Locator:default -p 12000 -h " +registryname1);
props1->setProperty("IcePack.Registry.Client.Endpoints",
"default -p 12000 -h " + registryname1);
ic = Ice::initializeWithProperties(argc, argv, props1);

when there is no icepackregistry process on the registryname manchine ,the client can't exit gracely , the following error accures:
"
Program received signal SIG32, Real-time event 32.
0x404b4da9 in sigsuspend () from /lib/libc.so.6
(gdb) where
#0 0x404b4da9 in sigsuspend () from /lib/libc.so.6
#1 0x402b6548 in pthread_create () from /lib/libpthread.so.0
#2 0x402b62e1 in pthread_create () from /lib/libpthread.so.0
#3 0x4029cf96 in IceUtil::Thread::start(unsigned) (this=0x80c9d80, stackSize=0) at Thread.cpp:553
#4 0x40130cee in ConnectionMonitor (this=0x80c9d80, instance=@0xbffff2a0, interval=60) at ConnectionMonitor.cpp:61
#5 0x401544c2 in IceInternal::Instance::finishSetup(int&, char**) (this=0x80c8600, argc=@0xbffff56c, argv=0xbffff568)
at Instance.cpp:713
#6 0x4010d67b in Ice::CommunicatorI::finishSetup(int&, char**) (this=0x80c85b8, argc=@0xbffff56c, argv=0xbffff568)
at CommunicatorI.cpp:462
#7 0x4014bd0d in Ice::initializeWithProperties(int&, char**, IceInternal::Handle<Ice::Properties> const&, int) (argc=@0xbffff56c,
argv=0xbffff568, properties=@0xbffff570, version=20100) at Initialize.cpp:166
#8 0x080964e3 in CDatabase::connect() (this=0xbffff740) at ClientAgent.cpp:1138
#9 0x0808d431 in test_query(int, char**) (argc=1, argv=0xbffff824) at Client.cpp:84
#10 0x0808dd71 in main (argc=1, argv=0xbffff824) at Client.cpp:171
#11 0x404a1914 in __libc_start_main () from /lib/libc.so.6
"

It is a serious bug I think ,because I try to catch the exception of Ice::initializeWithProperties,but it doesn't work

Comments

  • matthew
    matthew NL, Canada
    I'm sorry, but you must fill out your signature information as described http://www.zeroc.com/vbulletin/showthread.php?t=1697 before we can help you.

    You should also give much more information such as the Ice version, the platform, compiler, etc.
  • the ice version is ICE2.1.0
    platform is suse9
    complier is g++,C++

    by the way, I don't think they have anything with the question.
    I have seen the src code of ICE, I find Ice::initializeWithProperties does not do anything about exception catch. And I haven't found patches in ICE2.1.1 and ICE2.1.2
  • matthew
    matthew NL, Canada
    Sorry, until you fill out your signature information we cannot help you.
  • i have finished my signature information .
    i don't know why you still ask me to do so.
  • No, your signature is not set. Please see:

    http://www.zeroc.com/vbulletin/profile.php?do=editsignature

    As for what information is required, please see:

    http://www.zeroc.com/vbulletin/showthread.php?t=1697
  • matthew
    matthew NL, Canada
    I just tried starting the 2.1.0 hello demo client with a locator configured, but with none running. I didn't get a problem on start, as you report.

    To duplicate this

    cd demo/Ice/hello
    edit config
    change Hello.Proxy to just "hello"
    run the client
    client --Ice.Default.Locator="locator:tcp -p 12000"

    it will get connection refused, as you would expect because there is no locator.

    In addition to filling in your signature information, please provide a complete self-contained compilable example that demonstrates your problem.