loris-imageserver / loris

Loris IIIF Image Server
Other
208 stars 87 forks source link

Tiny images problem #65

Open jpstroop opened 10 years ago

jpstroop commented 10 years ago

In response to the tiny images that OpenSeadragon requests at first, eg.:

http://libimages.princeton.edu/loris/pudl0022%2F4623565%2F00000001.jp2/full/2,/0/native.jpg

Loris is returning a 500. Error logs say this:

mod_wsgi (pid=1766): Exception occurred processing WSGI script '/var/www/loris/loris.wsgi'.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Loris-1.2.2dev-py2.7.egg/loris/webapp.py", line 315, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/Loris-1.2.2dev-py2.7.egg/loris/webapp.py", line 299, in wsgi_app
    response = self.dispatch_request(request)
  File "/usr/local/lib/python2.7/dist-packages/Loris-1.2.2dev-py2.7.egg/loris/webapp.py", line 309, in dispatch_request
    return getattr(self, 'get_'+endpoint)(request, **values)
  File "/usr/local/lib/python2.7/dist-packages/Loris-1.2.2dev-py2.7.egg/loris/webapp.py", line 583, in get_img
    fp = self._make_image(image_request, src_fp, src_format)
  File "/usr/local/lib/python2.7/dist-packages/Loris-1.2.2dev-py2.7.egg/loris/webapp.py", line 631, in _make_image
    transformer.transform(src_fp, target_fp, image_request)
  File "/usr/local/lib/python2.7/dist-packages/Loris-1.2.2dev-py2.7.egg/loris/transforms.py", line 337, in transform
    JP2_Transformer._derive_with_pil(im, target_fp, image_request, rotate=rotate_downstream, crop=False)
  File "/usr/local/lib/python2.7/dist-packages/Loris-1.2.2dev-py2.7.egg/loris/transforms.py", line 138, in     
    im.save(target_fp, quality=90)
  File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 1439, in save
    save_handler(self, fp, filename)
  File "/usr/local/lib/python2.7/dist-packages/PIL/JpegImagePlugin.py", line 471, in _save
    ImageFile._save(im, fp, [("jpeg", (0,0)+im.size, 0, rawmode)])
  File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFile.py", line 498, in _save
    e.setimage(im.im, b)
SystemError: tile cannot extend outside image

So must just be a math error somewhere. Seems to only be for 1 and 2 px wide images.

tingletech commented 8 years ago

FWIW, I had a very similar issue, which seems to have been fixed when I upgraded openseadragon to 2.0.0