client_id: maxxinternal |
redirect_uri: https://www.fmi.org/mxt/authservice/callback/ |
response_type: code |
state: /forms/cas/login?service=https%3A%2F%2Fwww.fmi.org%2FMxg%2FAuthService%2FMaxxAuth?rt=http%3A%2F%2Fwww.fmi.org%2Fget-involved |
Site Root: /data/fmiam/current/fmiam_org/
userid: None
dbname: fmiam
Accept: */*
Host: www.fmi.org
Referer: https://www.fmi.org/Mxg/AuthService?target=%2Fforms%2Fcas%2Flogin%3Fservice%3Dhttps%253A%252F%252Fwww.fmi.org%252FMxg%252FAuthService%252FMaxxAuth%3Frt%3Dhttp%253A%252F%252Fwww.fmi.org%252Fget-involved&service=https%3A%2F%2Fwww.fmi.org%2FMxg%2FAuthService%2FMaxxAuth%3Frt%3Dhttp%3A%2F%2Fwww.fmi.org%2Fget-involved
User-Agent: claudebot
X-Forwarded-Proto: https
X-Forwarded-Protocol: https
SCRIPT_NAME: /forms/oauth/authorize
PID: 12815
Error in OperationalError. Here is a traceback of function calls, starting with the closest to that error. |
Python 3.11.0: /home/maxx/lib/matrixmaxx3/bin/uwsgi Fri Mar 29 07:07:51 2024 |
OperationalError: No connection
/data/fmiam/current/libs/PLayer/PersistentBroker.py in processSql(self=<libs.PLayer.PersistentBroker.PersistentBroker object at 0x7ff441ddccd0>, sql='SELECT * FROM webselect', args=None) |
330 |
331 dbcon = self.getDBConn() |
332 if dbcon: |
333 cur = dbcon.cursor(DictCursor) |
334 else: |
335 raise MySQLdb.OperationalError("No connection") |
336 |
337 try: |
338 if getattr(self, '_isQueryCollect', 0): |
339 list = getattr(self, "queries", []) |
global MySQLdb = <module 'MySQLdb' from '/home/maxx/lib/matrixmaxx3/lib/python3.11/site-packages/MySQLdb/__init__.py'> MySQLdb.OperationalError = <class 'MySQLdb.OperationalError'> |
/data/fmiam/current/libs/framework/BaseHandler.py in _loadSelects(self=<libs.framework.WebSite.WebSite object at 0x7ff445f9f490>) |
413 I think the WebSelect stuff should be on its own, but for now |
414 I'm pulling it up to this class. |
415 """ |
416 # read in all the selects |
417 self._cachedWS = set() |
418 rs = self.pb.processSql("SELECT * FROM webselect") |
419 self.webselectsbyid = {} |
420 self.webselectsbyname = {} |
421 self.wsnametoid = {} |
422 self.wsidtoname = {} |
rs undefined self = <libs.framework.WebSite.WebSite object at 0x7ff445f9f490> self.pb = <libs.PLayer.PersistentBroker.PersistentBroker object at 0x7ff441ddccd0> self.pb.processSql = <bound method PersistentBroker.processSql of <libs.PLayer.PersistentBroker.PersistentBroker object at 0x7ff441ddccd0>> |
/data/fmiam/current/libs/framework/BaseHandler.py in _loadDisplayGroups(self=<libs.framework.WebSite.WebSite object at 0x7ff445f9f490>) |
427 def _loadDisplayGroups(self): |
428 """ called from __init__ of WebSite |
429 """ |
430 """Loads all the display groups from files""" |
431 if hasattr(self, 'displaygroupsbyid'): return |
432 self._loadSelects() |
433 self._classmapname2dg = {} |
434 #now, we'll load the displaygroups |
435 self.displaygroupsbyid = LazyDict.LazyDict() |
436 self._displaygroupsbyname = LazyDict.LazyDict() |
self = <libs.framework.WebSite.WebSite object at 0x7ff445f9f490> self._loadSelects = <bound method BaseHandler._loadSelects of <libs.framework.WebSite.WebSite object at 0x7ff445f9f490>> |
/data/fmiam/current/libs/framework/WebSite.py in __init__(self=<libs.framework.WebSite.WebSite object at 0x7ff445f9f490>, siteRoot='/data/fmiam/current/fmiam_org/', sitePath='sites/www/', req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7ff445f775d0>) |
183 self._securityPolicy = self.getPOClass('SecurityPolicy')(self, req) |
184 # security policy only needs WebSite for getting classes consider |
185 # refactoring or using broker |
186 |
187 # if we have a persistentbroker then load the displaygroups |
188 self._loadDisplayGroups() |
189 self._templates = set() # a dict of temps that we've loaded 4 debug |
190 self._dgs = [] # a list of dgs requested kept for debug |
191 self._dgids = [] # a list of dgs requested kept for debug |
192 self.setRequest(req) # Updated everytime processRequest is called |
self = <libs.framework.WebSite.WebSite object at 0x7ff445f9f490> self._loadDisplayGroups = <bound method BaseHandler._loadDisplayGroups of <libs.framework.WebSite.WebSite object at 0x7ff445f9f490>> |
/data/fmiam/current/libs/framework/WebManager.py in createNewHandler(self=<libs.framework.WebManager.WebManager object at 0x7ff44231ae90>, req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7ff445f775d0>, options={'MaxxRoot': '/data/fmiam/current/', 'Prefix': 'fmiam', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'fmiam', 'acronym': 'FMI', 'DBuser': 'root', 'DBpassword': '$dEu4e2RMYH9dYh2', 'DBname': 'fmiam', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'MaxxSessionCookieDomain': 'fmi.org', 'LoginProtocol': 'https', 'ProtectedDir': '/data/fmiam/protectedFiles', 'ErrorEmail': 'errors-fmiam_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.fmiam.org', 'PublicMaxxURL': 'www.fmi.org', 'NonMaxxPublicSiteURL': 'www.fmi.org', 'wsgi': True, 'server_name': 'www.fmi.org'}) |
107 self._sitePath, |
108 req) |
109 else: |
110 raise Exception('%s not found' % fullname) |
111 else: |
112 site = WebSite(self._siteRoot, self._sitePath, req) |
113 return site |
114 |
115 def newRequest(self, req, initOnly=False): |
116 if initOnly: |
site undefined global WebSite = <class 'libs.framework.WebSite.WebSite'> self = <libs.framework.WebManager.WebManager object at 0x7ff44231ae90> self._siteRoot = '/data/fmiam/current/fmiam_org/' self._sitePath = 'sites/www/' req = <libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7ff445f775d0> |
/data/fmiam/current/libs/framework/WebManager.py in _newRequest(self=<libs.framework.WebManager.WebManager object at 0x7ff44231ae90>, req=<libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7ff445f775d0>) |
153 if self._cacheKey in self._sites: |
154 site = self._sites[self._cacheKey] |
155 else: |
156 # create a new site |
157 try: |
158 site = self.createNewHandler(req, options) |
159 |
160 # clear our query cache on the end of the req |
161 if hasattr(site, 'pb'): |
162 self.registerForNotification(site.pb, 'stopCaching', |
site undefined self = <libs.framework.WebManager.WebManager object at 0x7ff44231ae90> self.createNewHandler = <bound method WebManager.createNewHandler of <libs.framework.WebManager.WebManager object at 0x7ff44231ae90>> req = <libs.framework.MaxxRequestWrapper.MaxxRequestWrapper object at 0x7ff445f775d0> options = {'MaxxRoot': '/data/fmiam/current/', 'Prefix': 'fmiam', 'theme': 'www', 'production': 'on', 'gitBranch': 'maxx22.4', 'ErrorStack': 'off', 'KillPenguin': 'off', 'ClientId': 'fmiam', 'acronym': 'FMI', 'DBuser': 'root', 'DBpassword': '$dEu4e2RMYH9dYh2', 'DBname': 'fmiam', 'auth': 'on', 'MaxxSessionCookieKey': 'session', 'MaxxSessionCookieDomain': 'fmi.org', 'LoginProtocol': 'https', 'ProtectedDir': '/data/fmiam/protectedFiles', 'ErrorEmail': 'errors-fmiam_error_www@matrixmaxx.com', 'listServer': 'mailingmaxx.fmiam.org', 'PublicMaxxURL': 'www.fmi.org', 'NonMaxxPublicSiteURL': 'www.fmi.org', 'wsgi': True, 'server_name': 'www.fmi.org'} |