Omero.iviewer doesn't save rendering settings in image w/ many channels

Hi OME team (and probably specifically @will-moore),

I found a bug in the latest omero-iviewer (0.9.1) running under OMERO 5.6.1 on Ubuntu (both 16.04 (w/ Python 3.6) and 18.04). When you have a large number of color channels, not sure what the cut-off is but it happens with 60 channels and doesn’t happen with only 30 channels, when you try to change the rendering settings in omero.iviewer, it seems to all work and you happily click the Save button. Alas, nothing apparently was saved and when you open this image again, you’re back to the original rendering settings. No error shows, nothing obvious registers in the log, nothing. So this is from the further investigating of my issue #3 that I promised in: OMERO 5.6.1 on Ubuntu 16.04 - issues with web and partial solution

Again, I can change the rendering settings fine with the old Image viewer and in the Preview tab. I’ll be happy to provide one such 60-channel image (in ome-tif) but you probably have some yourself.

Thanks,
Damir

Hi Damir,

Thanks for the bug report. I created an issue at https://github.com/ome/omero-iviewer/issues/321
It’s due to the long length of query string on URLs where we encode the rendering settings in quite a verbose manner and this exceeds the length allowed by nginx.

Regards,
Will.

Hi Will,

Thanks for the explanation. Makes sense. For now, we’ll kludge our way around the issue by using the preview panel.

One other request: using the API I can create ROIs with multiple shapes in them and with the feature you added per Large mask ROI on large image I can turn them all on/off with a click. Could I put in a feature request for the option to be able to create such multi-shape ROIs in iviewer?

Cheers,
Damir

Hi Damir,

Thanks for the feedback. I added that request to the existing issue at https://github.com/ome/omero-iviewer/issues/307

Regards,

Will

Hi @dsudar

I think the error seems to come from a Gunicorn backend, not from Nginx. It can be fixed using omero.web.wsgi_args to change it’s limit by passing the parameter --limit-request-line https://docs.gunicorn.org/en/latest/settings.html?highlight=limit_request_line#limit-request-line

 omero config set omero.web.wsgi_args ' --limit-request-line 8096'

Hope that helps

Ola

1 Like

it may be worth setting

omero.web.wsgi_args= --error-logfile=/home/omero/omero-web/var/log/gunicorn.err

to see Gunicorn error too :slight_smile:

Hi Ola,
Thanks for that tip. @will-moore had indeed explained that the problem was with the extremely long URLs that are being created when you have many channels.But I didn’t realize you could configure the acceptable URL length in gunicorn. I thought it was W3 standard that prohibited the long URLs. I’ll try it out.
Cheers,
Damir

1 Like

Hi Damir,
Apologies for not being clear about the configuration option. Let us know how you get on.
Cheers,

Will.