<type 'exceptions.IOError'>
Python 2.5.4: /opt/local/production/bin/python
Sat Jun 13 09:20:21 2026

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /usr1/local/production/www/htdocs/build/bdist.linux-x86_64/egg/flup/server/fcgi_base.py in run(self=<flup.server.fcgi_base.Request object at 0x1bf4610>)
  556         """Runs the handler, flushes the streams, and ends the request."""
  557         try:
  558             protocolStatus, appStatus = self.server.handler(self)
  559         except:
  560             traceback.print_exc(file=self.stderr)
 /usr1/local/production/www/htdocs/build/bdist.linux-x86_64/egg/flup/server/fcgi_base.py in handler(self=<flup.server.fcgi_fork.WSGIServer object at 0x1b8b810>, req=<flup.server.fcgi_base.Request object at 0x1bf4610>)
 1116                 result = self.application(environ, start_response)
 1117                 try:
 1118                     for data in result:
 1119                         if data:
 1120                             write(data)
 /opt/local/production/www/htdocs/thumbnail.fcgi in app(environ={'DOCUMENT_ROOT': '/opt/local/production/www/htdocs', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CACHE_CONTROL': 'max-age=259200', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'static.gigapan.org', 'HTTP_USER_AGENT': 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Geck...patible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'HTTP_VIA': '1.1 squid-proxy-5b96dc6d46-gvw6r (squid/6.13)', 'HTTP_X_FORWARDED_FOR': '10.1.77.158', ...}, start_response=<function start_response at 0x1bae9b0>)
  317                     new_width, new_height = best_fit(int(width), int(height), int(outputwidth),int(outputheight))
  318                     size = (int(outputwidth), int(outputheight))
  319                     thumbnail.render(prefix, suffix, int(fullwidth), int(fullheight), int(nlevels), tmpfile, int(new_width), int(new_height), float(left), float(top), float(width), float(height))
  320                     image = Image.open(tmpfile)
  321                     background = Image.new('RGB', size, (0, 0, 0))
global thumbnail = <module 'thumbnail' from '/usr1/local/production/thumbnails/thumbnail.py'>, thumbnail.render = <function render at 0x1a50de8>, prefix = '/usr0/gigapans/19642', suffix = '.jpg', builtin int = <type 'int'>, fullwidth = 23507, fullheight = 2351, nlevels = 8, tmpfile = '/usr0/gigapans/19642/images/tmpa2dcbcc9e60c1e562c5930cbf9be5b5e.jpg', new_width = 400, new_height = 41, builtin float = <type 'float'>, left = 0, top = 0, width = 23507, height = 2351
 /usr1/local/production/thumbnails/thumbnail.py in render(prefix='/usr0/gigapans/19642', suffix='.jpg', fullwidth=23507, fullheight=2351, nlevels=8, outputfilename='/usr0/gigapans/19642/images/tmpa2dcbcc9e60c1e562c5930cbf9be5b5e.jpg', outputwidth=400, outputheight=41, left=0.0, top=0.0, width=23507.0, height=2351.0)
   93         Image.ANTIALIAS)
   94     final_img = resized_img
   95     final_img.save(outputfilename, "JPEG", quality=90)
   96    
   97 
final_img = <Image.Image instance at 0x1c14368>, final_img.save = <bound method Image.save of <Image.Image instance at 0x1c14368>>, outputfilename = '/usr0/gigapans/19642/images/tmpa2dcbcc9e60c1e562c5930cbf9be5b5e.jpg', quality undefined
 /opt/local/production/lib/python2.5/site-packages/PIL/Image.py in save(self=<Image.Image instance at 0x1c14368>, fp='/usr0/gigapans/19642/images/tmpa2dcbcc9e60c1e562c5930cbf9be5b5e.jpg', format='JPEG', **params={'quality': 90})
 1397         if isStringType(fp):
 1398             import __builtin__
 1399             fp = __builtin__.open(fp, "wb")
 1400             close = 1
 1401         else:
fp = '/usr0/gigapans/19642/images/tmpa2dcbcc9e60c1e562c5930cbf9be5b5e.jpg', __builtin__ = <module '__builtin__' (built-in)>, __builtin__.open = <built-in function open>

<type 'exceptions.IOError'>: [Errno 13] Permission denied: '/usr0/gigapans/19642/images/tmpa2dcbcc9e60c1e562c5930cbf9be5b5e.jpg'
      args = (13, 'Permission denied')
      errno = 13
      filename = '/usr0/gigapans/19642/images/tmpa2dcbcc9e60c1e562c5930cbf9be5b5e.jpg'
      message = ''
      strerror = 'Permission denied'