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 #10586 (closed)

Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

Bug: reset settings

Reported by: wmoore Owned by: wmoore
Priority: major Milestone: OMERO-4.4.7
Component: Web Version: n.a.
Keywords: n.a. Cc: ux@…
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: n.a.
Sprint: 2013-04-09 (7))

Description

If an owner of a read-write group tries to "reset" rendering settings on image belonging to a regular member it fails.

  • webclient/resetImgRDef/138/ returns 'false'

If I am a regular member of the same read-write group, "reset" works OK on another regular user's images, but save settings gives an error (although settings are saved OK - error below).

Traceback (most recent call last):

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

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

  File "/home/omerouser/openmicroscopy/dist/lib/python/omeroweb/webgateway/views.py", line 1427, in save_image_rdef_json
    pi = _get_prepared_image(request, iid, server_id=server_id, conn=conn, saveDefs=True)

  File "/home/omerouser/openmicroscopy/dist/lib/python/omeroweb/webgateway/views.py", line 659, in _get_prepared_image
    img.saveDefaults()

  File "/home/omerouser/openmicroscopy/dist/lib/python/omero/gateway/__init__.py", line 5666, in wrapped
    return f(self, *args, **kwargs)

  File "/home/omerouser/openmicroscopy/dist/lib/python/omero/gateway/__init__.py", line 7358, in saveDefaults
    self._re.saveCurrentSettings(ctx)

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

  File "/home/omerouser/openmicroscopy/dist/lib/python/omeroweb/webclient/webclient_gateway.py", line 1879, in handle_exception
    e, *args, **kwargs)

  File "/home/omerouser/openmicroscopy/dist/lib/python/omero/gateway/__init__.py", line 3428, in __call__
    return self.f(*args, **kwargs)

  File "/home/omerouser/openmicroscopy/dist/lib/python/omero_api_RenderingEngine_ice.py", line 746, in saveCurrentSettings
    return _M_omero.api.RenderingEngine._op_saveCurrentSettings.invoke(self, ((), _ctx))

InternalException: exception ::omero::InternalException
{
    serverStackTrace = ome.conditions.InternalException:  Wrapped Exception: (java.lang.NullPointerException):
null
	at ome.services.RenderingBean.saveCurrentSettings(RenderingBean.java:832)
	at sun.reflect.GeneratedMethodAccessor2447.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	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.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 $Proxy93.saveCurrentSettings(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor2447.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	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 $Proxy93.saveCurrentSettings(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor2952.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	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.RenderingEngineI.saveCurrentSettings_async(RenderingEngineI.java:382)
	at sun.reflect.GeneratedMethodAccessor2951.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	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 $Proxy95.saveCurrentSettings_async(Unknown Source)
	at omero.api._RenderingEngineTie.saveCurrentSettings_async(_RenderingEngineTie.java:348)
	at omero.api._RenderingEngineDisp.___saveCurrentSettings(_RenderingEngineDisp.java:1388)
	at omero.api._RenderingEngineDisp.__dispatch(_RenderingEngineDisp.java:1790)
	at IceInternal.Incoming.invoke(Incoming.java:159)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2357)
	at Ice.ConnectionI.dispatch(ConnectionI.java:1208)
	at Ice.ConnectionI.message(ConnectionI.java:1163)
	at IceInternal.ThreadPool.run(ThreadPool.java:302)
	at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:643)
	at java.lang.Thread.run(Thread.java:679)

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


<WSGIRequest
GET:<QueryDict: {u'zm': [u'100'], u'c': [u'-1|0:255$FF0000,-2|0:255$00FF00,3|0:255$0000FF,-4|0:255$000000'], u'y': [u'0'], u'callback': [u'jQuery172034750708331107516_1364214760795'], u'm': [u'c'], u'q': [u'0.9'], u'p': [u'normal'], u't': [u'1'], u'ia': [u'0'], u'x': [u'0'], u'z': [u'1']}>,
POST:<QueryDict: {}>,
COOKIES:{'sessionid': '1b74f324be2e42bf2a361f88f784b434'},
META:{'CONTENT_LENGTH': '',
 'CONTENT_TYPE': '',
 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
 'HTTP_ACCEPT_LANGUAGE': 'en-gb,en;q=0.5',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_COOKIE': 'sessionid=1b74f324be2e42bf2a361f88f784b434',
 'HTTP_HOST': '134.36.65.235',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:19.0) Gecko/20100101 Firefox/19.0',
 'PATH_INFO': u'/webclient/saveImgRDef/137/',
 'QUERY_STRING': 'c=-1|0:255$FF0000,-2|0:255$00FF00,3|0:255$0000FF,-4|0:255$000000&m=c&p=normal&ia=0&q=0.9&zm=100&t=1&z=1&x=0&y=0&callback=jQuery172034750708331107516_1364214760795',
 'REQUEST_METHOD': 'GET',
 'SCRIPT_NAME': u'',
 'SERVER_NAME': 'localhost',
 'SERVER_PORT': '80',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'wsgi.errors': <flup.server.fcgi_base.TeeOutputStream object at 0x3561790>,
 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x3561910>,
 'wsgi.multiprocess': True,
 'wsgi.multithread': False,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}>

Change History (2)

comment:1 Changed 7 years ago by wmoore

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

comment:2 Changed 7 years ago by Will Moore <will@…>

(In [027d26bc6a6c2331cbcc1ea787964ffdb90b6c95/ome.git] on branch develop) Blitz image.resetRDefs() OK if canAnnotate(). See #10586

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.85587 sec.)

We're Hiring!