Task #7299 (closed)
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 8 years ago by jmoore
- Description modified (diff)
comment:2 Changed 8 years ago by atarkowska
- Owner changed from atarkowska to jmoore
comment:3 Changed 8 years ago by atarkowska
- Cc atarkowska added
comment:4 Changed 8 years ago by jmoore
- Milestone changed from Unscheduled to OMERO-Beta4.4
comment:5 Changed 7 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 7 years ago by cxallan
- Milestone changed from OMERO-Beta4.4 to OMERO-Beta4.4.1
comment:7 Changed 7 years ago by jmoore
- Owner changed from atarkowska to wmoore
Moving all of Ola's tickets to Will.
comment:9 Changed 7 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 7 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 7 years ago by jmoore
Thanks, Blazej. Would you be willing to try the fix on my 7299-share-npe branch?
comment:12 Changed 7 years ago by jmoore
- Resolution set to fixed
- Status changed from new to closed
Fix pushed for review as https://github.com/openmicroscopy/openmicroscopy/pull/363
comment:13 Changed 7 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 7 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 7 years ago by jmoore <josh@…>
(In [f7f5a63e5fed37a56d1e44331a75af014a33fef0/ome.git] on branch develop) Also handle LogicalChannel?.detectorSettings (See #7299)
comment:16 Changed 7 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)
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)}>