Looks like a bug 
here: 
https://github.com/web2py/web2py/blob/63972386c23961360d99c5ce49240b0aed5c820f/gluon/tools.py#L3657-L3661

Presumably you have defined one or more extra_fields on db.auth_user that 
are computed fields. That triggers the above code, but because the user 
record has been deleted, None gets passed to self._update_session_user, 
which generates an error.

Please open a Github issue and refer back to this post.

Anthony

On Tuesday, August 28, 2018 at 6:13:53 PM UTC-4, Donald McClymont wrote:
>
>
>
> On Tuesday, August 28, 2018 at 12:16:59 PM UTC+1, Anthony wrote:
>>
>> Please post the traceback here. The error ticket fil
>
> Error ticket for "gdms"Ticket ID
>
> 127.0.0.1.2018-08-27.21-31-21.fbba2e6a-7e7d-4081-b191-b07d009d01c4
> <type 'exceptions.TypeError'> 'NoneType' object is not iterableVersion
> web2py™ Version 2.17.1-stable+timestamp.2018.08.06.01.02.56
> Python Python 2.7.15: C:\Python27\python.exe (prefix: C:\Python27)
> Traceback
>
> 1.
> 2.
> 3.
> 4.
> 5.
> 6.
> 7.
> 8.
> 9.
> 10.
> 11.
> 12.
> 13.
> 14.
> 15.
> 16.
> 17.
> 18.
>
> Traceback (most recent call last):
>   File "C:\web2py\gluon\restricted.py", line 219, in restricted
>     exec(ccode, environment)
>   File "C:/web2py/applications/gdms/controllers/default.py" 
> <http://127.0.0.1:8081/admin/default/edit/gdms/controllers/default.py>, line 
> 451, in <module>
>   File "C:\web2py\gluon\globals.py", line 421, in <lambda>
>     self._caller = lambda f: f()
>   File "C:/web2py/applications/gdms/controllers/default.py" 
> <http://127.0.0.1:8081/admin/default/edit/gdms/controllers/default.py>, line 
> 449, in user
>     return dict(form=auth())
>   File "C:\web2py\gluon\tools.py", line 1799, in __call__
>     return getattr(self, args[0])()
>   File "C:\web2py\gluon\tools.py", line 3660, in profile
>     self._update_session_user(user)
>   File "C:\web2py\gluon\authapi.py", line 720, in _update_session_user
>     user = Row(user)
>   File "C:\web2py\gluon\packages\dal\pydal\helpers\classes.py", line 34, in 
> __init__
>     return self.__dict__.__init__(*args, **kwargs)
> TypeError: 'NoneType' object is not iterable
>
> Error snapshot [image: help] 
> <http://127.0.0.1:8081/admin/default/ticket/gdms/127.0.0.1.2018-08-27.21-31-21.fbba2e6a-7e7d-4081-b191-b07d009d01c4#>
>
> <type 'exceptions.TypeError'>('NoneType' object is not iterable)
>
> inspect attributes
> Frames
>    
>    - 
>    
>    *File C:\web2py\gluon\restricted.py in restricted at line 219* code 
>    arguments variables
>    - 
>    
>    *File C:\web2py\applications\gdms\controllers\default.py in <module> 
>    at line 451* code arguments variables
>    - 
>    
>    *File C:\web2py\gluon\globals.py in <lambda> at line 421* code 
>    arguments variables
>    - 
>    
>    *File C:\web2py\applications\gdms\controllers\default.py in user at 
>    line 449* code arguments variables
>    - 
>    
>    *File C:\web2py\gluon\tools.py in __call__ at line 1799* code arguments
>     variables
>    - 
>    
>    *File C:\web2py\gluon\tools.py in profile at line 3660* code arguments 
>    variables
>    - 
>    
>    *File C:\web2py\gluon\authapi.py in _update_session_user at line 720* 
>    code arguments variables
>    - 
>    
>    *File C:\web2py\gluon\packages\dal\pydal\helpers\classes.py in 
>    __init__ at line 34* code arguments variables
>    Function argument list
>    
>    (self=<Row {}>, *args=(None,), **kwargs={})
>    Code listing
>    
>    29.
>    30.
>    31.
>    32.
>    33.
>    34.
>    35.
>    36.
>    37.
>    38.
>    
>    
>    
>    @implements_bool
>    class BasicStorage(object):
>        def __init__(self, *args, **kwargs):
>            return self.__dict__.__init__(*args, **kwargs)
>    
>        def __getitem__(self, key):
>            return self.__dict__.__getitem__(str(key))
>    
>    Variables
>    self.__dict__ {}
>    self <Row {}>
>    args (None,)
>    self.__dict__.__init__ <method-wrapper '__init__' of dict object>
>    kwargs {}
>    
> Context
>
> locals request session response
> In file: C:\web2py\applications\gdms\controllers/default.py
>
> 1.
>
> <code object <module> at 0000000004BED830, file 
> "C:\web2py\applications\gdms\controllers/default.py", line 37>
>
> e is not easily readable, as it is a pickled object.
>
>

-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to