Hello 

Has anyone found such an error on web2py ? If yes - any clue what it could 
be ? 


Ticket ID

109.102.111.32.2019-09-16.00-02-25.3b80feb4-c283-4a67-8ece-6d7917ba4334
Version
web2py™ Version 2.18.5-stable+timestamp.2019.04.08.04.22.03
Python Python 2.7.13: /usr/bin/python (prefix: /usr)Traceback

1.
2.
3.
4.
5.
6.
7.
8.
9.

Traceback (most recent call last):
  File "/home/www-data/web2py/gluon/main.py", line 435, in wsgibase
    session.connect(request, response)
  File "/home/www-data/web2py/gluon/globals.py", line 1002, in connect
    session_pickled = pickle.dumps(self, pickle.HIGHEST_PROTOCOL)
  File "/home/www-data/web2py/gluon/storage.py", line 52, in <lambda>
    __getnewargs__ = lambda self: getattr(dict,self).__getnewargs__(self)
TypeError: getattr(): attribute name must be string

Error snapshot [image: help] Detailed traceback description <#>

<type 'exceptions.TypeError'>(getattr(): attribute name must be string) 

inspect attributes 
Exception instance attributes
__getslice__ <method-wrapper '__getslice__' of exceptions.TypeError object>
__str__ <method-wrapper '__str__' of exceptions.TypeError object>
__getattribute__ <method-wrapper '__getattribute__' of exceptions.TypeError 
object>
__dict__ {}
__sizeof__ <built-in method __sizeof__ of exceptions.TypeError object>
message 'getattr(): attribute name must be string'
__init__ <method-wrapper '__init__' of exceptions.TypeError object>
__setattr__ <method-wrapper '__setattr__' of exceptions.TypeError object>
__reduce_ex__ <built-in method __reduce_ex__ of exceptions.TypeError object>
__new__ <built-in method __new__ of type object>
__format__ <built-in method __format__ of exceptions.TypeError object>
__class__ <type 'exceptions.TypeError'>
__doc__ 'Inappropriate argument type.'
__getitem__ <method-wrapper '__getitem__' of exceptions.TypeError object>
__setstate__ <built-in method __setstate__ of exceptions.TypeError object>
__reduce__ <built-in method __reduce__ of exceptions.TypeError object>
args ('getattr(): attribute name must be string',)
__subclasshook__ <built-in method __subclasshook__ of type object>
__unicode__ <built-in method __unicode__ of exceptions.TypeError object>
__delattr__ <method-wrapper '__delattr__' of exceptions.TypeError object>
__repr__ <method-wrapper '__repr__' of exceptions.TypeError object>
__hash__ <method-wrapper '__hash__' of exceptions.TypeError object>
Frames
   
   - 
   
   *File /home/www-data/web2py/gluon/main.py in wsgibase at line 435* code 
   arguments variables 
   Function argument list
   
   (environ={'CONTEXT_DOCUMENT_ROOT': '/var/www/html', 'CONTEXT_PREFIX': 
   '', 'DOCUMENT_ROOT': '/var/www/html', 'GATEWAY_INTERFACE': 'CGI/1.1', 
   'HTTP_ACCEPT': 'text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2', 
   'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'keep-alive', 
   'HTTP_HOST': 'www.artpic.in', 'HTTP_PRAGMA': 'no-cache', 'HTTP_USER_AGENT': 
   'Java/1.6.0_04', ...}, responder=<built-in method start_response of 
   mod_wsgi.Adapter object>)
   Code listing
   
   430.
   431.
   432.
   433.
   434.
   435.
   436.
   437.
   438.
   439.
   
                   # ##################################################
                   # try load session or create new session file
                   # ##################################################
   
                   if not env.web2py_disable_session:
                       session.connect(request, response)
   
                   # ##################################################
                   # run controller
                   # ##################################################
   
   Variables
   session <Storage {}>
   session.connect <bound method Session.connect of <Storage {}>>
   request <Storage {'_vars': None, 'function': 'index', 
   'c...a/web2py/applications/artpic/', 'method': 'GET'}>
   response <Storage {'body': <cStringIO.StringO object at 0..._caller': 
   <function <lambda> at 0x7fc3e069f320>}>
   - 
   
   *File /home/www-data/web2py/gluon/globals.py in connect at line 1002* 
   code arguments variables 
   Function argument list
   
   (self=<Storage {}>, request=<Storage {'_vars': None, 'function': 
   'index', 'c...a/web2py/applications/artpic/', 'method': 'GET'}>, 
   response=<Storage {'body': <cStringIO.StringO object at 0..._caller': 
   <function <lambda> at 0x7fc3e069f320>}>, db=None, 
   tablename='web2py_session', masterapp='artpic', migrate=True, 
   separate=None, check_client=False, cookie_key=None, cookie_expires=None, 
   compression_level=None)
   Code listing
   
   997.
   998.
   999.
   1000.
   1001.
   1002.
   1003.
   1004.
   1005.
   1006.
   
               response.cookies[response.session_id_name]['path'] = '/'
               if cookie_expires:
                   response.cookies[response.session_id_name]['expires'] = \
                       cookie_expires.strftime(FMT)
   
           session_pickled = pickle.dumps(self, pickle.HIGHEST_PROTOCOL)
           response.session_hash = hashlib.md5(session_pickled).hexdigest()
   
           if self.flash:
               (response.flash, self.flash) = (self.flash, None)
   
   Variables
   pickle.HIGHEST_PROTOCOL 2
   self <Storage {}>
   session_pickled undefined
   global pickle <module 'cPickle' (built-in)>
   pickle.dumps <built-in function dumps>
   - 
   
   *File /home/www-data/web2py/gluon/storage.py in <lambda> at line 52* code 
   arguments variables 
   Function argument list
   
   (self=<Storage {}>)
   Code listing
   
   47.
   48.
   49.
   50.
   51.
   52.
   53.
   54.
   55.
   56.
   
       __slots__ = ()
       __setattr__ = dict.__setitem__
       __delattr__ = dict.__delitem__
       __getitem__ = dict.get
       __getattr__ = dict.get
       __getnewargs__ = lambda self: getattr(dict,self).__getnewargs__(self)
       __repr__ = lambda self: '<Storage %s>' % dict.__repr__(self)
       # 
http://stackoverflow.com/questions/5247250/why-does-pickle-getstate-accept-as-a-return-value-the-very-instance-it-requi
       __getstate__ = lambda self: None
       __copy__ = lambda self: Storage(self)
   
   Variables
   ).__getnewargs__ <bound method Session.<lambda> of <Storage {}>>
   self <Storage {}>
   __getnewargs__ undefined
   builtingetattr <built-in function getattr>
   builtindict <type 'dict'>
   
Context

locals request session response 
locals
self : 
<Storage {}>
request
ajax : 
False
application : 
artpic
args : 

cid : 
None
client : 
109.102.111.32
controller : 
default
cookies : 

env : 
CONTEXT_DOCUMENT_ROOT : 
/var/www/html
CONTEXT_PREFIX : 
DOCUMENT_ROOT : 
/var/www/html
GATEWAY_INTERFACE : 
CGI/1.1
HTTP_ACCEPT : 
text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
HTTP_CACHE_CONTROL : 
no-cache
HTTP_CONNECTION : 
keep-alive
HTTP_HOST : 
www.artpic.in
HTTP_PRAGMA : 
no-cache
HTTP_USER_AGENT : 
Java/1.6.0_04
PATH_INFO : 
/
PATH_TRANSLATED : 
/home/www-data/web2py/wsgihandler.py/
QUERY_STRING : 
REMOTE_ADDR : 
109.102.111.32
REMOTE_PORT : 
64775
REQUEST_METHOD : 
GET
REQUEST_SCHEME : 
http
REQUEST_URI : 
/
SCRIPT_FILENAME : 
/home/www-data/web2py/wsgihandler.py
SCRIPT_NAME : 
SERVER_ADDR : 
103.107.17.134
SERVER_ADMIN : 
webmaster@localhost
SERVER_NAME : 
www.artpic.in
SERVER_PORT : 
80
SERVER_PROTOCOL : 
HTTP/1.1
SERVER_SIGNATURE : 
<address>Apache/2.4.25 (Debian) Server at www.artpic.in Port 80</address> 
SERVER_SOFTWARE : 
Apache/2.4.25 (Debian)
apache.version : 
2
4
25
apache_version : 
2
4
25
app_folders : 
set(['/home/www-data/web2py/applications/artpic/', 
'/home/www-data/web2py/applications/Target/'])
applications_parent : 
/home/www-data/web2py
context_document_root : 
/var/www/html
context_prefix : 
db_sessions : 
set([])
debugging : 
False
document_root : 
/var/www/html
domain_application : 
artpic
domain_controller : 
None
domain_function : 
None
gateway_interface : 
CGI/1.1
gluon_parent : 
/home/www-data/web2py
http_accept : 
text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
http_cache_control : 
no-cache
http_connection : 
keep-alive
http_host : 
www.artpic.in
http_pragma : 
no-cache
http_user_agent : 
Java/1.6.0_04
is_jython : 
False
is_py2 : 
True
is_pypy : 
False
is_source : 
True
local_hosts : 
103.107.17.134
::ffff:127.0.0.1
::1
targetsoft.co.in
mail.targetsoft.co.in
127.0.0.1
mod_wsgi.application_group : 
targetsoft.co.in|
mod_wsgi.callable_object : 
application
mod_wsgi.enable_sendfile : 
0
mod_wsgi.handler_script : 
mod_wsgi.ignore_activity : 
0
mod_wsgi.listener_host : 
mod_wsgi.listener_port : 
80
mod_wsgi.path_info : 
/
mod_wsgi.process_group : 
mod_wsgi.request_handler : 
wsgi-script
mod_wsgi.request_id : 
Fi17tTt4fvw
mod_wsgi.request_start : 
1568572345888022
mod_wsgi.script_name : 
mod_wsgi.script_reloading : 
1
mod_wsgi.script_start : 
1568572345888235
mod_wsgi.thread_id : 
0
mod_wsgi.thread_requests : 
75L
mod_wsgi.total_requests : 
75L
mod_wsgi.version : 
4
5
11
mod_wsgi_application_group : 
targetsoft.co.in|
mod_wsgi_callable_object : 
application
mod_wsgi_enable_sendfile : 
0
mod_wsgi_handler_script : 
mod_wsgi_ignore_activity : 
0
mod_wsgi_listener_host : 
mod_wsgi_listener_port : 
80
mod_wsgi_path_info : 
/
mod_wsgi_process_group : 
mod_wsgi_request_handler : 
wsgi-script
mod_wsgi_request_id : 
Fi17tTt4fvw
mod_wsgi_request_start : 
1568572345888022
mod_wsgi_script_name : 
mod_wsgi_script_reloading : 
1
mod_wsgi_script_start : 
1568572345888235
mod_wsgi_thread_id : 
0
mod_wsgi_thread_requests : 
75L
mod_wsgi_total_requests : 
75L
mod_wsgi_version : 
4
5
11
path_info : 
/
path_translated : 
/home/www-data/web2py/wsgihandler.py/
query_string : 
remote_addr : 
109.102.111.32
remote_port : 
64775
request_method : 
GET
request_scheme : 
http
request_uri : 
/artpic/en/default/index
script_filename : 
/home/www-data/web2py/wsgihandler.py
script_name : 
server_addr : 
103.107.17.134
server_admin : 
webmaster@localhost
server_name : 
www.artpic.in
server_port : 
80
server_protocol : 
HTTP/1.1
server_signature : 
<address>Apache/2.4.25 (Debian) Server at www.artpic.in Port 80</address> 
server_software : 
Apache/2.4.25 (Debian)
web2py_original_uri : 
/
web2py_path : 
/home/www-data/web2py
web2py_version : 
2.17.1-stable+timestamp.2018.08.06.01.02.56
wsgi.errors : 
<mod_wsgi.Log object at 0x7fc3e0a1bee0>
wsgi.file_wrapper : 
<type 'mod_wsgi.FileWrapper'>
wsgi.input : 
<mod_wsgi.Input object at 0x7fc3e0a52f80>
wsgi.multiprocess : 
True
wsgi.multithread : 
False
wsgi.run_once : 
False
wsgi.url_scheme : 
http
wsgi.version : 
1
0
wsgi_errors : 
<mod_wsgi.Log object at 0x7fc3e0a1bee0>
wsgi_file_wrapper : 
<type 'mod_wsgi.FileWrapper'>
wsgi_input : 
<mod_wsgi.Input object at 0x7fc3e0a52f80>
wsgi_multiprocess : 
True
wsgi_multithread : 
False
wsgi_run_once : 
False
wsgi_url_scheme : 
http
wsgi_version : 
1
0
extension : 
html
folder : 
/home/www-data/web2py/applications/artpic/
function : 
index
global_settings : 
app_folders : 
set(['/home/www-data/web2py/applications/artpic/', 
'/home/www-data/web2py/applications/Target/'])
applications_parent : 
/home/www-data/web2py
db_sessions : 
set([])
debugging : 
False
gluon_parent : 
/home/www-data/web2py
is_jython : 
False
is_py2 : 
True
is_pypy : 
False
is_source : 
True
local_hosts : 
103.107.17.134
::ffff:127.0.0.1
::1
targetsoft.co.in
mail.targetsoft.co.in
127.0.0.1
web2py_version : 
2.17.1-stable+timestamp.2018.08.06.01.02.56
is_https : 
False
is_local : 
False
is_restful : 
False
is_scheduler : 
False
is_shell : 
False
method : 
GET
now : 
datetime.datetime(2019, 9, 16, 0, 2, 25, 888360)
uri_language : 
en
url : 
/
utcnow : 
datetime.datetime(2019, 9, 15, 18, 32, 25, 888387)
wsgi : 
<gluon.main.LazyWSGI object at 0x7fc3e04f29d0>
session
response
body : 
<cStringIO.StringO object at 0x7fc3e055dce0>
cookies : 
session_id_artpic : 
109.102.111.32-6e1c8c1d-79c7-41ab-a937-cfd6539e8d87
comment : 
domain : 
expires : 
httponly : 
max-age : 
path : 
/
secure : 
version : 
delimiters : 
{{
}}
files : 

flash : 
form_label_separator : 
: 
formstyle : 
table3cols
generic_patterns : 
*
headers : 
X-Powered-By : 
web2py
menu : 

meta : 

postprocessing : 

session_client : 
109.102.111.32
session_cookie_compression_level : 
None
session_cookie_expires : 
None
session_data_name : 
session_data_artpic
session_file : 
None
session_filename : 
/home/www-data/web2py/applications/artpic/sessions/109.102.111.32-6e1c8c1d-79c7-41ab-a937-cfd6539e8d87
session_id : 
109.102.111.32-6e1c8c1d-79c7-41ab-a937-cfd6539e8d87
session_id_name : 
session_id_artpic
session_masterapp : 
artpic
session_new : 
True
session_storage_type : 
file
status : 
200
In file: Framework

1.


Regards,
Rahul

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/7732baa9-9345-4fb0-9867-b6e2e3e96dce%40googlegroups.com.

Reply via email to