﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
76	OSError: [Errno 13] Permission denied: '/vsl/trac/minimp/attachments/ticket'	rdeaton	zirkel	"==== How to Reproduce ====

While doing a POST operation on `/attachment/ticket/75`, Trac issued an internal error.

I'm fairly certain this is just not having write permissions for uploaded files.


Request parameters:
{{{
{'__FORM_TOKEN': u'a192ea139efdd561eb679654',
 'action': u'new',
 'attachment': FieldStorage('attachment', 'simpleMPImplGood.trace', 'simpleMPImplGood Trace summary:\
\
Step 1: State 0 -- simpleMPImplGood.mmp line 10 [main@0->main@1] ""i = 7;"" -> State 1\
Step 2: State 1 -- simpleMPImplGood.mmp line 11 [main@1->main@2] ""j = 5;"" -> State 2\
Step 3: State 2 -- simpleMPImplGood.mmp line 12 [main@2->main@3] ""k = 0;"" -> State 3\
Step 4: State 3 -- simpleMPImplGood.mmp line 13 [main@3->main@4] ""m = 0;"" -> State 4\
Step 5: State 4 -- simpleMPImplGood.mmp line 14 [main@4->main@5] ""if (PID == 0)"" [true]\
\
simpleMPImplGood Trace details:\
\
begin State 0\
  onStack = true;\
  seen = true;\
  pathCondition : true\
  begin model state\
    begin shared variables\
      s = undefined;\
      t = undefined;\
    end shared variables;\
    begin process 0\
      begin stack frame 0\
        function : main;\
        location : 0;\
        i = undefined;\
        j = undefined;\
        k = undefined;\
        m = undefined;\
      end stack frame 0;\
    end process 0;\
  end model state\
end State 0\
\
Step 1: State 0 -- simpleMPImplGood.mmp line 10 [main@0->main@1] ""i = 7;"" -> State 1\
\
begin State 1\
  onStack = true;\
  seen = true;\
  pathCondition : true\
  begin model state\
    begin shared variables\
      s = undefined;\
      t = undefined;\
    end shared variables;\
    begin process 0\
      begin stack frame 0\
        function : main;\
        location : 1;\
        i = 7;\
        j = undefined;\
        k = undefined;\
        m = undefined;\
      end stack frame 0;\
    end process 0;\
  end model state\
end State 1\
\
Step 2: State 1 -- simpleMPImplGood.mmp line 11 [main@1->main@2] ""j = 5;"" -> State 2\
\
begin State 2\
  onStack = true;\
  seen = true;\
  pathCondition : true\
  begin model state\
    begin shared variables\
      s = undefined;\
      t = undefined;\
    end shared variables;\
    begin process 0\
      begin stack frame 0\
        function : main;\
        location : 2;\
        i = 7;\
        j = 5;\
        k = undefined;\
        m = undefined;\
      end stack frame 0;\
    end process 0;\
  end model state\
end State 2\
\
Step 3: State 2 -- simpleMPImplGood.mmp line 12 [main@2->main@3] ""k = 0;"" -> State 3\
\
begin State 3\
  onStack = true;\
  seen = true;\
  pathCondition : true\
  begin model state\
    begin shared variables\
      s = undefined;\
      t = undefined;\
    end shared variables;\
    begin process 0\
      begin stack frame 0\
        function : main;\
        location : 3;\
        i = 7;\
        j = 5;\
        k = 0;\
        m = undefined;\
      end stack frame 0;\
    end process 0;\
  end model state\
end State 3\
\
Step 4: State 3 -- simpleMPImplGood.mmp line 13 [main@3->main@4] ""m = 0;"" -> State 4\
\
begin State 4\
  onStack = true;\
  seen = true;\
  pathCondition : true\
  begin model state\
    begin shared variables\
      s = undefined;\
      t = undefined;\
    end shared variables;\
    begin process 0\
      begin stack frame 0\
        function : main;\
        location : 4;\
        i = 7;\
        j = 5;\
        k = 0;\
        m = 0;\
      end stack frame 0;\
    end process 0;\
  end model state\
end State 4\
\
Step 5: State 4 -- simpleMPImplGood.mmp line 14 [main@4->main@5] ""if (PID == 0)"" [true]\
'),
 'description': u'',
 'id': u'75',
 'path': u'75',
 'realm': u'ticket'}
}}}


==== System Information ====

|| '''Trac''' || `0.11b1` ||
|| '''Python''' || `2.5.1 (r251:54863, Apr 23 2007, 09:10:27) [C]` ||
|| '''setuptools''' || `0.6c5` ||
|| '''MySQL''' || `server: ""5.0.67-log"", client: ""5.0.33"", thread-safe: 1` ||
|| '''MySQLdb''' || `1.2.2` ||
|| '''Genshi''' || `0.4.4` ||
|| '''Pygments''' || `0.8.1` ||
|| '''Subversion''' || `1.4.6 (r28521)` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""/home/www/usr/local/python-2.5.1/lib/python2.5/site-packages/Trac-0.11b1-py2.5.egg/trac/web/main.py"", line 398, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/home/www/usr/local/python-2.5.1/lib/python2.5/site-packages/Trac-0.11b1-py2.5.egg/trac/web/main.py"", line 195, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/home/www/usr/local/python-2.5.1/lib/python2.5/site-packages/Trac-0.11b1-py2.5.egg/trac/attachment.py"", line 385, in process_request
    self._do_save(req, attachment)
  File ""/home/www/usr/local/python-2.5.1/lib/python2.5/site-packages/Trac-0.11b1-py2.5.egg/trac/attachment.py"", line 575, in _do_save
    attachment.insert(filename, upload.file, size)
  File ""/home/www/usr/local/python-2.5.1/lib/python2.5/site-packages/Trac-0.11b1-py2.5.egg/trac/attachment.py"", line 217, in insert
    os.makedirs(self.path)
  File ""/usr/local/python/lib/python2.5/os.py"", line 165, in makedirs
    makedirs(head, mode)
  File ""/usr/local/python/lib/python2.5/os.py"", line 172, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/vsl/trac/minimp/attachments/ticket'

}}}
    "	defect	closed	major		Administration		fixed		
