Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #7299 (closed)

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

BUG:Missed metadata in shared image Feedback 4043

Reported by: omero-qa Owned by:
Priority: major Milestone: OMERO-4.4.4
Component: Services Version: n.a.
Keywords: n.a. Cc: a.herbert@…, jamoore
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: 2012-09-25 (5)

Description (last modified by jmoore)

http://qa.openmicroscopy.org.uk/qa/feedback/4043/

Comment: I had logged on to look at a new share. When I clicked on the Acquisition tab in the web client I got this error.

stacktrace in comments.

Change History (16)

comment:1 Changed 12 years ago by jmoore

  • Description modified (diff)
Traceback (most recent call last):

  File "/home/omero/omero_dist/lib/python/django/core/handlers/base.py", line 92, in get_response
    response = callback(request, *callback_args, **callback_kwargs)

  File "/home/omero/omero_dist/lib/python/omeroweb/webclient/views.py", line 174, in wrapped
    return f(request, *args, **kwargs)

  File "/home/omero/omero_dist/lib/python/omeroweb/webclient/views.py", line 1146, in load_metadata_acquisition
    lightPath = logicalChannel.getLightPath()

  File "/home/omero/omero_dist/lib/python/omero/gateway/__init__.py", line 4690, in getLightPath
    self.__loadedHotSwap__()

  File "/home/omero/omero_dist/lib/python/omero/gateway/__init__.py", line 4686, in __loadedHotSwap__
    self._obj = self._conn.getMetadataService().loadChannelAcquisitionData([self._obj.id.val])[0]

  File "/home/omero/omero_dist/lib/python/omero/gateway/__init__.py", line 2959, in __call__
    return self.handle_exception(e, *args, **kwargs)

  File "/home/omero/omero_dist/lib/python/omeroweb/webclient/webclient_gateway.py", line 1650, in handle_exception
    super(OmeroWebSafeCallWrapper, self).handle_exception(

  File "/home/omero/omero_dist/lib/python/omero/gateway/__init__.py", line 2956, in __call__
    return self.f(*args, **kwargs)

  File "/home/omero/omero_dist/lib/python/omero_api_IMetadata_ice.py", line 88, in loadChannelAcquisitionData
    return _M_omero.api.IMetadata._op_loadChannelAcquisitionData.invoke(self, ((ids, ), _ctx))

InternalException: exception ::omero::InternalException
{
    serverStackTrace = ome.conditions.InternalException:  Wrapped Exception: (java.lang.NullPointerException):
null
	at ome.services.sharing.BlobShareStore.imagesContainsInstrument(BlobShareStore.java:205)
	at ome.services.sharing.BlobShareStore.doContains(BlobShareStore.java:341)
	at ome.services.sharing.ShareStore.contains(ShareStore.java:143)
	at ome.security.sharing.SharingACLVoter.allowLoad(SharingACLVoter.java:68)
	at ome.security.CompositeACLVoter.allowLoad(CompositeACLVoter.java:70)
	at ome.security.ACLEventListener.onPostLoad(ACLEventListener.java:103)
	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:250)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:898)
	at org.hibernate.loader.Loader.doQuery(Loader.java:773)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
	at org.hibernate.loader.Loader.doList(Loader.java:2449)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2192)
	at org.hibernate.loader.Loader.list(Loader.java:2187)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452)
	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1260)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
	at ome.services.query.Query.doInHibernate(Query.java:244)
	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
	at ome.logic.QueryImpl.execute(QueryImpl.java:142)
	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:392)
	at ome.logic.MetadataImpl.loadChannelAcquisitionData(MetadataImpl.java:473)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:150)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:231)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:116)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy78.loadChannelAcquisitionData(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:83)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy78.loadChannelAcquisitionData(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:179)
	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:136)
	at ome.services.blitz.impl.MetadataI.loadChannelAcquisitionData_async(MetadataI.java:80)
	at omero.api._IMetadataTie.loadChannelAcquisitionData_async(_IMetadataTie.java:106)
	at omero.api._IMetadataDisp.___loadChannelAcquisitionData(_IMetadataDisp.java:161)
	at omero.api._IMetadataDisp.__dispatch(_IMetadataDisp.java:486)
	at IceInternal.Incoming.invoke(Incoming.java:159)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2037)
	at Ice.ConnectionI.message(ConnectionI.java:972)
	at IceInternal.ThreadPool.run(ThreadPool.java:577)
	at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)

    serverExceptionClass = ome.conditions.InternalException
    message =  Wrapped Exception: (java.lang.NullPointerException):
null
}


<WSGIRequest
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{'sessionid': '974fea376fb91f39e59a96f5329f67fd'},
META:{'DOCUMENT_ROOT': '/var/www/html',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HTTP_ACCEPT': 'text/html, */*',
 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
 'HTTP_ACCEPT_LANGUAGE': 'en-GB,en-US;q=0.8,en;q=0.6',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_COOKIE': 'sessionid=974fea376fb91f39e59a96f5329f67fd',
 'HTTP_HOST': 'omero.lifesci.susx.ac.uk',
 'HTTP_REFERER': 'http://omero.lifesci.susx.ac.uk/webclient/metadata_details/image/23114/10846/',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.36 Safari/535.7',
 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
 'PATH': '/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin',
 'PATH_INFO': u'/webclient/metadata_acquisition/image/23114/10846/',
 'PATH_TRANSLATED': '/home/omero/omero_dist/var/omero.fcgi/webclient/metadata_acquisition/image/23114/10846/',
 'QUERY_STRING': '',
 'REMOTE_ADDR': '139.184.156.254',
 'REMOTE_PORT': '33687',
 'REQUEST_METHOD': 'GET',
 'REQUEST_URI': '/webclient/metadata_acquisition/image/23114/10846/',
 'SCRIPT_FILENAME': '/home/omero/omero_dist/var/omero.fcgi',
 'SCRIPT_NAME': u'',
 'SERVER_ADDR': '139.184.160.208',
 'SERVER_ADMIN': 'root@localhost',
 'SERVER_NAME': 'omero.lifesci.susx.ac.uk',
 'SERVER_PORT': '80',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SIGNATURE': '<address>Apache/2.2.3 (CentOS) Server at omero.lifesci.susx.ac.uk Port 80</address>\n',
 'SERVER_SOFTWARE': 'Apache/2.2.3 (CentOS)',
 'wsgi.errors': <flup.server.fcgi_base.TeeOutputStream object at 0x194f4090>,
 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x194f2cd0>,
 'wsgi.multiprocess': True,
 'wsgi.multithread': False,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}>

comment:2 Changed 12 years ago by atarkowska

  • Owner changed from atarkowska to jmoore

comment:3 Changed 12 years ago by atarkowska

  • Cc atarkowska added

comment:4 Changed 12 years ago by jmoore

  • Milestone changed from Unscheduled to OMERO-Beta4.4

comment:5 Changed 12 years ago by jmoore

  • Cc jmoore added; atarkowska removed
  • Component changed from from QA to Services
  • Owner changed from jmoore to atarkowska

Ola, this is happening in your code:

31d08e6c (atarkowska 2010-06-13 18:14:58 +0000 203)     
31d08e6c (atarkowska 2010-06-13 18:14:58 +0000 204)     boolean imagesContainsInstrument(Session s, List<Long> images, Instrument instr, Map<Long, Long> cache) {
31d08e6c (atarkowska 2010-06-13 18:14:58 +0000 205)         Long instrID = instr.getId();
31d08e6c (atarkowska 2010-06-13 18:14:58 +0000 206)         return imagesContainsInstrument(s, images, instrID, cache);
31d08e6c (atarkowska 2010-06-13 18:14:58 +0000 207)     }
31d08e6c (atarkowska 2010-06-13 18:14:58 +0000 208)    

Could you take a look and see what your expectations were? Do we have any tests for these metadata usages?

comment:6 Changed 12 years ago by cxallan

  • Milestone changed from OMERO-Beta4.4 to OMERO-Beta4.4.1

comment:7 Changed 12 years ago by jmoore

  • Owner changed from atarkowska to wmoore

Moving all of Ola's tickets to Will.

comment:8 Changed 12 years ago by jmoore

  • Owner wmoore deleted

Removing Will as owner.

comment:9 Changed 12 years ago by jmoore

  • Priority changed from minor to major
  • Sprint set to 2012-09-25 (5)

Elevating for discussion at today's standup

comment:10 Changed 12 years ago by bpindelski

Tested as part of QA testing. Logged in as user-4. Created a share (automatically for both user-4 groups: read-write-1 and read-only-1). Added user-2:read-only-1 as a share member. When viewing the share as user-4 everything is OK, the metadata is displayed. When viewing the share as user-2 (looking at metadata tab), the same error as above is thrown. Switching explicitly to the read-only-1 group as user-2 doesn't solve the issue.

Traceback (most recent call last):

  File "/home/omero/OMERO-CURRENT/lib/python/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)

  File "/home/omero/OMERO-CURRENT/lib/python/omeroweb/decorators.py", line 377, in wrapped
    retval = f(request, *args, **kwargs)

  File "/home/omero/OMERO-CURRENT/lib/python/omeroweb/decorators.py", line 414, in wrapper
    context = f(request, *args, **kwargs)

  File "/home/omero/OMERO-CURRENT/lib/python/omeroweb/webclient/views.py", line 911, in load_metadata_acquisition
    lightPath = logicalChannel.getLightPath()

  File "/home/omero/OMERO-CURRENT/lib/python/omero/gateway/__init__.py", line 5127, in getLightPath
    self.__loadedHotSwap__()

  File "/home/omero/OMERO-CURRENT/lib/python/omero/gateway/__init__.py", line 5123, in __loadedHotSwap__
    self._obj = self._conn.getMetadataService().loadChannelAcquisitionData([self._obj.id.val],ctx)[0]

  File "/home/omero/OMERO-CURRENT/lib/python/omero/gateway/__init__.py", line 3327, in __call__
    return self.handle_exception(e, *args, **kwargs)

  File "/home/omero/OMERO-CURRENT/lib/python/omeroweb/webclient/webclient_gateway.py", line 1876, in handle_exception
    e, *args, **kwargs)

  File "/home/omero/OMERO-CURRENT/lib/python/omero/gateway/__init__.py", line 3324, in __call__
    return self.f(*args, **kwargs)

  File "/home/omero/OMERO-CURRENT/lib/python/omero_api_IMetadata_ice.py", line 89, in loadChannelAcquisitionData
    return _M_omero.api.IMetadata._op_loadChannelAcquisitionData.invoke(self, ((ids, ), _ctx))

InternalException: exception ::omero::InternalException
{
    serverStackTrace = ome.conditions.InternalException:  Wrapped Exception: (java.lang.NullPointerException):
null
	at ome.services.sharing.BlobShareStore.imagesContainsInstrument(BlobShareStore.java:212)
	at ome.services.sharing.BlobShareStore.doContains(BlobShareStore.java:348)
	at ome.services.sharing.ShareStore.contains(ShareStore.java:165)
	at ome.security.sharing.SharingACLVoter.allowLoad(SharingACLVoter.java:74)
	at ome.security.CompositeACLVoter.allowLoad(CompositeACLVoter.java:72)
	at ome.security.ACLEventListener.onPostLoad(ACLEventListener.java:103)
	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:250)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:898)
	at org.hibernate.loader.Loader.doQuery(Loader.java:773)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
	at org.hibernate.loader.Loader.doList(Loader.java:2449)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2192)
	at org.hibernate.loader.Loader.list(Loader.java:2187)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452)
	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1260)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
	at ome.services.query.Query.doInHibernate(Query.java:244)
	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
	at ome.logic.QueryImpl.execute(QueryImpl.java:144)
	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:394)
	at ome.logic.MetadataImpl.loadChannelAcquisitionData(MetadataImpl.java:473)
	at sun.reflect.GeneratedMethodAccessor1708.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:241)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:116)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy83.loadChannelAcquisitionData(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor1708.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:98)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy83.loadChannelAcquisitionData(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:179)
	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:150)
	at ome.services.blitz.impl.MetadataI.loadChannelAcquisitionData_async(MetadataI.java:81)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at omero.cmd.CallContext.invoke(CallContext.java:59)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy84.loadChannelAcquisitionData_async(Unknown Source)
	at omero.api._IMetadataTie.loadChannelAcquisitionData_async(_IMetadataTie.java:106)
	at omero.api._IMetadataDisp.___loadChannelAcquisitionData(_IMetadataDisp.java:161)
	at omero.api._IMetadataDisp.__dispatch(_IMetadataDisp.java:486)
	at IceInternal.Incoming.invoke(Incoming.java:159)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2037)
	at Ice.ConnectionI.message(ConnectionI.java:972)
	at IceInternal.ThreadPool.run(ThreadPool.java:577)
	at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)

    serverExceptionClass = ome.conditions.InternalException
    message =  Wrapped Exception: (java.lang.NullPointerException):
null
}


<WSGIRequest
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{'sessionid': '099557bde19dc301684e3b91871ef3af'},
META:{'DOCUMENT_ROOT': '/htdocs',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HTTPS': 'on',
 'HTTP_ACCEPT': 'text/html, */*; q=0.01',
 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
 'HTTP_ACCEPT_LANGUAGE': 'en-GB,en-US;q=0.8,en;q=0.6',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_COOKIE': 'sessionid=099557bde19dc301684e3b91871ef3af',
 'HTTP_HOST': 'gretzky.openmicroscopy.org.uk',
 'HTTP_REFERER': 'https://gretzky.openmicroscopy.org.uk/omero/webclient/public/?experimenter=10',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1',
 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
 'PATH': '/usr/local/bin:/usr/bin:/bin',
 'PATH_INFO': u'/webclient/metadata_acquisition/image/2488/509/',
 'PATH_TRANSLATED': '/htdocs/webclient/metadata_acquisition/image/2488/509/',
 'QUERY_STRING': '',
 'REMOTE_ADDR': '10.12.0.93',
 'REMOTE_PORT': '50570',
 'REQUEST_METHOD': 'GET',
 'REQUEST_URI': '/omero/webclient/metadata_acquisition/image/2488/509/',
 'SCRIPT_FILENAME': '/home/omero/OMERO-CURRENT/var/omero.fcgi',
 'SCRIPT_NAME': u'/omero',
 'SCRIPT_URI': 'https://gretzky.openmicroscopy.org.uk/omero/webclient/metadata_acquisition/image/2488/509/',
 'SCRIPT_URL': '/omero/webclient/metadata_acquisition/image/2488/509/',
 'SERVER_ADDR': '134.36.65.227',
 'SERVER_ADMIN': '[no address given]',
 'SERVER_NAME': 'gretzky.openmicroscopy.org.uk',
 'SERVER_PORT': '443',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SIGNATURE': '<address>Apache/2.2.14 (Ubuntu) Server at gretzky.openmicroscopy.org.uk Port 443</address>\n',
 'SERVER_SOFTWARE': 'Apache/2.2.14 (Ubuntu)',
 'SSL_TLS_SNI': 'gretzky.openmicroscopy.org.uk',
 'wsgi.errors': <flup.server.fcgi_base.TeeOutputStream object at 0x35928d0>,
 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x34b7c10>,
 'wsgi.multiprocess': True,
 'wsgi.multithread': False,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'https',
 'wsgi.version': (1, 0)}>

comment:11 Changed 12 years ago by jmoore

Thanks, Blazej. Would you be willing to try the fix on my 7299-share-npe branch?

comment:12 Changed 12 years ago by jmoore

  • Resolution set to fixed
  • Status changed from new to closed

comment:13 Changed 12 years ago by bpindelski

After testing again with PR 363, the following exception is thrown:

Traceback (most recent call last):

  File "/usr/local/dev/openmicroscopy/dist/lib/python/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)

  File "/usr/local/dev/openmicroscopy/dist/lib/python/omeroweb/decorators.py", line 377, in wrapped
    retval = f(request, *args, **kwargs)

  File "/usr/local/dev/openmicroscopy/dist/lib/python/omeroweb/decorators.py", line 414, in wrapper
    context = f(request, *args, **kwargs)

  File "/usr/local/dev/openmicroscopy/dist/lib/python/omeroweb/webclient/views.py", line 911, in load_metadata_acquisition
    lightPath = logicalChannel.getLightPath()

  File "/usr/local/dev/openmicroscopy/dist/lib/python/omero/gateway/__init__.py", line 5127, in getLightPath
    self.__loadedHotSwap__()

  File "/usr/local/dev/openmicroscopy/dist/lib/python/omero/gateway/__init__.py", line 5123, in __loadedHotSwap__
    self._obj = self._conn.getMetadataService().loadChannelAcquisitionData([self._obj.id.val],ctx)[0]

  File "/usr/local/dev/openmicroscopy/dist/lib/python/omero/gateway/__init__.py", line 3327, in __call__
    return self.handle_exception(e, *args, **kwargs)

  File "/usr/local/dev/openmicroscopy/dist/lib/python/omeroweb/webclient/webclient_gateway.py", line 1876, in handle_exception
    e, *args, **kwargs)

  File "/usr/local/dev/openmicroscopy/dist/lib/python/omero/gateway/__init__.py", line 3324, in __call__
    return self.f(*args, **kwargs)

  File "/usr/local/dev/openmicroscopy/dist/lib/python/omero_api_IMetadata_ice.py", line 89, in loadChannelAcquisitionData
    return _M_omero.api.IMetadata._op_loadChannelAcquisitionData.invoke(self, ((ids, ), _ctx))

SecurityViolation: exception ::omero::SecurityViolation
{
    serverStackTrace = ome.conditions.SecurityViolation: ome.model.acquisition.DetectorSettings:Id_2 not contained in share
	at ome.security.sharing.SharingACLVoter.throwLoadViolation(SharingACLVoter.java:79)
	at ome.security.CompositeACLVoter.throwLoadViolation(CompositeACLVoter.java:88)
	at ome.security.ACLEventListener.onPostLoad(ACLEventListener.java:104)
	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:250)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:898)
	at org.hibernate.loader.Loader.doQuery(Loader.java:773)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
	at org.hibernate.loader.Loader.doList(Loader.java:2449)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2192)
	at org.hibernate.loader.Loader.list(Loader.java:2187)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452)
	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1260)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
	at ome.services.query.Query.doInHibernate(Query.java:244)
	at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
	at ome.logic.QueryImpl.execute(QueryImpl.java:144)
	at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:394)
	at ome.logic.MetadataImpl.loadChannelAcquisitionData(MetadataImpl.java:473)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:241)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:116)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy82.loadChannelAcquisitionData(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:98)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy82.loadChannelAcquisitionData(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:179)
	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:150)
	at ome.services.blitz.impl.MetadataI.loadChannelAcquisitionData_async(MetadataI.java:81)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at omero.cmd.CallContext.invoke(CallContext.java:59)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy83.loadChannelAcquisitionData_async(Unknown Source)
	at omero.api._IMetadataTie.loadChannelAcquisitionData_async(_IMetadataTie.java:106)
	at omero.api._IMetadataDisp.___loadChannelAcquisitionData(_IMetadataDisp.java:161)
	at omero.api._IMetadataDisp.__dispatch(_IMetadataDisp.java:486)
	at IceInternal.Incoming.invoke(Incoming.java:159)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2037)
	at Ice.ConnectionI.message(ConnectionI.java:972)
	at IceInternal.ThreadPool.run(ThreadPool.java:577)
	at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)

    serverExceptionClass = ome.conditions.SecurityViolation
    message = ome.model.acquisition.DetectorSettings:Id_2 not contained in share
}


<WSGIRequest
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{'sessionid': '56fc2f695f132ce3ff6de7600902223d'},
META:{'Apple_PubSub_Socket_Render': '/tmp/launch-tdpa7Q/Render',
 'BREW_DIR': '/usr/local',
 'CLICOLOR': 'Yes',
 'COMMAND_MODE': 'unix2003',
 'CONTENT_LENGTH': '',
 'CONTENT_TYPE': 'text/plain',
 'DISPLAY': '/tmp/launch-icsurC/org.x:0',
 'DJANGO_SETTINGS_MODULE': 'omeroweb.settings',
 'DYLD_LIBRARY_PATH': '/usr/local/Cellar/zeroc-ice33/3.3/lib:/usr/local/Cellar/zeroc-ice33/3.3/python:',
 'EDITOR': 'mate_wait',
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'GIT_PAGER': 'less -r',
 'GREP_OPTIONS': '--color=auto',
 'HOME': '/Users/bpindelski',
 'HTTP_ACCEPT': 'text/html, */*; q=0.01',
 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_COOKIE': 'sessionid=56fc2f695f132ce3ff6de7600902223d',
 'HTTP_DNT': '1',
 'HTTP_HOST': 'localhost:4080',
 'HTTP_REFERER': 'http://localhost:4080/webclient/public/',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:15.0) Gecko/20100101 Firefox/15.0.1',
 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
 'ICE_HOME': '/usr/local/Cellar/zeroc-ice33/3.3',
 'LANG': 'en_GB.UTF-8',
 'LESSEDIT': 'mate -l %lm %f',
 'LOGNAME': 'bpindelski',
 'LSCOLORS': 'dx',
 'LS_OPTIONS': '--color=auto',
 'MANPATH': ':/Library/PostgreSQL/9.1/share/man',
 'OLDPWD': '/usr/local/dev/openmicroscopy',
 'PATH': '/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/usr/texbin:/usr/X11/bin:/usr/local/lib/node_modules:/usr/local/Cellar/zeroc-ice33/3.3/bin:/Library/PostgreSQL/9.1/bin:',
 'PATH_INFO': u'/webclient/metadata_acquisition/image/102/2615/',
 'PGDATA': '/Library/PostgreSQL/9.1/data',
 'PGDATABASE': 'postgres',
 'PGLOCALEDIR': '/Library/PostgreSQL/9.1/share/locale',
 'PGPORT': '5432',
 'PGUSER': 'postgres',
 'PWD': '/usr/local/dev/openmicroscopy/dist',
 'PYTHONPATH': ':/usr/local/Cellar/zeroc-ice33/3.3/python:/usr/local/dev/openmicroscopy/dist/lib/python:/usr/local/dev/openmicroscopy/dist/lib/python:/usr/local/dev/openmicroscopy/dist/var/lib:/usr/local/dev/openmicroscopy/dist/lib/fallback',
 'QUERY_STRING': '',
 'REMOTE_ADDR': '127.0.0.1',
 'REMOTE_HOST': '',
 'REQUEST_METHOD': 'GET',
 'SCRIPT_NAME': u'',
 'SERVER_NAME': '3141592.dyn.lifesci.dundee.ac.uk',
 'SERVER_PORT': '4080',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.6.1',
 'SHELL': '/bin/bash',
 'SHLVL': '1',
 'SSH_AUTH_SOCK': '/tmp/launch-M8r9rI/Listeners',
 'TERM': 'xterm-color',
 'TERM_PROGRAM': 'Apple_Terminal',
 'TERM_PROGRAM_VERSION': '273.1',
 'TMPDIR': '/var/folders/kq/kq-gHOG7GVO7DnvsWTjfyU+++TI/-Tmp-/',
 'TZ': 'Europe/London',
 'USER': 'bpindelski',
 'VERSIONER_PYTHON_PREFER_32_BIT': 'no',
 'VERSIONER_PYTHON_VERSION': '2.6',
 '_': 'bin/omero',
 '__CF_USER_TEXT_ENCODING': '0x1F5:0:2',
 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x100416140>,
 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>,
 'wsgi.input': <socket._fileobject object at 0x103ba65f0>,
 'wsgi.multiprocess': False,
 'wsgi.multithread': True,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}>

comment:14 Changed 12 years ago by jmoore <josh@…>

  • Remaining Time set to 0

(In [bdbfc2fcae5f6d0201b0754b2509b63c3924d43b/ome.git] on branch develop) Handle null instruments in BlobShare? (Fix #7299)

comment:15 Changed 12 years ago by jmoore <josh@…>

(In [f7f5a63e5fed37a56d1e44331a75af014a33fef0/ome.git] on branch develop) Also handle LogicalChannel?.detectorSettings (See #7299)

comment:16 Changed 12 years ago by jean-marie burel <j.burel@…>

(In [8b8875465731bf0114f53bd5d7a15331ac4e5079/ome.git] on branch develop) Merge pull request #363 from joshmoore/7299-share-npe

Handle null instruments in BlobShare? (Fix #7299)

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.71010 sec.)

We're Hiring!