Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Bug #1107 (closed)

Opened 16 years ago

Closed 15 years ago

client.joinSession() throws an "internal server error" if session expired.

Reported by: jamoore Owned by: jamoore
Priority: minor Cc: cxallan
Sprint: n.a.
Total Remaining Time: n.a.

Description

Rejoining an expired session produces the following:

>>> c1 = omero.client(["--Ice.Config=ice.config"])
10/01/08 09:07:46.434 warning: deprecated property: Ice.MonitorConnections
>>> s2 = c1.joinSession(s1.uuid.val)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/home/josh/root/opt/bedge/now/lib/omero/__init__.py", line 69, in joinSession
    return self.createSession(session, session)
  File "/home/josh/root/opt/bedge/now/lib/omero/__init__.py", line 98, in createSession
    session = router.createSession(username, password)
  File "/usr/lib64/python2.4/site-packages/Ice/Glacier2_Router_ice.py", line 104, in createSession
    return _M_Glacier2.Router._op_createSession.invoke(self, ((userId, password), _ctx))
Glacier2.CannotCreateSessionException: exception ::Glacier2::CannotCreateSessionException
{
    reason = internal server error
}

but on the server the exception is:

ome.conditions.SecurityViolation: No known user:023aeed4-85a3-43a0-9181-08ba309272f7
        at ome.services.sessions.SessionManagerImpl$5.doWork(SessionManagerImpl.java:674)
        at sun.reflect.GeneratedMethodAccessor369.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.sup

Change History (1)

comment:1 Changed 15 years ago by jmoore

  • Resolution set to fixed
  • Status changed from new to closed

This was due to session closure. Since the session uuid is passed in as Prinicipal.name it was possible for PermissionsVerifier to let a session start, but then for SessionManager not be able to find it. This is now wrapped in try/catch blocks.

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.64097 sec.)

We're Hiring!