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

Opened 13 years ago

Closed 13 years ago

Bug: len of None on getChannels in Web

Reported by: jamoore Owned by: wmoore
Priority: minor Milestone: OMERO-Beta4.3
Component: Web Version: n.a.
Keywords: n.a. Cc: atarkowska
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: n.a.
Sprint: 2011-06-16 (14)

Description

Found this in the OMEROweb.log on gretzky and thought I'd pass it on, in case it's important.

Thu, 02 Jun 2011 09:21:21 views-feedback ERROR    Traceback (most recent call last):

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

  File "/home/omero/OMERO.server-4.3.0-DEV-ec9b8cde/lib/python/omeroweb/webgateway/views.py", line 594, in render_image_region
    pi = _get_prepared_image(request, iid, server_id=server_id, _conn=_conn, with_session=USE_SESSION)

  File "/home/omero/OMERO.server-4.3.0-DEV-ec9b8cde/lib/python/omeroweb/webgateway/views.py", line 543, in _get_prepared_image
    if not img.setActiveChannels(channels, windows, colors):

  File "/home/omero/OMERO.server-4.3.0-DEV-ec9b8cde/lib/python/omero/gateway/__init__.py", line 5294, in setActiveChannels
    for c in range(len(self.getChannels())):

TypeError: object of type 'NoneType' has no len()

Change History (6)

comment:1 Changed 13 years ago by wmoore

Currently, imageWrapper.getChannels() requires the rendering engine to have been initialised

return [ChannelWrapper(self._conn, c, idx=n, re=self._re, img=self) for n,c in enumerate(self._re.getPixels().iterateChannels())]

so if we have a big image etc then this fails.
This can be seen for example, in the web metadata panel, channel names are not displayed for images Missing Pyramids.

I started to include a test for this in OmeroPy/test/gatewaytest/missing_pyramid.py but turned it off for now. I think the solution is to use metadata service to load Channels in getChannels() if the rendering engine is not created. BUT this will mean that we will have to check every time if _re is None in ChannelWrapper? and setActiveChannels() etc (in stack trace above) will still fail.

comment:2 Changed 13 years ago by wmoore

  • Sprint set to 2011-06-16 (14)

comment:3 Changed 13 years ago by wmoore

  • Status changed from new to accepted

comment:4 Changed 13 years ago by Will Moore <will@…>

(In [f9d191dda7ddb6b6747b9ad5cc8ee607a5ef1d1d/ome.git] on branch develop) Blitz getChannels() does not rely on RenderingEngine. See #5766

comment:5 Changed 13 years ago by Will Moore <will@…>

(In [b1257431e4734cb07d349672699211dfbdc158bc/ome.git] on branch develop) Turning on testGetChannels() for Missing Pyramid tests. Now passes. See #5766

comment:6 Changed 13 years ago by wmoore

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

Will fix other bugs that arise from these changes as the occur. E.g #5773.

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

We're Hiring!