Archived

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

Glacier2 test exception on AMD64

xdm
xdm La Coruña, Spain
Hello all

I compiled Ice-3.0.1 for 64 bit, i apply latest patchs except slice2cpp path
when I run make test, the glacier2 test fails with this exception
creating and adding callback receiver object... ok
testing oneway callback... ok
testing twoway callback... ok
testing nested twoway callback... ./bin/glacier2router: warning: connection exception:
SslTransceiver.cpp:336: Ice::ConnectionLostException:
connection lost: recv() returned zero
local address = 127.0.0.1:12347
remote address = 127.0.0.1:46859
sh: line 1: 21535 Aborted                 ./test/Glacier2/router/client --Ice.Plugin.IceSSL=IceSSL:create --Ice.Default.Protocol=ssl --IceSSL.Client.CertPath=./certs --IceSSL.Client.Config=sslconfig.xml --IceSSL.Server.CertPath=./certs --IceSSL.Server.Config=sslconfig.xml --Ice.Override.Compress --Ice.Default.Host=127.0.0.1 --Ice.PrintProcessId --Ice.PrintAdapterReady --Ice.NullHandleAbort --Ice.Warn.Connections --Ice.ServerIdleTime=30 --Ice.ThreadPool.Server.Size=1 --Ice.ThreadPool.Server.SizeMax=3 --Ice.ThreadPool.Server.SizeWarn=0 2>&1
./bin/glacier2router: warning: dispatch exception: SslTransceiver.cpp:336: Ice::ConnectionLostException:
connection lost: recv() returned zero
identity: uUUPcHiX}0\'$rf5CK4fR/callbackReceiver
facet:
operation: nestedCallback
./bin/glacier2router: warning: dispatch exception: Outgoing.cpp:415: Ice::UnknownLocalException:
unknown local exception:
SslTransceiver.cpp:336: Ice::ConnectionLostException:
connection lost: recv() returned zero
identity: c1/callback
facet:
operation: initiateNestedCallback
failed!
Client.cpp:283: assertion `callbackReceiverImpl->answerNestedCallbacks(3)' failed
./bin/glacier2router: warning: dispatch exception: SslTransceiver.cpp:336: Ice::ConnectionLostException:
connection lost: recv() returned zero
identity: uUUPcHiX}0\'$rf5CK4fR/callbackReceiver
facet:
operation: nestedCallback
./bin/glacier2router: warning: dispatch exception: Outgoing.cpp:415: Ice::UnknownLocalException:
unknown local exception:
SslTransceiver.cpp:336: Ice::ConnectionLostException:
connection lost: recv() returned zero
identity: c1/callback
facet:
operation: initiateNestedCallback
./bin/glacier2router: warning: dispatch exception: SslTransceiver.cpp:336: Ice::ConnectionLostException:
connection lost: recv() returned zero
identity: uUUPcHiX}0\'$rf5CK4fR/callbackReceiver
facet:
operation: nestedCallback
./bin/glacier2router: warning: dispatch exception: Outgoing.cpp:415: Ice::UnknownLocalException:
unknown local exception:
SslTransceiver.cpp:336: Ice::ConnectionLostException:
connection lost: recv() returned zero
identity: c1/callback
facet:
operation: initiateNestedCallback
test in ./test/Glacier2/router failed with exit status 256


gcc version 3.4.5 (Gentoo 3.4.5, ssp-3.4.5-1.0, pie-8.7.9)
db-4.3.29

Comments

  • bernard
    bernard Jupiter, FL
    Hi Jose,

    Could you post the stack trace from the client core file?

    Thanks,
    Bernard
  • xdm
    xdm La Coruña, Spain
    Hi bernad

    I don't know how to get the stack trace when runing Ice Test., must i run allTest.py under gdb?
  • bernard
    bernard Jupiter, FL
    Hi Jose,

    You should get a core file when the client crashes:
    sh: line 1: 21535 Aborted                 ./test/Glacier2/router/client --Ice.Plugin.IceSSL=IceSSL:create --Ice.Default.Protocol=ssl --IceSSL.Client.CertPath=./certs --IceSSL.Client.Config=sslconfig.xml --IceSSL.Server.CertPath=./certs --IceSSL.Server.Config=sslconfig.xml --Ice.Override.Compress --Ice.Default.Host=127.0.0.1 --Ice.PrintProcessId --Ice.PrintAdapterReady --Ice.NullHandleAbort --Ice.Warn.Connections --Ice.ServerIdleTime=30 --Ice.ThreadPool.Server.Size=1 --Ice.ThreadPool.Server.SizeMax=3 --Ice.ThreadPool.Server.SizeWarn=0 2>&1
    

    Also, make sure core files are enabled in your shell, i.e. type
    ulimit -c unlimited
    

    Cheers,
    Bernard
  • xdm
    xdm La Coruña, Spain
    Hi again

    I run the client as you say me but i don view any core file only a exception
    pepone@localhost /opt/src/Ice-3.0.1 $ ./test/Glacier2/router/client --Ice.Plugin.IceSSL=IceSSL:create --Ice.Default.Protocol=ssl --IceSSL.Client.CertPath=./certs --IceSSL.Client.Config=sslconfig.xml --IceSSL.Server.CertPath=./certs --IceSSL.Server.Config=sslconfig.xml --Ice.Override.Compress --Ice.Default.Host=127.0.0.1 --Ice.PrintProcessId --Ice.PrintAdapterReady --Ice.NullHandleAbort --Ice.Warn.Connections --Ice.ServerIdleTime=30 --Ice.ThreadPool.Server.Size=1 --Ice.ThreadPool.Server.SizeMax=3 --Ice.ThreadPool.Server.SizeWarn=0 2>&1
    557
    CallbackReceiverAdapter ready
    creating and activating callback receiver adapter... ok
    testing stringToProxy for router... ok
    testing checked cast for router... ./test/Glacier2/router/client: Network.cpp:669: Ice::ConnectionRefusedException:
    connection refused: Connection refused
    pepone@localhost /opt/src/Ice-3.0.1 $
    pepone@localhost /opt/src/Ice-3.0.1 $ ls
    CHANGES      INSTALL.FREEBSD  INSTALL.MACOSX   LICENSE   all.dsp      bin     demo       include      seed   test
    ICE_LICENSE  INSTALL.HP-UX    INSTALL.SOLARIS  Makefile  all.dsw      certs   doc        lib          slice
    INSTALL.AIX  INSTALL.LINUX    INSTALL.WINDOWS  README    allTests.py  config  ice-patch  minimal.dsp  src
    pepone@localhost /opt/src/Ice-3.0.1 $ ls test/Glacier2/router/
    Callback.cpp  Callback.ice  CallbackI.cpp  CallbackI.o  Client.o  Server.cpp  client     routerC.dsp  run.py
    Callback.h    Callback.o    CallbackI.h    Client.cpp   Makefile  Server.o    passwords  routerS.dsp  server
    pepone@localhost /opt/src/Ice-3.0.1 $ ulimit -c
    unlimited
    
  • xdm
    xdm La Coruña, Spain
    Hi bernard

    i found core file but is 26 Mb, i upload it to my server and pate url here later
  • xdm
    xdm La Coruña, Spain
    Hi is the StackTrace for client app when crash
    pepone@localhost /opt/src/Ice-3.0.1 $ gdb test/Glacier2/router/client core.11052
    GNU gdb 6.4
    Copyright 2005 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB.  Type "show warranty" for details.
    This GDB was configured as "x86_64-pc-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".
    
    Core was generated by `./test/Glacier2/router/client --Ice.Plugin.IceSSL=IceSSL:create --Ice.Default.P'.
    Program terminated with signal 6, Aborted.
    Reading symbols from /opt/src/Ice-3.0.1/lib/libGlacier2.so.30...done.
    Loaded symbols for ./lib/libGlacier2.so.30
    Reading symbols from /opt/src/Ice-3.0.1/lib/libIce.so.30...done.
    Loaded symbols for ./lib/libIce.so.30
    Reading symbols from /opt/src/Ice-3.0.1/lib/libIceUtil.so.30...done.
    Loaded symbols for ./lib/libIceUtil.so.30
    Reading symbols from /lib64/tls/libpthread.so.0...done.
    Loaded symbols for /lib/tls/libpthread.so.0
    Reading symbols from /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.5/libstdc++.so.6...done.
    Loaded symbols for /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/libstdc++.so.6
    Reading symbols from /lib64/tls/libm.so.6...done.
    Loaded symbols for /lib/tls/libm.so.6
    Reading symbols from /lib64/libgcc_s.so.1...done.
    Loaded symbols for /lib/libgcc_s.so.1
    Reading symbols from /lib64/tls/libc.so.6...done.
    Loaded symbols for /lib/tls/libc.so.6
    Reading symbols from /lib64/libbz2.so.1...done.
    Loaded symbols for /lib/libbz2.so.1
    Reading symbols from /lib64/libdl.so.2...done.
    Loaded symbols for /lib/libdl.so.2
    Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
    Loaded symbols for /lib64/ld-linux-x86-64.so.2
    Reading symbols from /opt/src/Ice-3.0.1/lib/libIceSSL.so.30...done.
    Loaded symbols for ./lib/libIceSSL.so.30
    Reading symbols from /opt/src/Ice-3.0.1/lib/libIceXML.so.30...done.
    Loaded symbols for ./lib/libIceXML.so.30
    Reading symbols from /usr/lib64/libssl.so.0.9.7...done.
    Loaded symbols for /usr/lib/libssl.so.0.9.7
    Reading symbols from /usr/lib64/libcrypto.so.0.9.7...done.
    Loaded symbols for /usr/lib/libcrypto.so.0.9.7
    Reading symbols from /usr/lib64/libexpat.so.0...done.
    Loaded symbols for /usr/lib/libexpat.so.0
    #0  0x00002aaaab7ba799 in raise () from /lib/tls/libc.so.6
    (gdb) bt
    #0  0x00002aaaab7ba799 in raise () from /lib/tls/libc.so.6
    #1  0x00002aaaab7bbc3e in abort () from /lib/tls/libc.so.6
    #2  0x0000000000423963 in testFailed (expr=0x426fa0 "callbackReceiverImpl->answerNestedCallbacks(3)", file=0x426c64 "Client.cpp", line=283)
        at TestCommon.h:21
    #3  0x0000000000421a20 in CallbackClient::run (this=0x7fffffdae300, argc=1, argv=0x7fffffdae448) at Client.cpp:283
    #4  0x00002aaaaae4245f in Ice::Application::main (this=0x7fffffdae300, argc=1, argv=0x7fffffdae448, configFile=0x0, logger=@0x7fffffdae310)
        at Application.cpp:266
    #5  0x000000000041fbf7 in main (argc=5, argv=0x7fffffdae448) at Client.cpp:92
    (gdb)                                             
    
  • bernard
    bernard Jupiter, FL
    Hi Jose,

    I suspect it's because you applied this patch:
    http://www.zeroc.com/vbulletin/showthread.php?t=2212

    As Benoit describes, it's not binary compatible: you need to add this catch block around each destroySession().
    Sure, it would have been nice to include fixes to the demos and tests in this patch ... I'll see if we can produce an updated version.

    Cheers,
    Bernard
  • bernard
    bernard Jupiter, FL
    bernard wrote:
    Hi Jose,
    I suspect it's because you applied this patch:
    http://www.zeroc.com/vbulletin/showthread.php?t=2212

    Ok, wrong answer :(. I just looked at this 3.0.1 test code and there is no destroySession() at this line.

    One of my colleagues more familiar with this code will help you.

    Cheers,
    Bernard
  • benoit
    benoit Rennes, France
    Hi,

    I've posted a new patch on [thread=2212]this thread[/thread] that also includes fixes for the demos and tests. Please apply this patch instead, this should fix the test failure.

    Cheers,
    Benoit.