Thanks very much for the quick investigation and fix, I appreciate it. I do
have a Load(Comment).joinedload('*') , and confirmed that removing that
while on 1.2.9 fixes the issue.

On Sun, Jul 8, 2018 at 5:14 PM, Mike Bayer <[email protected]> wrote:

> somewhere you should be calling something like:
>
> Load(User).lazyload("*")
>
> if you can skip doing it that way (e.g. with Load()), or at least
> confirm that removing that part makes your error go away, that would
> help to confirm exactly that this is the problem.  Otherwise stay on
> 1.2.8 until 1.2.10 comes out.  Issue is
> https://bitbucket.org/zzzeek/sqlalchemy/issues/4298/
> regression-in-strategy-pathing.
>
>
>
> On Sun, Jul 8, 2018 at 6:33 PM, Mike Bayer <[email protected]>
> wrote:
> > Thank you, I can figure that out
> >
> > On Sun, Jul 8, 2018, 3:31 PM Chad Birch <[email protected]> wrote:
> >>
> >> Sorry, here's the stack trace:
> >>
> >> Traceback (most recent call last):
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid_debugtoolbar/panels/performance.py",
> >> line 58, in resource_timer_handler
> >>     result = handler(request)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/pyramid_tm/__init__.py",
> line
> >> 171, in tm_tween
> >>     reraise(*exc_info)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/pyramid_tm/compat.py",
> line
> >> 36, in reraise
> >>     raise value
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/pyramid_tm/__init__.py",
> line
> >> 136, in tm_tween
> >>     response = handler(request)
> >>   File "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/tweens.py",
> >> line 41, in excview_tween
> >>     response = _error_handler(request, exc)
> >>   File "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/tweens.py",
> >> line 12, in _error_handler
> >>     response = request.invoke_exception_view(exc_info)
> >>   File "/opt/venvs/tildes/lib/python3.6/site-packages/pyramid/view.py",
> >> line 744, in invoke_exception_view
> >>     request_iface=request_iface.combined,
> >>   File "/opt/venvs/tildes/lib/python3.6/site-packages/pyramid/view.py",
> >> line 642, in _call_view
> >>     response = view_callable(context, request)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/viewderivers.py",
> >> line 410, in viewresult_to_response
> >>     result = view(context, request)
> >>   File "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/tweens.py",
> >> line 39, in excview_tween
> >>     response = handler(request)
> >>   File "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/router.py",
> >> line 156, in handle_request
> >>     view_name
> >>   File "/opt/venvs/tildes/lib/python3.6/site-packages/pyramid/view.py",
> >> line 642, in _call_view
> >>     response = view_callable(context, request)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/viewderivers.py",
> >> line 390, in attr_view
> >>     return view(context, request)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/viewderivers.py",
> >> line 368, in predicate_wrapper
> >>     return view(context, request)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/viewderivers.py",
> >> line 301, in secured_view
> >>     return view(context, request)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/viewderivers.py",
> >> line 513, in csrf_view
> >>     return view(context, request)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/viewderivers.py",
> >> line 439, in rendered_view
> >>     result = view(context, request)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> pyramid/viewderivers.py",
> >> line 148, in _requestonly_view
> >>     response = view(request)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> webargs/pyramidparser.py",
> >> line 121, in wrapper
> >>     return func(obj, *args, **kwargs)
> >>   File "/opt/tildes/tildes/views/api/web/comment.py", line 100, in
> >> post_comment_reply
> >>     print(new_comment.topic.group.path)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> sqlalchemy/orm/attributes.py",
> >> line 242, in __get__
> >>     return self.impl.get(instance_state(instance), dict_)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> sqlalchemy/orm/attributes.py",
> >> line 599, in get
> >>     value = self.callable_(state, passive)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> sqlalchemy/orm/strategies.py",
> >> line 631, in _load_for_state
> >>     session, state, primary_key_identity, passive)
> >>   File "<string>", line 1, in <lambda>
> >>
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> sqlalchemy/orm/strategies.py",
> >> line 713, in _emit_lazyload
> >>     state.load_options, effective_path
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/
> sqlalchemy/ext/baked.py",
> >> line 185, in _add_lazyload_options
> >>     cache_key = opt._generate_cache_key(cache_path)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/sqlalchemy/orm/strategy_
> options.py",
> >> line 91, in _generate_cache_key
> >>     chopped = self._chop_path(loader_path, path)
> >>   File
> >> "/opt/venvs/tildes/lib/python3.6/site-packages/sqlalchemy/orm/strategy_
> options.py",
> >> line 388, in _chop_path
> >>     elif c_token.is_mapper and p_token.is_mapper and \
> >> AttributeError: 'str' object has no attribute 'is_mapper'
> >>
> >>
> >>
> >> On Sun, Jul 8, 2018 at 7:13 AM, Mike Bayer <[email protected]>
> >> wrote:
> >>>
> >>> Hi there -
> >>>
> >>> Please share at least what "the error" you've referred towards actually
> >>> says.    Include the complete stack trace please.
> >>>
> >>>
> >>>
> >>> On Sat, Jul 7, 2018, 8:53 PM <[email protected]> wrote:
> >>>>
> >>>> Sorry, I haven't been able to reproduce this in a way that I can
> provide
> >>>> a test case, but SQLAlchemy 1.2.9 is causing a crash in my web
> application
> >>>> (which uses Pyramid, pyramid-tm, and zope.sqlalchemy). I have
> confirmed that
> >>>> it works with 1.2.8 - leaving everything else exactly the same and
> only
> >>>> upgrading SQLAlchemy to 1.2.9 causes it to start crashing.
> >>>>
> >>>> Basically, I have a Comment object which has a relationship to a
> parent
> >>>> Topic, and the topic has a relationship to a parent Group. The
> relationships
> >>>> are very basic ones:
> >>>>
> >>>> comment.topic = relationship('Topic', innerjoin=True)
> >>>> topic.group = relationship('Group', innerjoin=True)
> >>>>
> >>>> The crash occurs when accessing a property on a Comment, which itself
> >>>> uses a property from its parent Topic, and that property uses a
> column from
> >>>> its parent Group. So it seems like it may be related to the two-layer
> deep
> >>>> relationship, with them both being lazy. Setting lazy=False on the
> >>>> topic-group relationship (the "deeper" one) fixes the error, but does
> not
> >>>> help if set on the comment-topic one.
> >>>>
> >>>> Please let me know if I can provide any more info to help narrow the
> >>>> cause down.
> >>>>
> >>>>  - Chad
> >>>>
> >>>> --
> >>>> SQLAlchemy -
> >>>> The Python SQL Toolkit and Object Relational Mapper
> >>>>
> >>>> http://www.sqlalchemy.org/
> >>>>
> >>>> To post example code, please provide an MCVE: Minimal, Complete, and
> >>>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full
> >>>> description.
> >>>> ---
> >>>> You received this message because you are subscribed to the Google
> >>>> Groups "sqlalchemy" group.
> >>>> To unsubscribe from this group and stop receiving emails from it, send
> >>>> an email to [email protected].
> >>>> To post to this group, send email to [email protected].
> >>>> Visit this group at https://groups.google.com/group/sqlalchemy.
> >>>> For more options, visit https://groups.google.com/d/optout.
> >>>
> >>> --
> >>> SQLAlchemy -
> >>> The Python SQL Toolkit and Object Relational Mapper
> >>>
> >>> http://www.sqlalchemy.org/
> >>>
> >>> To post example code, please provide an MCVE: Minimal, Complete, and
> >>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full
> >>> description.
> >>> ---
> >>> You received this message because you are subscribed to the Google
> Groups
> >>> "sqlalchemy" group.
> >>> To unsubscribe from this group and stop receiving emails from it, send
> an
> >>> email to [email protected].
> >>> To post to this group, send email to [email protected].
> >>> Visit this group at https://groups.google.com/group/sqlalchemy.
> >>> For more options, visit https://groups.google.com/d/optout.
> >>
> >>
> >> --
> >> SQLAlchemy -
> >> The Python SQL Toolkit and Object Relational Mapper
> >>
> >> http://www.sqlalchemy.org/
> >>
> >> To post example code, please provide an MCVE: Minimal, Complete, and
> >> Verifiable Example. See http://stackoverflow.com/help/mcve for a full
> >> description.
> >> ---
> >> You received this message because you are subscribed to the Google
> Groups
> >> "sqlalchemy" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> an
> >> email to [email protected].
> >> To post to this group, send email to [email protected].
> >> Visit this group at https://groups.google.com/group/sqlalchemy.
> >> For more options, visit https://groups.google.com/d/optout.
>
> --
> SQLAlchemy -
> The Python SQL Toolkit and Object Relational Mapper
>
> http://www.sqlalchemy.org/
>
> To post example code, please provide an MCVE: Minimal, Complete, and
> Verifiable Example.  See  http://stackoverflow.com/help/mcve for a full
> description.
> ---
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to