web2py crash - Pickle

47 views
Skip to first unread message

clara

unread,
Sep 15, 2020, 8:20:23 PM9/15/20
to web2py-users
Either running locally with rocket server or under Apache for every single application (including admin), I am getting this error:

  File "C:\web2py\gluon\main.py", line 433, in wsgibase
    session.connect(request, response)
  File "C:\web2py\gluon\globals.py", line 1001, in connect
    session_pickled = pickle.dumps(self, pickle.HIGHEST_PROTOCOL)
  File "C:\web2py\gluon\storage.py", line 52, in <lambda>
    __getnewargs__ = lambda self: getattr(dict,self).__getnewargs__(self)
TypeError: getattr(): attribute name must be string

I deleted the sessions and cookies. 

I read the thread on this but didn't find a solution.

I am using Python 3.7.3
Web2py: Version 2.18.5-stable+timestamp.2019.04.08.04.22.03
OS: Windows 10 

Any help will be really appreciated. I need to get the server back up.

Thanks,

Clara

Dave S

unread,
Sep 20, 2020, 3:49:51 PM9/20/20
to web2py-users
I'm afraid I don't have an answer for you.  Sessions and cookies are the obvious thing to clear first.  Since you have a nice ticket output, you probably don't have issues with old tickets from a previous ticket format (which predates the changes to support Python 3).

If you've been running for a while on the versions you listed, then this gets more mysterious.  However, there are some objects that can't be pickled, and perhaps a recent application code change tried to pickle such an object.

Otherwise, I would look for code that wasn't properly updated for Python 3 (and from what I've read here, there have been some moving targets within the Python3 code base itself).

/dps
 
Reply all
Reply to author
Forward
0 new messages