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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/web2py/7732baa9-9345-4fb0-9867-b6e2e3e96dce%40googlegroups.com.