oTree Forum >

otree 5.10.3 and python 3.8 ASGI error

#1 by darkogav

Hello, I have the latest otree install and we are getting an error now when upgraded to python 3.8. All server checks pass. Not sure if missing module or something related to the old session code.  I checked and datetime is installed. 

full error below.

Exception in ASGI application
Traceback (most recent call last):
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 140, in _resolve_variable
    obj = obj(*self.func_args)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/models/session.py", line 99, in _created_readable
    delta = now - self._created
TypeError: unsupported operand type(s) for -: 'float' and 'datetime.datetime'

The above exception was the direct cause of the following exception:

#2 by Chris_oTree

Can you show the full traceback? Also, what triggered this error? Starting the server, creating a session, etc....

#3 by Chris_oTree

By the way you have to reset the database when upgrading oTree. Meaning you delete your old sessions.

#4 by darkogav

Hello, i reset the db. No luck. The error is generated when trying to access sessions.

Full error below.


--
Exception in ASGI application
Traceback (most recent call last):
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 140, in _resolve_variable
    obj = obj(*self.func_args)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/models/session.py", line 99, in _created_readable
    delta = now - self._created
TypeError: unsupported operand type(s) for -: 'float' and 'datetime.datetime'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/otree/otree2022/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 396, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "/home/otree/otree2022/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/applications.py", line 112, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 26, in __call__
    await response(scope, receive, send)
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/responses.py", line 224, in __call__
    await run_until_first_complete(
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/concurrency.py", line 24, in run_until_first_complete
    [task.result() for task in done]
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/concurrency.py", line 24, in <listcomp>
    [task.result() for task in done]
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/responses.py", line 216, in stream_response
    async for chunk in self.body_iterator:
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 56, in body_stream
    task.result()
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 38, in coro
    await self.app(scope, receive, send)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/errorpage.py", line 247, in __call__
    raise exc  # from None
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/errorpage.py", line 227, in __call__
    await self.app(scope, receive, _send)
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 25, in __call__
    response = await self.dispatch_func(request, self.call_next)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/middleware.py", line 42, in dispatch
    response = await call_next(request)
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 45, in call_next
    task.result()
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/base.py", line 38, in coro
    await self.app(scope, receive, send)
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/middleware/sessions.py", line 75, in __call__
    await self.app(scope, receive, send_wrapper)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/patch.py", line 41, in __call__
    raise exc  # from None
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/patch.py", line 29, in __call__
    await self.app(scope, receive, sender)
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/routing.py", line 582, in __call__
    await route.handle(scope, receive, send)
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/routing.py", line 243, in handle
    await self.app(scope, receive, send)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/views/cbv.py", line 45, in dispatch
    response = await run_in_threadpool(self.inner_dispatch, request)
  File "/home/otree/otree2022/lib/python3.8/site-packages/starlette/concurrency.py", line 40, in run_in_threadpool
    return await loop.run_in_executor(None, func, *args)
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/views/cbv.py", line 66, in inner_dispatch
    return self.get(request, **request.path_params)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/views/cbv.py", line 77, in get
    return self.render_to_response(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/views/cbv.py", line 126, in render_to_response
    return render(self.get_template_name(), context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/loader.py", line 85, in render
    ibis_loader.load(template_name, template_type=template_type).render(
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/template.py", line 36, in render
    return self.root_node.render(context.Context(data_dict, self))
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 578, in wrender
    return self.render_block(context, block_list[:])
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 591, in render_block
    output = ''.join(child.render(context) for child in last_block.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 591, in <genexpr>
    output = ''.join(child.render(context) for child in last_block.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 578, in wrender
    return self.render_block(context, block_list[:])
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 591, in render_block
    output = ''.join(child.render(context) for child in last_block.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 591, in <genexpr>
    output = ''.join(child.render(context) for child in last_block.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 433, in wrender
    return self.true_branch.render(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 318, in wrender
    output.append(self.for_branch.render(context))
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in wrender
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 207, in <genexpr>
    return ''.join(child.render(context) for child in self.children)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 190, in render
    return self.wrender(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 267, in wrender
    content = expr.eval(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 132, in eval
    return self._resolve_variable(context)
  File "/home/otree/otree2022/lib/python3.8/site-packages/otree/templating/nodes.py", line 144, in _resolve_variable
    raise errors.TemplateRenderingError(msg, self.token) from err
otree.templating.errors.TemplateRenderingError: Error calling function 's._created_readable' in template 'otree/Sessions.html', line 73. (line 73, in "s._created_readable()")
---

#5 by darkogav

Hello, just wanted to follow up to confirm. This this error due to out environment install or is it an issue with the code in the session?

Write a reply

Set forum username