service: https://www.socma.org/mg-xyz?redirect=https%3A%2F%2Fwww.socma.org%2Fsocma-announces-2018-performance-improvement-award-winners%2F |
Site Root: /data/socma/current/socma_org/
userid: None
dbname: socma
Accept: */*
Host: www.socma.org
Referer: https://www.socma.org/auth/login?redirect=https%3A%2F%2Fwww.socma.org%2Fsocma-announces-2018-performance-improvement-award-winners%2F
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
X-Forwarded-Proto: https
X-Forwarded-Protocol: https
SCRIPT_NAME: /forms/cas/login
When: Apr 20, 2024 8:23 am
PID: 23602
Error in RuntimeError. Here is a traceback of function calls, starting with the closest to that error. |
Python 3.11.0: /home/maxx/lib/matrixmaxx3/bin/uwsgi Sat Apr 20 08:23:11 2024 |
RuntimeError: Failed to find unique session ID
/data/socma/current/libs/framework/Auth.py in pickNewSessionId(options={'MaxxRoot': '/data/socma/current/', 'Prefix': 'socma', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'socma', 'acronym': 'SOCMA', 'DBuser': 'root', 'DBpassword': '2idHuvPbv9PNPEcX', 'DBname': 'socma', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/socma/protectedFiles', 'ErrorEmail': 'errors-socma_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.socma.org', 'PublicMaxxURL': 'www.socma.org', 'NonMaxxPublicSiteURL': 'www.socma.org', 'wsgi': True, 'server_name': 'www.socma.org'}, username='', clientip='3.145.152.98', userAgent='Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', sessionTimeout=30, e_uid=0, r_uid=0) |
363 except Exception as e: |
364 pass |
365 else: |
366 # We didn't break out, so apparently all 100 of the IDs we |
367 #tried have been taken. |
368 raise RuntimeError("Failed to find unique session ID") |
369 |
370 return sessionId |
371 |
372 def hasValidSession(req, options): |
global RuntimeError = <class 'RuntimeError'> |
/data/socma/current/libs/framework/Auth.py in emitSession(req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fd4b5020a10>, username='', e_uid=0, r_uid=0, options={'MaxxRoot': '/data/socma/current/', 'Prefix': 'socma', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'socma', 'acronym': 'SOCMA', 'DBuser': 'root', 'DBpassword': '2idHuvPbv9PNPEcX', 'DBname': 'socma', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/socma/protectedFiles', 'ErrorEmail': 'errors-socma_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.socma.org', 'PublicMaxxURL': 'www.socma.org', 'NonMaxxPublicSiteURL': 'www.socma.org', 'wsgi': True, 'server_name': 'www.socma.org'}, sessionId='0', longSession=0, casService=None, casPrimary=False, renew=False) |
296 |
297 |
298 if sessionId == '0' or failedUpdate: |
299 clientip = getClientIP(req) |
300 userAgent = req.headers_in.get('User-Agent', '') |
301 sessionId = pickNewSessionId(options, username, clientip, userAgent, |
302 sessionTimeout, e_uid, r_uid) |
303 |
304 sessionCookieKey = str(options.get('MaxxSessionCookieKey', 'session')) |
305 usernameCookieKey = str(options.get('MaxxUsernameCookieKey', 'username')) |
sessionId = '0' global pickNewSessionId = <function pickNewSessionId at 0x7fd4bd88de40> options = {'MaxxRoot': '/data/socma/current/', 'Prefix': 'socma', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'socma', 'acronym': 'SOCMA', 'DBuser': 'root', 'DBpassword': '2idHuvPbv9PNPEcX', 'DBname': 'socma', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/socma/protectedFiles', 'ErrorEmail': 'errors-socma_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.socma.org', 'PublicMaxxURL': 'www.socma.org', 'NonMaxxPublicSiteURL': 'www.socma.org', 'wsgi': True, 'server_name': 'www.socma.org'} username = '' clientip = '3.145.152.98' userAgent = 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)' sessionTimeout = 30 e_uid = 0 r_uid = 0 |
/data/socma/current/libs/framework/Auth.py in getUserAndSession(req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fd4b5020a10>, site=<libs.framework.WebSite.WebSite object at 0x7fd4b57f27d0>, options={'MaxxRoot': '/data/socma/current/', 'Prefix': 'socma', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'socma', 'acronym': 'SOCMA', 'DBuser': 'root', 'DBpassword': '2idHuvPbv9PNPEcX', 'DBname': 'socma', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/socma/protectedFiles', 'ErrorEmail': 'errors-socma_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.socma.org', 'PublicMaxxURL': 'www.socma.org', 'NonMaxxPublicSiteURL': 'www.socma.org', 'wsgi': True, 'server_name': 'www.socma.org'}) |
99 |
100 # for private pages we need to know who they are |
101 # check for a session first |
102 (user, session, userid, r_uid, sessionData) = hasValidSession(req, options) |
103 if not session: |
104 session, _ = emitSession(req, '', 0, options=options) |
105 |
106 if sessionData == None: |
107 sessionData = {} |
108 |
session = 0 _ undefined global emitSession = <function emitSession at 0x7fd4bd88dda0> req = <libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fd4b5020a10> options = {'MaxxRoot': '/data/socma/current/', 'Prefix': 'socma', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'socma', 'acronym': 'SOCMA', 'DBuser': 'root', 'DBpassword': '2idHuvPbv9PNPEcX', 'DBname': 'socma', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/socma/protectedFiles', 'ErrorEmail': 'errors-socma_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.socma.org', 'PublicMaxxURL': 'www.socma.org', 'NonMaxxPublicSiteURL': 'www.socma.org', 'wsgi': True, 'server_name': 'www.socma.org'} |
/data/socma/current/libs/framework/WebManager.py in _newRequest(self=<libs.framework.WebManager.WebManager object at 0x7fd4bc1eaa50>, req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fd4b5020a10>) |
211 try: # processRequest |
212 # authenticate |
213 if 'auth' in options and options['auth'] == 'on': |
214 # rc is returnCode. For unauthorized page, it's 302. |
215 (user, session, userid, sessionData, rc) = \ |
216 Auth.getUserAndSession(req, site, options) |
217 if not user: # faild to authenticate: already output error |
218 return rc # should this be a 401 not authorized? |
219 req.user = user |
220 req.session = session |
global Auth = <module 'libs.framework.Auth' from '/data/socma/current/libs/framework/Auth.py'> Auth.getUserAndSession = <function getUserAndSession at 0x7fd4bd88da80> req = <libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fd4b5020a10> site = <libs.framework.WebSite.WebSite object at 0x7fd4b57f27d0> options = {'MaxxRoot': '/data/socma/current/', 'Prefix': 'socma', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'socma', 'acronym': 'SOCMA', 'DBuser': 'root', 'DBpassword': '2idHuvPbv9PNPEcX', 'DBname': 'socma', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/socma/protectedFiles', 'ErrorEmail': 'errors-socma_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.socma.org', 'PublicMaxxURL': 'www.socma.org', 'NonMaxxPublicSiteURL': 'www.socma.org', 'wsgi': True, 'server_name': 'www.socma.org'} |