mode: quick |
Site Root: /data/aipn/current/aipn_org/
userid: None
dbname: aipn
Accept: */*
Host: www.aien.org
Referer: https://www.aien.org/forms/login/pushAndJump?ret=/users_only/meeting/RegistrationFormPublic/create%3Fmicrosite%3D2F3880000000E%26amp%3BmeetingId%3D2F3880000000E&word=Back%20to%20what%20I%20was%20doing&dst=/forms/applications/NewUserPublic/edit?mode=quick
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/applications/NewUserPublic/edit
When: Apr 20, 2024 7:45 am
PID: 14622
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 07:46:10 2024 |
RuntimeError: Failed to find unique session ID
/data/aipn/current/libs/framework/Auth.py in pickNewSessionId(options={'MaxxRoot': '/data/aipn/current/', 'Prefix': 'aipn', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'aipn', 'acronym': 'AIEN', 'DBuser': 'root', 'DBpassword': 'fvNhIKy+^WzGuBF+', 'DBname': 'aipn', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/aipn/protectedFiles', 'ErrorEmail': 'errors-aipn_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.aipn.org', 'PublicMaxxURL': 'www.aien.org', 'NonMaxxPublicSiteURL': 'www.aien.org', 'wsgi': True, 'server_name': 'www.aien.org'}, username='', clientip='18.190.217.134', 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/aipn/current/libs/framework/Auth.py in emitSession(req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fad89877fd0>, username='', e_uid=0, r_uid=0, options={'MaxxRoot': '/data/aipn/current/', 'Prefix': 'aipn', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'aipn', 'acronym': 'AIEN', 'DBuser': 'root', 'DBpassword': 'fvNhIKy+^WzGuBF+', 'DBname': 'aipn', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/aipn/protectedFiles', 'ErrorEmail': 'errors-aipn_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.aipn.org', 'PublicMaxxURL': 'www.aien.org', 'NonMaxxPublicSiteURL': 'www.aien.org', 'wsgi': True, 'server_name': 'www.aien.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 0x7fad930ede40> options = {'MaxxRoot': '/data/aipn/current/', 'Prefix': 'aipn', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'aipn', 'acronym': 'AIEN', 'DBuser': 'root', 'DBpassword': 'fvNhIKy+^WzGuBF+', 'DBname': 'aipn', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/aipn/protectedFiles', 'ErrorEmail': 'errors-aipn_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.aipn.org', 'PublicMaxxURL': 'www.aien.org', 'NonMaxxPublicSiteURL': 'www.aien.org', 'wsgi': True, 'server_name': 'www.aien.org'} username = '' clientip = '18.190.217.134' 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/aipn/current/libs/framework/Auth.py in getUserAndSession(req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fad89877fd0>, site=<libs.framework.WebSite.WebSite object at 0x7fad8f7e8090>, options={'MaxxRoot': '/data/aipn/current/', 'Prefix': 'aipn', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'aipn', 'acronym': 'AIEN', 'DBuser': 'root', 'DBpassword': 'fvNhIKy+^WzGuBF+', 'DBname': 'aipn', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/aipn/protectedFiles', 'ErrorEmail': 'errors-aipn_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.aipn.org', 'PublicMaxxURL': 'www.aien.org', 'NonMaxxPublicSiteURL': 'www.aien.org', 'wsgi': True, 'server_name': 'www.aien.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 0x7fad930edda0> req = <libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fad89877fd0> options = {'MaxxRoot': '/data/aipn/current/', 'Prefix': 'aipn', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'aipn', 'acronym': 'AIEN', 'DBuser': 'root', 'DBpassword': 'fvNhIKy+^WzGuBF+', 'DBname': 'aipn', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/aipn/protectedFiles', 'ErrorEmail': 'errors-aipn_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.aipn.org', 'PublicMaxxURL': 'www.aien.org', 'NonMaxxPublicSiteURL': 'www.aien.org', 'wsgi': True, 'server_name': 'www.aien.org'} |
/data/aipn/current/libs/framework/WebManager.py in _newRequest(self=<libs.framework.WebManager.WebManager object at 0x7fad95e59750>, req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fad89877fd0>) |
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/aipn/current/libs/framework/Auth.py'> Auth.getUserAndSession = <function getUserAndSession at 0x7fad930eda80> req = <libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7fad89877fd0> site = <libs.framework.WebSite.WebSite object at 0x7fad8f7e8090> options = {'MaxxRoot': '/data/aipn/current/', 'Prefix': 'aipn', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'aipn', 'acronym': 'AIEN', 'DBuser': 'root', 'DBpassword': 'fvNhIKy+^WzGuBF+', 'DBname': 'aipn', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'LoginProtocol': 'https', 'ProtectedDir': '/data/aipn/protectedFiles', 'ErrorEmail': 'errors-aipn_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.aipn.org', 'PublicMaxxURL': 'www.aien.org', 'NonMaxxPublicSiteURL': 'www.aien.org', 'wsgi': True, 'server_name': 'www.aien.org'} |