<classResult _class='hudson.tasks.junit.ClassResult'><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.032</duration><failedSince>0</failedSince><name>test_acquisition</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.029</duration><failedSince>0</failedSince><name>test_acquisition_restrict_plate</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.027</duration><failedSince>0</failedSince><name>test_acquisition_restrict_plate_screen</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.029</duration><failedSince>0</failedSince><name>test_acquisition_restrict_screen</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.023</duration><failedSince>0</failedSince><name>test_dataset</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.062</duration><failedSince>0</failedSince><name>test_dataset_multi_link</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.062</duration><failedSince>0</failedSince><name>test_dataset_multi_link_restrict_project</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.066</duration><failedSince>0</failedSince><name>test_dataset_orphan</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>3.923</duration><failedSince>0</failedSince><name>test_empty_path</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.026</duration><failedSince>0</failedSince><name>test_get_image_ids_dataset</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.024</duration><failedSince>0</failedSince><name>test_image</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.122</duration><failedSince>0</failedSince><name>test_image_legacy_path</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.088</duration><failedSince>0</failedSince><name>test_image_multi_link</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.074</duration><failedSince>0</failedSince><name>test_image_multi_link_restrict_dataset</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.068</duration><failedSince>0</failedSince><name>test_image_multi_link_restrict_dataset_project</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.072</duration><failedSince>0</failedSince><name>test_image_multi_link_restrict_project</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.032</duration><failedSince>0</failedSince><name>test_image_orphan</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.056</duration><failedSince>0</failedSince><name>test_multiple_well_by_id[plate.name=%(plate_name)s|well.name=%(well_name)s-1J]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.061</duration><failedSince>0</failedSince><name>test_multiple_well_by_id[plate.name=%(plate_name)s|well.name=%(well_name)s-A10]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.054</duration><failedSince>0</failedSince><name>test_multiple_well_by_id[run=%(plate_acquisition_id)s|well.name=%(well_name)s-1J]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.053</duration><failedSince>0</failedSince><name>test_multiple_well_by_id[run=%(plate_acquisition_id)s|well.name=%(well_name)s-A10]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.055</duration><failedSince>0</failedSince><name>test_orphaned_pagination</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.001</duration><failedSince>0</failedSince><name>test_path_to_no_objects</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.024</duration><failedSince>0</failedSince><name>test_plate</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.022</duration><failedSince>0</failedSince><name>test_plate_restrict_screen</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.023</duration><failedSince>0</failedSince><name>test_project</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.02</duration><failedSince>0</failedSince><name>test_project_by_id</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.022</duration><failedSince>0</failedSince><name>test_project_by_name</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.041</duration><failedSince>0</failedSince><name>test_project_dataset_image</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.047</duration><failedSince>0</failedSince><name>test_project_dataset_image_legacy_path</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.098</duration><failedSince>0</failedSince><name>test_project_dataset_image_roi_show</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.046</duration><failedSince>0</failedSince><name>test_project_dataset_image_show</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.041</duration><failedSince>0</failedSince><name>test_project_dataset_images_pagination</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.044</duration><failedSince>0</failedSince><name>test_project_dataset_legacy_path</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.035</duration><failedSince>0</failedSince><name>test_project_legacy_path</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.038</duration><failedSince>0</failedSince><name>test_projects_legacy_show</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.065</duration><failedSince>0</failedSince><name>test_roi</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.155</duration><failedSince>0</failedSince><name>test_screen</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.031</duration><failedSince>0</failedSince><name>test_screen_legacy_path</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.051</duration><failedSince>0</failedSince><name>test_screen_plate_legacy_path</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.028</duration><failedSince>0</failedSince><name>test_screen_plate_run_illegal_run</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.065</duration><failedSince>0</failedSince><name>test_screen_plate_run_well_by_name[plate.name=%(plate_name)s|well.name=%(well_name)s-1J]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.074</duration><failedSince>0</failedSince><name>test_screen_plate_run_well_by_name[plate.name=%(plate_name)s|well.name=%(well_name)s-A10]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.062</duration><failedSince>0</failedSince><name>test_screen_plate_run_well_by_name[run=%(plate_acquisition_id)s|well.name=%(well_name)s-1J]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.068</duration><failedSince>0</failedSince><name>test_screen_plate_run_well_by_name[run=%(plate_acquisition_id)s|well.name=%(well_name)s-A10]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.062</duration><failedSince>0</failedSince><name>test_screen_plate_run_well_show[0]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.059</duration><failedSince>0</failedSince><name>test_screen_plate_run_well_show[1]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.063</duration><failedSince>0</failedSince><name>test_screen_plate_well_show</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.069</duration><failedSince>0</failedSince><name>test_shape</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>4</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.03</duration><errorDetails>omero.QueryException: exception ::omero::QueryException
{
    serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
	at ome.services.query.Query.doInHibernate(Query.java:224)
	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
	at ome.services.throttling.Callback.run(Callback.java:56)
	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at omero.cmd.CallContext.invoke(CallContext.java:85)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
	at IceInternal.Incoming.invoke(Incoming.java:221)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
	at Ice.ConnectionI.message(ConnectionI.java:1056)
	at IceInternal.ThreadPool.run(ThreadPool.java:395)
	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
	at java.base/java.lang.Thread.run(Thread.java:1583)

    serverExceptionClass = ome.services.query.QueryException
    message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
}</errorDetails><errorStackTrace>self = &lt;test_show.TestShow object at 0x7f07d4ae2390&gt;
tag_by_textvalue_path_request = {'request': &lt;WSGIRequest: GET '/webclient?path=tag.textValue%3D1935a000-55bd-4e54-bed2-8a7a9703d23b'&gt;, 'initially_select': ['tag-33943'], 'initially_open': ['tag-33943']}
tag = object #0 (::omero::model::TagAnnotation)
{
    _id = object #1 (::omero::RLong)
    {
        _val = 33943
    }
    ...
    }
    _textValue = object #54 (::omero::RString)
    {
        _val = 1935a000-55bd-4e54-bed2-8a7a9703d23b
    }
}

    def test_tag_by_value(self, tag_by_textvalue_path_request, tag):
        show = Show(
            self.conn, tag_by_textvalue_path_request['request'], 'usertags')
        self.assert_instantiation(show)
    
&gt;       first_selected = show.first_selected
                         ^^^^^^^^^^^^^^^^^^^

test/integration/test_show.py:1065: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:403: in first_selected
    self._first_selected = self._find_first_selected()
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:373: in _find_first_selected
    for p in first_selected.getAncestry():
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:828: in getAncestry
    p = self.getParent()
        ^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:776: in getParent
    rv = self.listParents(withlinks=withlinks)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:5656: in listParents
    for l in links:
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:3590: in getAnnotationLinks
    result = q.findAllByQuery(query, params, self.SERVICE_OPTS)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4878: in __call__
    return self.handle_exception(e, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/webclient_gateway.py:2105: in handle_exception
    super(OmeroWebSafeCallWrapper, self).handle_exception(e, *args, **kwargs)
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4875: in __call__
    return self.f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 089b82af-259d-491c-9bbb-05e9aad20f0d/ad5af224-b9b2-48ba-a92a-3177d2c3e237omero.api.IQuery -t -e 1.1:tcp -h 172.18.0.3 -p 43173 -t 60000
query = 'select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLi... ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)'
params = object #0 (::omero::sys::Parameters)
{
    map = 
    {
        key = ann_ids
        value = object #1 (::omero::RLis...            _val = 33943
                }
            }
        }
    }
    theFilter = &lt;nil&gt;
    theOptions = &lt;nil&gt;
}
_ctx = &lt;ServiceOptsDict: {'omero.client.uuid': 'ad5af224-b9b2-48ba-a92a-3177d2c3e237', 'omero.session.uuid': '089b82af-259d-491c-9bbb-05e9aad20f0d', 'omero.group': '-1'}&gt;

    def findAllByQuery(self, query, params, _ctx=None):
&gt;       return _M_omero.api.IQuery._op_findAllByQuery.invoke(self, ((query, params), _ctx))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       omero.QueryException: exception ::omero::QueryException
E       {
E           serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
E       	at ome.services.query.Query.doInHibernate(Query.java:224)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
E       	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
E       	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
E       	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
E       	at ome.services.throttling.Callback.run(Callback.java:56)
E       	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
E       	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
E       	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at omero.cmd.CallContext.invoke(CallContext.java:85)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
E       	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
E       	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
E       	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
E       	at IceInternal.Incoming.invoke(Incoming.java:221)
E       	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
E       	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
E       	at Ice.ConnectionI.message(ConnectionI.java:1056)
E       	at IceInternal.ThreadPool.run(ThreadPool.java:395)
E       	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
E       	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
E       	at java.base/java.lang.Thread.run(Thread.java:1583)
E       
E           serverExceptionClass = ome.services.query.QueryException
E           message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       }

../../../../.venv3/lib64/python3.11/site-packages/omero_api_IQuery_ice.py:710: QueryException</errorStackTrace><failedSince>38</failedSince><name>test_tag_by_value[1]</name><properties></properties><skipped>false</skipped><status>FAILED</status></child><child><age>4</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.046</duration><errorDetails>omero.QueryException: exception ::omero::QueryException
{
    serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
	at ome.services.query.Query.doInHibernate(Query.java:224)
	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
	at ome.services.throttling.Callback.run(Callback.java:56)
	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at omero.cmd.CallContext.invoke(CallContext.java:85)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
	at IceInternal.Incoming.invoke(Incoming.java:221)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
	at Ice.ConnectionI.message(ConnectionI.java:1056)
	at IceInternal.ThreadPool.run(ThreadPool.java:395)
	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
	at java.base/java.lang.Thread.run(Thread.java:1583)

    serverExceptionClass = ome.services.query.QueryException
    message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
}</errorDetails><errorStackTrace>self = &lt;test_show.TestShow object at 0x7f07d4ae2490&gt;
tag_by_textvalue_path_request = {'request': &lt;WSGIRequest: GET '/webclient?path=tag.textValue%3D415acd18-982f-4c85-b638-148469fa5b12'&gt;, 'initially_select': ['tag-33945'], 'initially_open': ['tag-33945']}
tag = object #0 (::omero::model::TagAnnotation)
{
    _id = object #1 (::omero::RLong)
    {
        _val = 33945
    }
    ...
    }
    _textValue = object #54 (::omero::RString)
    {
        _val = 415acd18-982f-4c85-b638-148469fa5b12
    }
}

    def test_tag_by_value(self, tag_by_textvalue_path_request, tag):
        show = Show(
            self.conn, tag_by_textvalue_path_request['request'], 'usertags')
        self.assert_instantiation(show)
    
&gt;       first_selected = show.first_selected
                         ^^^^^^^^^^^^^^^^^^^

test/integration/test_show.py:1065: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:403: in first_selected
    self._first_selected = self._find_first_selected()
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:373: in _find_first_selected
    for p in first_selected.getAncestry():
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:828: in getAncestry
    p = self.getParent()
        ^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:776: in getParent
    rv = self.listParents(withlinks=withlinks)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:5656: in listParents
    for l in links:
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:3590: in getAnnotationLinks
    result = q.findAllByQuery(query, params, self.SERVICE_OPTS)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4878: in __call__
    return self.handle_exception(e, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/webclient_gateway.py:2105: in handle_exception
    super(OmeroWebSafeCallWrapper, self).handle_exception(e, *args, **kwargs)
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4875: in __call__
    return self.f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 089b82af-259d-491c-9bbb-05e9aad20f0d/ad5af224-b9b2-48ba-a92a-3177d2c3e237omero.api.IQuery -t -e 1.1:tcp -h 172.18.0.3 -p 43173 -t 60000
query = 'select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLi... ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)'
params = object #0 (::omero::sys::Parameters)
{
    map = 
    {
        key = ann_ids
        value = object #1 (::omero::RLis...            _val = 33944
                }
            }
        }
    }
    theFilter = &lt;nil&gt;
    theOptions = &lt;nil&gt;
}
_ctx = &lt;ServiceOptsDict: {'omero.client.uuid': 'ad5af224-b9b2-48ba-a92a-3177d2c3e237', 'omero.session.uuid': '089b82af-259d-491c-9bbb-05e9aad20f0d', 'omero.group': '-1'}&gt;

    def findAllByQuery(self, query, params, _ctx=None):
&gt;       return _M_omero.api.IQuery._op_findAllByQuery.invoke(self, ((query, params), _ctx))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       omero.QueryException: exception ::omero::QueryException
E       {
E           serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
E       	at ome.services.query.Query.doInHibernate(Query.java:224)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
E       	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
E       	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
E       	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
E       	at ome.services.throttling.Callback.run(Callback.java:56)
E       	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
E       	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
E       	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at omero.cmd.CallContext.invoke(CallContext.java:85)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
E       	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
E       	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
E       	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
E       	at IceInternal.Incoming.invoke(Incoming.java:221)
E       	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
E       	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
E       	at Ice.ConnectionI.message(ConnectionI.java:1056)
E       	at IceInternal.ThreadPool.run(ThreadPool.java:395)
E       	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
E       	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
E       	at java.base/java.lang.Thread.run(Thread.java:1583)
E       
E           serverExceptionClass = ome.services.query.QueryException
E           message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       }

../../../../.venv3/lib64/python3.11/site-packages/omero_api_IQuery_ice.py:710: QueryException</errorStackTrace><failedSince>38</failedSince><name>test_tag_by_value[2]</name><properties></properties><skipped>false</skipped><status>FAILED</status></child><child><age>4</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.036</duration><errorDetails>omero.QueryException: exception ::omero::QueryException
{
    serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
	at ome.services.query.Query.doInHibernate(Query.java:224)
	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
	at ome.services.throttling.Callback.run(Callback.java:56)
	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at omero.cmd.CallContext.invoke(CallContext.java:85)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
	at IceInternal.Incoming.invoke(Incoming.java:221)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
	at Ice.ConnectionI.message(ConnectionI.java:1056)
	at IceInternal.ThreadPool.run(ThreadPool.java:395)
	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
	at java.base/java.lang.Thread.run(Thread.java:1583)

    serverExceptionClass = ome.services.query.QueryException
    message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
}</errorDetails><errorStackTrace>self = &lt;test_show.TestShow object at 0x7f07d4abd910&gt;
tag_path_request = {'request': &lt;WSGIRequest: GET '/webclient?path=tag%3D33938'&gt;, 'initially_select': ['tag-33938'], 'initially_open': ['tag-33938']}
tag = object #0 (::omero::model::TagAnnotation)
{
    _id = object #1 (::omero::RLong)
    {
        _val = 33938
    }
    ...
    }
    _textValue = object #54 (::omero::RString)
    {
        _val = 70ab6b4a-2eae-4cba-b686-788a08c0b5b8
    }
}

    def test_tag_legacy_path(self, tag_path_request, tag):
        show = Show(self.conn, tag_path_request['request'], 'usertags')
        self.assert_instantiation(show)
    
&gt;       first_selected = show.first_selected
                         ^^^^^^^^^^^^^^^^^^^

test/integration/test_show.py:864: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:403: in first_selected
    self._first_selected = self._find_first_selected()
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:373: in _find_first_selected
    for p in first_selected.getAncestry():
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:828: in getAncestry
    p = self.getParent()
        ^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:776: in getParent
    rv = self.listParents(withlinks=withlinks)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:5656: in listParents
    for l in links:
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:3590: in getAnnotationLinks
    result = q.findAllByQuery(query, params, self.SERVICE_OPTS)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4878: in __call__
    return self.handle_exception(e, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/webclient_gateway.py:2105: in handle_exception
    super(OmeroWebSafeCallWrapper, self).handle_exception(e, *args, **kwargs)
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4875: in __call__
    return self.f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 089b82af-259d-491c-9bbb-05e9aad20f0d/ad5af224-b9b2-48ba-a92a-3177d2c3e237omero.api.IQuery -t -e 1.1:tcp -h 172.18.0.3 -p 43173 -t 60000
query = 'select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLi... ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)'
params = object #0 (::omero::sys::Parameters)
{
    map = 
    {
        key = ann_ids
        value = object #1 (::omero::RLis...            _val = 33938
                }
            }
        }
    }
    theFilter = &lt;nil&gt;
    theOptions = &lt;nil&gt;
}
_ctx = &lt;ServiceOptsDict: {'omero.client.uuid': 'ad5af224-b9b2-48ba-a92a-3177d2c3e237', 'omero.session.uuid': '089b82af-259d-491c-9bbb-05e9aad20f0d', 'omero.group': '-1'}&gt;

    def findAllByQuery(self, query, params, _ctx=None):
&gt;       return _M_omero.api.IQuery._op_findAllByQuery.invoke(self, ((query, params), _ctx))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       omero.QueryException: exception ::omero::QueryException
E       {
E           serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
E       	at ome.services.query.Query.doInHibernate(Query.java:224)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
E       	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
E       	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
E       	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
E       	at ome.services.throttling.Callback.run(Callback.java:56)
E       	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
E       	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
E       	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at omero.cmd.CallContext.invoke(CallContext.java:85)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
E       	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
E       	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
E       	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
E       	at IceInternal.Incoming.invoke(Incoming.java:221)
E       	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
E       	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
E       	at Ice.ConnectionI.message(ConnectionI.java:1056)
E       	at IceInternal.ThreadPool.run(ThreadPool.java:395)
E       	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
E       	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
E       	at java.base/java.lang.Thread.run(Thread.java:1583)
E       
E           serverExceptionClass = ome.services.query.QueryException
E           message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       }

../../../../.venv3/lib64/python3.11/site-packages/omero_api_IQuery_ice.py:710: QueryException</errorStackTrace><failedSince>38</failedSince><name>test_tag_legacy_path[1]</name><properties></properties><skipped>false</skipped><status>FAILED</status></child><child><age>4</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.046</duration><errorDetails>omero.QueryException: exception ::omero::QueryException
{
    serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
	at ome.services.query.Query.doInHibernate(Query.java:224)
	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
	at ome.services.throttling.Callback.run(Callback.java:56)
	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at omero.cmd.CallContext.invoke(CallContext.java:85)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
	at IceInternal.Incoming.invoke(Incoming.java:221)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
	at Ice.ConnectionI.message(ConnectionI.java:1056)
	at IceInternal.ThreadPool.run(ThreadPool.java:395)
	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
	at java.base/java.lang.Thread.run(Thread.java:1583)

    serverExceptionClass = ome.services.query.QueryException
    message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
}</errorDetails><errorStackTrace>self = &lt;test_show.TestShow object at 0x7f07d4abd750&gt;
tag_path_request = {'request': &lt;WSGIRequest: GET '/webclient?path=tag%3D33940'&gt;, 'initially_select': ['tag-33940'], 'initially_open': ['tag-33940']}
tag = object #0 (::omero::model::TagAnnotation)
{
    _id = object #1 (::omero::RLong)
    {
        _val = 33940
    }
    ...
    }
    _textValue = object #54 (::omero::RString)
    {
        _val = e3509f78-6dec-4504-a1f7-2b3c51e27b08
    }
}

    def test_tag_legacy_path(self, tag_path_request, tag):
        show = Show(self.conn, tag_path_request['request'], 'usertags')
        self.assert_instantiation(show)
    
&gt;       first_selected = show.first_selected
                         ^^^^^^^^^^^^^^^^^^^

test/integration/test_show.py:864: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:403: in first_selected
    self._first_selected = self._find_first_selected()
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:373: in _find_first_selected
    for p in first_selected.getAncestry():
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:828: in getAncestry
    p = self.getParent()
        ^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:776: in getParent
    rv = self.listParents(withlinks=withlinks)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:5656: in listParents
    for l in links:
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:3590: in getAnnotationLinks
    result = q.findAllByQuery(query, params, self.SERVICE_OPTS)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4878: in __call__
    return self.handle_exception(e, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/webclient_gateway.py:2105: in handle_exception
    super(OmeroWebSafeCallWrapper, self).handle_exception(e, *args, **kwargs)
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4875: in __call__
    return self.f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 089b82af-259d-491c-9bbb-05e9aad20f0d/ad5af224-b9b2-48ba-a92a-3177d2c3e237omero.api.IQuery -t -e 1.1:tcp -h 172.18.0.3 -p 43173 -t 60000
query = 'select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLi... ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)'
params = object #0 (::omero::sys::Parameters)
{
    map = 
    {
        key = ann_ids
        value = object #1 (::omero::RLis...            _val = 33940
                }
            }
        }
    }
    theFilter = &lt;nil&gt;
    theOptions = &lt;nil&gt;
}
_ctx = &lt;ServiceOptsDict: {'omero.client.uuid': 'ad5af224-b9b2-48ba-a92a-3177d2c3e237', 'omero.session.uuid': '089b82af-259d-491c-9bbb-05e9aad20f0d', 'omero.group': '-1'}&gt;

    def findAllByQuery(self, query, params, _ctx=None):
&gt;       return _M_omero.api.IQuery._op_findAllByQuery.invoke(self, ((query, params), _ctx))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       omero.QueryException: exception ::omero::QueryException
E       {
E           serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
E       	at ome.services.query.Query.doInHibernate(Query.java:224)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
E       	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
E       	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
E       	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
E       	at ome.services.throttling.Callback.run(Callback.java:56)
E       	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
E       	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
E       	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at omero.cmd.CallContext.invoke(CallContext.java:85)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
E       	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
E       	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
E       	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
E       	at IceInternal.Incoming.invoke(Incoming.java:221)
E       	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
E       	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
E       	at Ice.ConnectionI.message(ConnectionI.java:1056)
E       	at IceInternal.ThreadPool.run(ThreadPool.java:395)
E       	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
E       	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
E       	at java.base/java.lang.Thread.run(Thread.java:1583)
E       
E           serverExceptionClass = ome.services.query.QueryException
E           message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       }

../../../../.venv3/lib64/python3.11/site-packages/omero_api_IQuery_ice.py:710: QueryException</errorStackTrace><failedSince>38</failedSince><name>test_tag_legacy_path[2]</name><properties></properties><skipped>false</skipped><status>FAILED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.017</duration><failedSince>0</failedSince><name>test_tag_redirect[1]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.031</duration><failedSince>0</failedSince><name>test_tag_redirect[2]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.016</duration><failedSince>0</failedSince><name>test_tagset_redirect[1]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.032</duration><failedSince>0</failedSince><name>test_tagset_redirect[2]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>4</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.033</duration><errorDetails>omero.QueryException: exception ::omero::QueryException
{
    serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
	at ome.services.query.Query.doInHibernate(Query.java:224)
	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
	at ome.services.throttling.Callback.run(Callback.java:56)
	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at omero.cmd.CallContext.invoke(CallContext.java:85)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
	at IceInternal.Incoming.invoke(Incoming.java:221)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
	at Ice.ConnectionI.message(ConnectionI.java:1056)
	at IceInternal.ThreadPool.run(ThreadPool.java:395)
	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
	at java.base/java.lang.Thread.run(Thread.java:1583)

    serverExceptionClass = ome.services.query.QueryException
    message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
}</errorDetails><errorStackTrace>self = &lt;test_show.TestShow object at 0x7f07d4ae2910&gt;
tagset_tag_path_request = {'request': &lt;WSGIRequest: GET '/webclient?path=tag%3D33946%7Ctag%3D33947'&gt;, 'initially_select': ['tag-33947'], 'initially_open': ['tagset-33946', 'tag-33947']}
tagset_tag = object #0 (::omero::model::TagAnnotation)
{
    _id = object #1 (::omero::RLong)
    {
        _val = 33946
    }
    ...
    }
    _textValue = object #68 (::omero::RString)
    {
        _val = 0a5c3abe-7b21-4f54-bdd7-45278c1de554
    }
}

    def test_tagset_tag_by_id(
            self, tagset_tag_path_request, tagset_tag):
        show = Show(self.conn, tagset_tag_path_request['request'], 'usertags')
        self.assert_instantiation(show)
    
        tag, = tagset_tag.linkedAnnotationList()
&gt;       first_selected = show.first_selected
                         ^^^^^^^^^^^^^^^^^^^

test/integration/test_show.py:1083: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:403: in first_selected
    self._first_selected = self._find_first_selected()
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:373: in _find_first_selected
    for p in first_selected.getAncestry():
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:828: in getAncestry
    p = self.getParent()
        ^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:776: in getParent
    rv = self.listParents(withlinks=withlinks)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:5656: in listParents
    for l in links:
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:3590: in getAnnotationLinks
    result = q.findAllByQuery(query, params, self.SERVICE_OPTS)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4878: in __call__
    return self.handle_exception(e, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/webclient_gateway.py:2105: in handle_exception
    super(OmeroWebSafeCallWrapper, self).handle_exception(e, *args, **kwargs)
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4875: in __call__
    return self.f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 089b82af-259d-491c-9bbb-05e9aad20f0d/ad5af224-b9b2-48ba-a92a-3177d2c3e237omero.api.IQuery -t -e 1.1:tcp -h 172.18.0.3 -p 43173 -t 60000
query = 'select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLi... ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)'
params = object #0 (::omero::sys::Parameters)
{
    map = 
    {
        key = ann_ids
        value = object #1 (::omero::RLis...            _val = 33947
                }
            }
        }
    }
    theFilter = &lt;nil&gt;
    theOptions = &lt;nil&gt;
}
_ctx = &lt;ServiceOptsDict: {'omero.client.uuid': 'ad5af224-b9b2-48ba-a92a-3177d2c3e237', 'omero.session.uuid': '089b82af-259d-491c-9bbb-05e9aad20f0d', 'omero.group': '-1'}&gt;

    def findAllByQuery(self, query, params, _ctx=None):
&gt;       return _M_omero.api.IQuery._op_findAllByQuery.invoke(self, ((query, params), _ctx))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       omero.QueryException: exception ::omero::QueryException
E       {
E           serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
E       	at ome.services.query.Query.doInHibernate(Query.java:224)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
E       	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
E       	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
E       	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
E       	at ome.services.throttling.Callback.run(Callback.java:56)
E       	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
E       	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
E       	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at omero.cmd.CallContext.invoke(CallContext.java:85)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
E       	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
E       	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
E       	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
E       	at IceInternal.Incoming.invoke(Incoming.java:221)
E       	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
E       	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
E       	at Ice.ConnectionI.message(ConnectionI.java:1056)
E       	at IceInternal.ThreadPool.run(ThreadPool.java:395)
E       	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
E       	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
E       	at java.base/java.lang.Thread.run(Thread.java:1583)
E       
E           serverExceptionClass = ome.services.query.QueryException
E           message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       }

../../../../.venv3/lib64/python3.11/site-packages/omero_api_IQuery_ice.py:710: QueryException</errorStackTrace><failedSince>38</failedSince><name>test_tagset_tag_by_id</name><properties></properties><skipped>false</skipped><status>FAILED</status></child><child><age>4</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.046</duration><errorDetails>omero.QueryException: exception ::omero::QueryException
{
    serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
	at ome.services.query.Query.doInHibernate(Query.java:224)
	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
	at ome.services.throttling.Callback.run(Callback.java:56)
	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at omero.cmd.CallContext.invoke(CallContext.java:85)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
	at IceInternal.Incoming.invoke(Incoming.java:221)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
	at Ice.ConnectionI.message(ConnectionI.java:1056)
	at IceInternal.ThreadPool.run(ThreadPool.java:395)
	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
	at java.base/java.lang.Thread.run(Thread.java:1583)

    serverExceptionClass = ome.services.query.QueryException
    message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
}</errorDetails><errorStackTrace>self = &lt;test_show.TestShow object at 0x7f07d4abd490&gt;
tagset_tag_path_request = {'request': &lt;WSGIRequest: GET '/webclient?path=tag%3D33941%7Ctag%3D33942'&gt;, 'initially_select': ['tag-33942'], 'initially_open': ['tagset-33941', 'tag-33942']}
tagset_tag = object #0 (::omero::model::TagAnnotation)
{
    _id = object #1 (::omero::RLong)
    {
        _val = 33941
    }
    ...
    }
    _textValue = object #68 (::omero::RString)
    {
        _val = 88c55b94-40fc-4bc5-a64e-5654f06d8b09
    }
}

    def test_tagset_tag_legacy_path(
            self, tagset_tag_path_request, tagset_tag):
        show = Show(self.conn, tagset_tag_path_request['request'], 'usertags')
        self.assert_instantiation(show)
    
        tag, = tagset_tag.linkedAnnotationList()
&gt;       first_selected = show.first_selected
                         ^^^^^^^^^^^^^^^^^^^

test/integration/test_show.py:881: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:403: in first_selected
    self._first_selected = self._find_first_selected()
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/show.py:373: in _find_first_selected
    for p in first_selected.getAncestry():
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:828: in getAncestry
    p = self.getParent()
        ^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:776: in getParent
    rv = self.listParents(withlinks=withlinks)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:5656: in listParents
    for l in links:
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:3590: in getAnnotationLinks
    result = q.findAllByQuery(query, params, self.SERVICE_OPTS)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4878: in __call__
    return self.handle_exception(e, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omeroweb/webclient/webclient_gateway.py:2105: in handle_exception
    super(OmeroWebSafeCallWrapper, self).handle_exception(e, *args, **kwargs)
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/__init__.py:4875: in __call__
    return self.f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 089b82af-259d-491c-9bbb-05e9aad20f0d/ad5af224-b9b2-48ba-a92a-3177d2c3e237omero.api.IQuery -t -e 1.1:tcp -h 172.18.0.3 -p 43173 -t 60000
query = 'select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLi... ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)'
params = object #0 (::omero::sys::Parameters)
{
    map = 
    {
        key = ann_ids
        value = object #1 (::omero::RLis...            _val = 33942
                }
            }
        }
    }
    theFilter = &lt;nil&gt;
    theOptions = &lt;nil&gt;
}
_ctx = &lt;ServiceOptsDict: {'omero.client.uuid': 'ad5af224-b9b2-48ba-a92a-3177d2c3e237', 'omero.session.uuid': '089b82af-259d-491c-9bbb-05e9aad20f0d', 'omero.group': '-1'}&gt;

    def findAllByQuery(self, query, params, _ctx=None):
&gt;       return _M_omero.api.IQuery._op_findAllByQuery.invoke(self, ((query, params), _ctx))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       omero.QueryException: exception ::omero::QueryException
E       {
E           serverStackTrace = ome.services.query.QueryException: Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       	at ome.services.query.StringQuery.buildQuery(StringQuery.java:83)
E       	at ome.services.query.Query.doInHibernate(Query.java:224)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
E       	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:342)
E       	at ome.logic.QueryImpl.execute(QueryImpl.java:176)
E       	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:419)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
E       	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
E       	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy90.findAllByQuery(Unknown Source)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
E       	at ome.services.throttling.Callback.run(Callback.java:56)
E       	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
E       	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:140)
E       	at ome.services.blitz.impl.QueryI.findAllByQuery_async(QueryI.java:64)
E       	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
E       	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
E       	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
E       	at omero.cmd.CallContext.invoke(CallContext.java:85)
E       	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
E       	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
E       	at jdk.proxy2/jdk.proxy2.$Proxy91.findAllByQuery_async(Unknown Source)
E       	at omero.api._IQueryTie.findAllByQuery_async(_IQueryTie.java:90)
E       	at omero.api._IQueryDisp.___findAllByQuery(_IQueryDisp.java:594)
E       	at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:733)
E       	at IceInternal.Incoming.invoke(Incoming.java:221)
E       	at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
E       	at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
E       	at Ice.ConnectionI.message(ConnectionI.java:1056)
E       	at IceInternal.ThreadPool.run(ThreadPool.java:395)
E       	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
E       	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
E       	at java.base/java.lang.Thread.run(Thread.java:1583)
E       
E           serverExceptionClass = ome.services.query.QueryException
E           message = Illegal query:select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)
E       TagAnnotationAnnotationLink is not mapped [select annLink from TagAnnotationAnnotationLink as annLink join fetch annLink.details.owner as owner join fetch annLink.details.creationEvent join fetch annLink.child as ann join fetch ann.details.owner join fetch ann.details.creationEvent join fetch annLink.parent as parent where ann.id in (:ann_ids)]
E       }

../../../../.venv3/lib64/python3.11/site-packages/omero_api_IQuery_ice.py:710: QueryException</errorStackTrace><failedSince>38</failedSince><name>test_tagset_tag_legacy_path</name><properties></properties><skipped>false</skipped><status>FAILED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.033</duration><failedSince>0</failedSince><name>test_well</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.055</duration><failedSince>0</failedSince><name>test_well_by_name[1J]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.055</duration><failedSince>0</failedSince><name>test_well_by_name[A10]</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.182</duration><failedSince>0</failedSince><name>test_well_image</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.056</duration><failedSince>0</failedSince><name>test_well_image_shape</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.031</duration><failedSince>0</failedSince><name>test_well_multi</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.037</duration><failedSince>0</failedSince><name>test_well_restrict_acquisition_multi</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.034</duration><failedSince>0</failedSince><name>test_well_restrict_acquisition_plate_multi</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.036</duration><failedSince>0</failedSince><name>test_well_restrict_acquisition_plate_screen_multi</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.036</duration><failedSince>0</failedSince><name>test_well_restrict_acquisition_screen_multi</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.039</duration><failedSince>0</failedSince><name>test_well_restrict_plate_multi</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.036</duration><failedSince>0</failedSince><name>test_well_restrict_plate_screen_multi</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><child><age>0</age><className>OmeroWeb.test.integration.test_show.TestShow</className><duration>0.036</duration><failedSince>0</failedSince><name>test_well_restrict_screen_multi</name><properties></properties><skipped>false</skipped><status>PASSED</status></child><failCount>6</failCount><name>TestShow</name><passCount>66</passCount><skipCount>0</skipCount></classResult>