Bug 2809 - traceback on shadowing
Summary: traceback on shadowing
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VSM Server (show other bugs)
Version: pre-1.0
Hardware: PC All
: P2 Normal
Target Milestone: 4.8.0
Assignee: Henrik Andersson
URL:
Keywords: focus_shadowing, relnotes, samuel_tester
Depends on:
Blocks:
 
Reported: 2008-06-09 09:41 CEST by Pierre Ossman
Modified: 2017-03-21 10:35 CET (History)
2 users (show)

See Also:
Acceptance Criteria:


Attachments

Description Pierre Ossman cendio 2008-06-09 09:41:27 CEST
Les reported in issue 6289 that he got the following when shadowing:

2008-06-05 08:27:46 INFO vsmserver.session: VSM Agent tlmadm.eksjo.se successfully created a new session for ohch
2008-06-05 08:30:53 INFO vsmserver.session: lie requested login
2008-06-05 08:30:53 INFO vsmserver: Verifying that agent tlmadm.eksjo.se running existing session for lie is alive
2008-06-05 08:30:53 INFO vsmserver: Verifying session tlmadm.eksjo.se:5 for lie
2008-06-05 08:30:54 INFO vsmserver: Existing session for lie is alive
2008-06-05 08:32:13 INFO vsmserver.session: Removing dead session for user rom on agent tlmadm.eksjo.se
2008-06-05 08:32:46 INFO vsmserver.shadow: User frn requested shadowing of user gufi
2008-06-05 08:32:46 ERROR vsmserver.extcmd: Unhandled exception getting list of groups for frn: <type 'exceptions.TypeError'> list indices must be integers Traceback (most recent call last):
  File "/opt/thinlinc/modules/thinlinc/vsm/async.py", line 110, in iiiIi111II1i
    obj . handle_read_event ( fd )
  File "/opt/thinlinc/modules/thinlinc/vsm/extproc.py", line 310, in handle_read_event
    self . handle_close ( fd )
  File "/opt/thinlinc/modules/thinlinc/vsm/extproc.py", line 283, in handle_close
    self . handle_exit ( )
  File "/opt/thinlinc/modules/thinlinc/vsm/extproc.py", line 444, in handle_exit
    self . callback ( O0OoO0oo )
  File "/opt/thinlinc/modules/thinlinc/vsm/loginhandler_common.py", line 73, in get_user_groups_finished
    self . allowed_thinlinc_user ( )
  File "/opt/thinlinc/modules/thinlinc/vsm/loginhandler_common.py", line 89, in allowed_thinlinc_user
    self . allowed_thinlinc_user_finished ( True )
  File "/opt/thinlinc/modules/thinlinc/vsm/handler_shadowuser.py", line 48, in allowed_thinlinc_user_finished
    self . check_shadowed_user_has_session ( )
  File "/opt/thinlinc/modules/thinlinc/vsm/handler_shadowuser.py", line 55, in check_shadowed_user_has_session
    self . check_agent_alive ( )
  File "/opt/thinlinc/modules/thinlinc/vsm/handler_shadowuser.py", line 65, in check_agent_alive
    iiiiI1i = Ii1IIIi1iIi1 [ 'agenthost' ]
TypeError: list indices must be integers
.
Traceback (most recent call last):
  File "/opt/thinlinc/sbin/vsmserver", line 20, in <module>
    VSMServer ( sys . argv )
  File "/opt/thinlinc/modules/thinlinc/vsm/vsmserver.py", line 141, in __init__
    self . loop ( )
  File "/opt/thinlinc/modules/thinlinc/vsm/async.py", line 431, in loop
    self . _select_loop ( I1I1IIi1I )
  File "/opt/thinlinc/modules/thinlinc/vsm/async.py", line 278, in _select_loop
    iiiIi111II1i ( O00o0OO , OOooO0 )
  File "/opt/thinlinc/modules/thinlinc/vsm/async.py", line 115, in iiiIi111II1i
    obj . handle_error ( fd )
  File "/opt/thinlinc/modules/thinlinc/vsm/extproc.py", line 333, in handle_error
    OOO = self . handle_known_errors ( fd )
  File "/opt/thinlinc/modules/thinlinc/vsm/extproc.py", line 450, in handle_known_errors
    self . callback ( [ ] )
  File "/opt/thinlinc/modules/thinlinc/vsm/loginhandler_common.py", line 69, in get_user_groups_finished
    del self . outstanding_extcalls [ 'get_user_groups' ]
KeyError: 'get_user_groups'
2008-06-05 08:44:56 INFO vsmserver: VSM Server version 2.0.0 build 1477 started
2008-06-05 08:44:56 INFO vsmserver.license: Updating license data from disk to memory
2008-06-05 08:44:56 INFO vsmserver.license: License summary: 120 concurrent users. Hard limit of 132 concurrent users.
2008-06-05 08:44:56 INFO vsmserver.session: Loaded 38 sessions for 38 users from file
2008-06-05 08:44:57 INFO vsmserver.session: Removing dead session for user gufi on agent tlmadm.eksjo.se
2008-06-05 08:44:57 INFO vsmserver.session: Removing dead session for user ssb on agent tlmadm.eksjo.se
2008-06-05 08:45:06 WARNING vsmserver.session: Connection to tlmadm.eksjo.se:904 closed before receiving response in request to verify session for jnu.
2008-06-05 08:45:06 WARNING vsmserver.session: Connection to tlmadm.eksjo.se:904 closed before receiving response in request to verify session for rob.
Comment 1 Inge Wallin cendio 2008-09-08 14:27:58 CEST
This bug is probably related to bug 2884.
Comment 2 Henrik Andersson cendio 2017-01-16 16:07:01 CET
>  File "/opt/thinlinc/modules/thinlinc/vsm/handler_shadowuser.py", line 65, in check_agent_alive
>     iiiiI1i = Ii1IIIi1iIi1 [ 'agenthost' ]
> TypeError: list indices must be integers

This indicates that an list was used instead of dict.

This traceback is on a very old version of ThinLinc however I found matching code in LoginHandlerCommon.check_agent_alive() and will work out from there:

  agenthost = self.sessinfo['agenthost']

Current implementation sets self.sessinfo using sesssion store api get_session_public() which definitively  was not the case at the time of reporting of this issue. As we expect that get_session_public() returns a data structure that is valid, this error can not be reproduced with current code.
Comment 3 Henrik Andersson cendio 2017-01-17 08:51:19 CET
Closing this bug due to it is very old, related code has changed and we should trust that the session store api returns valid session info data structure.
Comment 4 Henrik Andersson cendio 2017-01-17 08:51:19 CET
Closing this bug due to it is very old, related code has changed and we should trust that the session store api returns valid session info data structure.
Comment 5 Samuel Mannehed cendio 2017-01-17 11:59:11 CET
I can second Henrik's conclusion. Looks good to close.

Note You need to log in before you can comment on or make changes to this bug.