Archived

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

IceGrid NullPermissionsVerifier not registered

Dear Ice experts,

I'm trying to play with the source code coming with the "Custom sessions and IceGrid" article that was published in issue 19 of Connections. I'm using Ice version 3.2.1 and after minor modifications to the code I was able to compile it. After modifying the config files as explained in the README file and deploying the services I tried to start the Glacier2 service but I see a strange error messages:
[ 01/08/08 13:42:48.297 Server: changed server `Mp3Ripper.Glacier2' state to `Loading' ]
[ 01/08/08 13:42:48.299 Server: changed server `Mp3Ripper.Glacier2' state to `Inactive' ]
[ 01/08/08 13:42:48.301 Server: changed server `localhost-encoder' state to `Loading' ]
[ 01/08/08 13:42:48.303 Server: changed server `localhost-encoder' state to `Inactive' ]
[ 01/08/08 13:42:48.304 Server: changed server `localhost-encoder2' state to `Loading' ]
[ 01/08/08 13:42:48.306 Server: changed server `localhost-encoder2' state to `Inactive' ]
[ 01/08/08 13:42:48.308 Server: changed server `localhost-encoder3' state to `Loading' ]
[ 01/08/08 13:42:48.309 Server: changed server `localhost-encoder3' state to `Inactive' ]
[ 01/08/08 13:42:48.311 Server: changed server `localhost-manager' state to `Loading' ]
[ 01/08/08 13:42:48.313 Server: changed server `localhost-manager' state to `Inactive' ]
[ 01/08/08 13:44:06.921 Server: changed server `Mp3Ripper.Glacier2' state to `Activating' ]
[ 01/08/08 13:44:06.921 Activator: activating server `Mp3Ripper.Glacier2' ]
[ 01/08/08 13:44:06.925 Server: changed server `Mp3Ripper.Glacier2' state to `WaitForActivation' ]
[ 01/08/08 13:44:06.926 Server: changed server `Mp3Ripper.Glacier2' state to `Active' ]
01/08/08 13:44:06.995 warning: unable to contact permissions verifier `EncoderIceGrid/NullPermissionsVerifier'
LocatorInfo.cpp:407: Ice::NotRegisteredException:
no object with id `EncoderIceGrid/NullPermissionsVerifier' is registered
[ 01/08/08 13:44:06.998 Server: changed server `localhost-manager' state to `Activating' ]
[ 01/08/08 13:44:06.999 Activator: activating server `localhost-manager' ]
[ 01/08/08 13:44:07.002 Server: changed server `localhost-manager' state to `WaitForActivation' ]
icebox: SessionManagerService.cpp:29: virtual void SessionManagerServiceI::start(const std::string&, const Ice::CommunicatorPtr&, const Ice::StringSeq&): Assertion `manager' failed.
[ 01/08/08 13:44:07.071 Activator: detected termination of server `localhost-manager'
signal = SIGABRT ]

First the Glacier2 service is not able to contact the NullPermissionsVerifier.
Then the session manager crashes.

I did not investigate further the cause of the crash. I thought that maybe sombody did try to make this example work and already solved the problem.

Thanks for your help.

Istvan

Comments

  • benoit
    benoit Rennes, France
    Hi,

    This is most likely because the Glacier2 configuration was written for Glacier2 from Ice 3.1.1. Could you try changing the value of the "Glacier2.PermissionsVerifier" property in the "ripperapp.xml" deployment descriptor to "${application}.Glacier2/NullPermissionsVerifier"? This should fix the problem -- the Glacier2 router will use its own permissions verifier rather than trying to use the IceGrid one which isn't accessible anymore.

    Cheers,
    Benoit.
  • Hi Benoit,

    thanks for your prompt reply.
    Your suggestion solved the problem of Glacier2 not able to contact the NullPermissionsVerifier but the application is still not working.
    [ 01/09/08 14:06:36.363 Server: changed server `localhost-manager' state to `WaitForActivation' ]
    icebox: SessionManagerService.cpp:29: virtual void SessionManagerServiceI::start(const std::string&, const Ice::CommunicatorPtr&, const Ice::StringSeq&): Assertion `manager' failed.
    [ 01/09/08 14:06:36.426 Activator: detected termination of server `localhost-manager'
    signal = SIGABRT ]

    I'll continue to investigate but I would welcome any additional suggestion to solve the problem.

    Thank you for your help.
  • benoit
    benoit Rennes, France
    Hi,

    IceBox services don't automatically inherit anymore from the IceBox server properties. That's what is causing indirectly this assert. Adding the following property in the "<icebox>" element of the "SessionManager" template definition in ripperapp.xml should fix the problem:
       <property name="IceBox.InheritProperties" value="1"/>
    

    Cheers,
    Benoit.
  • Thanks for your Help Benoit.

    the problem is solved but the application still doesn't work. I'll have to investigate further.
    01/09/08 18:06:59.300 warning: session manager endpoints `IceGrid.Registry.SessionManager.Endpoints' enabled
    [ 01/09/08 18:06:59.525 Server: changed server `Mp3Ripper.Glacier2' state to `Loading' ]
    [ 01/09/08 18:06:59.528 Server: changed server `Mp3Ripper.Glacier2' state to `Inactive' ]
    [ 01/09/08 18:06:59.529 Server: changed server `localhost-encoder' state to `Loading' ]
    [ 01/09/08 18:06:59.531 Server: changed server `localhost-encoder' state to `Inactive' ]
    [ 01/09/08 18:06:59.531 Server: changed server `localhost-encoder2' state to `Loading' ]
    [ 01/09/08 18:06:59.533 Server: changed server `localhost-encoder3' state to `Loading' ]
    [ 01/09/08 18:06:59.534 Server: changed server `localhost-encoder2' state to `Inactive' ]
    [ 01/09/08 18:06:59.535 Server: changed server `localhost-manager' state to `Loading' ]
    [ 01/09/08 18:06:59.536 Server: changed server `localhost-encoder3' state to `Inactive' ]
    [ 01/09/08 18:06:59.538 Server: changed server `localhost-manager' state to `Inactive' ]
    [ 01/09/08 18:07:24.097 Server: changed server `Mp3Ripper.Glacier2' state to `Activating' ]
    [ 01/09/08 18:07:24.097 Activator: activating server `Mp3Ripper.Glacier2' ]
    [ 01/09/08 18:07:24.104 Server: changed server `Mp3Ripper.Glacier2' state to `WaitForActivation' ]
    [ 01/09/08 18:07:24.106 Server: changed server `Mp3Ripper.Glacier2' state to `Active' ]
    [ 01/09/08 18:07:24.142 Server: changed server `localhost-manager' state to `Activating' ]
    [ 01/09/08 18:07:24.142 Activator: activating server `localhost-manager' ]
    [ 01/09/08 18:07:24.148 Server: changed server `localhost-manager' state to `WaitForActivation' ]
    [ 01/09/08 18:07:24.216 Server: changed server `localhost-manager' state to `Active' ]
    [ 01/09/08 18:07:24.216 Adapter: server `localhost-manager' adapter `localhost-manager.localhost-manager.localhost-manager-SessionManager' activated: dummy -t:tcp -h localhost -p 38633 ]
    [ 01/09/08 18:08:08.308 SessionManagerI: icegrid session: EncoderIceGrid/718CC69F-486C-44C2-B73F-4278E382947F -t:tcp -h 170.86.30.47 -p 51501 session: 9CA1CBFF-1681-4871-A7F0-FA57A33D14A8 -t @ localhost-manager.localhost-manager.localhost-manager-SessionManager ]
    [ 01/09/08 18:08:08.332 EncoderWorkItem: k3b_success1.wav: waiting for encoder ]
    [ 01/09/08 18:08:08.336 Server: changed server `localhost-encoder' state to `Activating' ]
    [ 01/09/08 18:08:08.337 Activator: activating server `localhost-encoder' ]
    [ 01/09/08 18:08:08.339 Server: changed server `localhost-encoder' state to `WaitForActivation' ]
    [ 01/09/08 18:08:08.372 Server: changed server `localhost-encoder' state to `Active' ]
    [ 01/09/08 18:08:08.372 Adapter: server `localhost-encoder' adapter `localhost-encoder.localhost-encoder.localhost-encoder-EncoderFactory' activated: dummy -t:tcp -h localhost -p 40940 ]
    [ 01/09/08 18:08:08.374 EncoderWorkItem: k3b_success1.wav: encoding ]
    01/09/08 18:08:23.318 warning: dispatch exception: Network.cpp:664: Ice::ConnectionRefusedException:
    connection refused: Connection refused
    identity: 9CA1CBFF-1681-4871-A7F0-FA57A33D14A8
    facet:
    operation: keepAlive
    [ 01/09/08 18:09:26.573 Activator: detected termination of server `localhost-manager'
    signal = SIGSEGV ]
  • matthew
    matthew NL, Canada
    I just tested the demo with Ice 3.2.1. I had to make the following changes to get it work:

    Client.cpp
    Change #include <IceUtil/UUID.h> to #include <IceUtil/IceUtil.h>
    Add #include <set>

    SessionManagerI.cpp
    Change virtual const string ice_name to virtual string ice_name

    config
    Change the references to 192.168.1.5 in config to my hosts IP address.

    config.icegrid
    Uncomment the lines that say required for Ice 3.2.
    Comment out the IceGrid.Registry.Admin.Endpoints=default line.

    ripperapp.xml
    Change the references to 192.168.1.5 to my hosts IP address.
    In the SessionManager template <property name="IceBox.InheritProperties" value="1"/> under the icebox tag.
    Change <property name="Glacier2.PermissionsVerifier" value="EncoderIceGrid/NullPermissionsVerifier"/>
    to <property name="Glacier2.PermissionsVerifier" value="${application}.Glacier2/NullPermissionsVerifier"/>

    Once I did this everything worked as expected. I'm not sure why you get some other error.

    In window #1
    $ icegridadmin --Ice.Config=config.icegrid -e "application add ripperapp.xml" 
    user id: foo
    password: 
    $ icegridadmin --Ice.Config=config.icegrid -e "server start Mp3Ripper.Glacier2"
    user id: foo
    password: 
    $ ./client testcase1.wav 
    testcase1.wav: encoded
    

    In window #2
    $ icegridnode --Ice.Config=config.icegrid
    01/10/08 09:36:48.774 warning: session manager endpoints `IceGrid.Registry.SessionManager.Endpoints' enabled
    [ 01/10/08 09:36:55.204 Server: changed server `Mp3Ripper.Glacier2' state to `Loading' ]
    [ 01/10/08 09:36:55.205 Server: changed server `Mp3Ripper.Glacier2' state to `Inactive' ]
    [ 01/10/08 09:36:55.206 Server: changed server `localhost-encoder' state to `Loading' ]
    [ 01/10/08 09:36:55.208 Server: changed server `localhost-encoder' state to `Inactive' ]
    [ 01/10/08 09:36:55.209 Server: changed server `localhost-encoder2' state to `Loading' ]
    [ 01/10/08 09:36:55.210 Server: changed server `localhost-encoder2' state to `Inactive' ]
    [ 01/10/08 09:36:55.212 Server: changed server `localhost-encoder3' state to `Loading' ]
    [ 01/10/08 09:36:55.213 Server: changed server `localhost-encoder3' state to `Inactive' ]
    [ 01/10/08 09:36:55.214 Server: changed server `localhost-manager' state to `Loading' ]
    [ 01/10/08 09:36:55.217 Server: changed server `localhost-manager' state to `Inactive' ]
    [ 01/10/08 09:36:59.035 Server: changed server `Mp3Ripper.Glacier2' state to `Activating' ]
    [ 01/10/08 09:36:59.036 Activator: activating server `Mp3Ripper.Glacier2' ]
    [ 01/10/08 09:36:59.038 Server: changed server `Mp3Ripper.Glacier2' state to `WaitForActivation' ]
    [ 01/10/08 09:36:59.039 Server: changed server `Mp3Ripper.Glacier2' state to `Active' ]
    [ 01/10/08 09:36:59.114 Server: changed server `localhost-manager' state to `Activating' ]
    [ 01/10/08 09:36:59.115 Activator: activating server `localhost-manager' ]
    [ 01/10/08 09:36:59.120 Server: changed server `localhost-manager' state to `WaitForActivation' ]
    [ 01/10/08 09:36:59.210 Server: changed server `localhost-manager' state to `Active' ]
    [ 01/10/08 09:36:59.210 Adapter: server `localhost-manager' adapter `localhost-manager.localhost-manager.localhost-manager-SessionManager' activated: dummy -t:tcp -h localhost -p 55831 ]
    [ 01/10/08 09:37:02.494 SessionManagerI:  icegrid session: EncoderIceGrid/CDE09198-08AE-4104-8B08-7B3FE513123D -t:tcp -h 192.168.2.33 -p 55803:tcp -h 192.168.2.34 -p 55804:tcp -h 10.211.55.2 -p 55805:tcp -h 169.254.87.180 -p 55806 session: 480B0E13-FF40-4BFB-BA2A-7A9B14AF1241 -t @ localhost-manager.localhost-manager.localhost-manager-SessionManager ]
    [ 01/10/08 09:37:02.527 EncoderWorkItem: testcase1.wav: waiting for encoder ]
    [ 01/10/08 09:37:02.540 Server: changed server `localhost-encoder' state to `Activating' ]
    [ 01/10/08 09:37:02.540 Activator: activating server `localhost-encoder' ]
    [ 01/10/08 09:37:02.546 Server: changed server `localhost-encoder' state to `WaitForActivation' ]
    [ 01/10/08 09:37:02.594 Server: changed server `localhost-encoder' state to `Active' ]
    [ 01/10/08 09:37:02.594 Adapter: server `localhost-encoder' adapter `localhost-encoder.localhost-encoder.localhost-encoder-EncoderFactory' activated: dummy -t:tcp -h localhost -p 55843 ]
    [ 01/10/08 09:37:02.595 EncoderWorkItem: testcase1.wav: encoding ]
    [ 01/10/08 09:37:02.652 EncoderWorkItem: testcase1.wav: encoding finished ]
    ^C[ 01/10/08 09:37:05.735 Server: changed server `Mp3Ripper.Glacier2' state to `Deactivating' ]
    [ 01/10/08 09:37:05.752 Server: changed server `localhost-encoder' state to `Deactivating' ]
    [ 01/10/08 09:37:05.757 Server: changed server `localhost-manager' state to `Deactivating' ]
    [ 01/10/08 09:37:05.800 Activator: detected termination of server `Mp3Ripper.Glacier2' ]
    [ 01/10/08 09:37:05.800 Server: changed server `Mp3Ripper.Glacier2' state to `Inactive' ]
    [ 01/10/08 09:37:05.805 Activator: detected termination of server `localhost-encoder' ]
    [ 01/10/08 09:37:05.805 Adapter: server `localhost-encoder' adapter `localhost-encoder.localhost-encoder.localhost-encoder-EncoderFactory' deactivated ]
    [ 01/10/08 09:37:05.805 Server: changed server `localhost-encoder' state to `Inactive' ]
    [ 01/10/08 09:37:05.805 Activator: detected termination of server `localhost-manager' ]
    [ 01/10/08 09:37:05.805 Adapter: server `localhost-manager' adapter `localhost-manager.localhost-manager.localhost-manager-SessionManager' deactivated ]
    [ 01/10/08 09:37:05.806 Server: changed server `localhost-manager' state to `Inactive' ]
    $