Ticket #331 (closed defect: fixed)
Umit Crash - '[Errno 13] Permission denied: '/usr/share/umit/config/umit.conf''
| Reported by: | womail@… | Owned by: | luis |
|---|---|---|---|
| Priority: | medium | Milestone: | Umit 1.0beta2 |
| Component: | CrashReport | Version: | current svn |
| Keywords: | user crash | Cc: |
Description (last modified by luis) (diff)
Crash Report
==========
sys.platform linux2
os.name posix
Gtk version 2.16.1
Umit version 1.0beta2
Description
Versions:
---
GTK: 2.16.1
PyGTK: 2.16.1
HIGWidgets: 1.0beta1
Python: 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3]
Nmap: Nmap version 4.76 ( http://nmap.org )
Operating System: Linux willie-desktop 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686
Umit: 1.0beta2
UmitCore: 1.0beta2
UmitGUI: 1.0beta2
---
<type 'exceptions.IOError'>
Python 2.6.2: /usr/bin/python
Mon Jun 1 19:52:25 2009
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/usr/bin/umit in <module>()
210 except KeyboardInterrupt:
211 sys.exit(signal.SIGINT)
212
213 if __name__ == "__main__":
214 main(sys.argv)
main = <function main at 0xb7df0ed4>
sys = <module 'sys' (built-in)>
sys.argv = ['/usr/bin/umit']
/usr/bin/umit in main(args=['/usr/bin/umit'])
199 from umit.gui.App import App
200
201 umit_app = App()
202
203 if os.name == "posix":
umit_app undefined
App = <class umit.gui.App.App at 0x9c4c83c>
/usr/share/umit/umit/gui/App.py in __init__(self=<umit.gui.App.App instance at 0x9f72e2c>, args=['/usr/bin/umit'])
48 def __init__(self, args=sys.argv):
49 # Initialite the PluginEngine
50 PluginEngine()
51
52 def __parse_cmd_line(self):
global PluginEngine = <class 'umit.plugin.Engine.PluginEngine'>
/usr/share/umit/umit/plugin/Engine.py in __init__(self=<umit.plugin.Engine.PluginEngine object at 0x9f72e4c>)
128
129 # Initialize our objects
130 self.plugins = Plugins()
131 self.tree = PluginsTree()
132 self.core = Core()
self = <umit.plugin.Engine.PluginEngine object at 0x9f72e4c>
self.plugins undefined
global Plugins = <class 'umit.core.UmitConf.Plugins'>
/usr/share/umit/umit/core/UmitConf.py in __init__(self=<umit.core.UmitConf.Plugins object at 0x9f72e6c>)
541
542 if not self.parser.has_section(self.section_name):
543 self.create_section()
544
545 def save_changes(self):
self = <umit.core.UmitConf.Plugins object at 0x9f72e6c>
self.create_section = <bound method Plugins.create_section of <umit.core.UmitConf.Plugins object at 0x9f72e6c>>
/usr/share/umit/umit/core/UmitConf.py in create_section(self=<umit.core.UmitConf.Plugins object at 0x9f72e6c>)
548 def create_section(self):
549 from os.path import join
550 self.paths = [join(Path.config_dir, "plugins")]
551 self.plugins = ""
552
self = <umit.core.UmitConf.Plugins object at 0x9f72e6c>
self.paths = ['/usr/share/umit/config/plugins']
join = <function join at 0xb7ed1aac>
global Path = <umit.core.Paths.Paths object at 0x9c4b64c>
Path.config_dir = '/usr/share/umit/config'
/usr/share/umit/umit/core/UmitConf.py in set_paths(self=<umit.core.UmitConf.Plugins object at 0x9f72e6c>, settings=['/usr/share/umit/config/plugins'])
576
577 def set_paths(self, settings):
578 self.__set_it("paths", self.separator.join(settings))
579
580 def get_plugins(self):
self = <umit.core.UmitConf.Plugins object at 0x9f72e6c>
self.__set_it undefined
self.separator = ':'
self.separator.join = <built-in method join of str object at 0xb7eb8520>
settings = ['/usr/share/umit/config/plugins']
/usr/share/umit/umit/core/UmitConf.py in __set_it(self=<umit.core.UmitConf.Plugins object at 0x9f72e6c>, property_name='paths', settings='/usr/share/umit/config/plugins')
564 def __set_it(self, property_name, settings):
565 settings = self.sanity_settings(settings)
566 self.parser.set(self.section_name, property_name, settings)
567
568 def sanity_settings(self, settings):
self = <umit.core.UmitConf.Plugins object at 0x9f72e6c>
self.parser = <umit.core.UmitConfigParser.UmitConfigParser instance at 0x9c4b3ec>
self.parser.set = <bound method UmitConfigParser.set of <umit.core...igParser.UmitConfigParser instance at 0x9c4b3ec>>
self.section_name = 'plugins'
property_name = 'paths'
settings = '/usr/share/umit/config/plugins'
/usr/share/umit/umit/core/UmitConfigParser.py in set(self=<umit.core.UmitConfigParser.UmitConfigParser instance at 0x9c4b3ec>, section='plugins', option='paths', value='/usr/share/umit/config/plugins')
38
39 ConfigParser.set(self, section, option, value)
40 self.save_changes()
41
42 def read(self, filename):
self = <umit.core.UmitConfigParser.UmitConfigParser instance at 0x9c4b3ec>
self.save_changes = <bound method UmitConfigParser.save_changes of <...igParser.UmitConfigParser instance at 0x9c4b3ec>>
/usr/share/umit/umit/core/UmitConfigParser.py in save_changes(self=<umit.core.UmitConfigParser.UmitConfigParser instance at 0x9c4b3ec>)
60 else:
61 raise Exception("Wrong filename %s" % self.filenames)
62 self.write(open(filename, 'w'))
63 elif self.fp:
64 self.write(self.fp)
self = <umit.core.UmitConfigParser.UmitConfigParser instance at 0x9c4b3ec>
self.write = <bound method UmitConfigParser.write of <umit.co...igParser.UmitConfigParser instance at 0x9c4b3ec>>
builtinopen = <built-in function open>
filename = '/usr/share/umit/config/umit.conf'
<type 'exceptions.IOError'>: [Errno 13] Permission denied: '/usr/share/umit/config/umit.conf'
__class__ = <type 'exceptions.IOError'>
__delattr__ = <method-wrapper '__delattr__' of exceptions.IOError object at 0x9f6d74c>
__dict__ = {}
__doc__ = 'I/O operation failed.'
__format__ = <built-in method __format__ of exceptions.IOError object at 0x9f6d74c>
__getattribute__ = <method-wrapper '__getattribute__' of exceptions.IOError object at 0x9f6d74c>
__getitem__ = <method-wrapper '__getitem__' of exceptions.IOError object at 0x9f6d74c>
__getslice__ = <method-wrapper '__getslice__' of exceptions.IOError object at 0x9f6d74c>
__hash__ = <method-wrapper '__hash__' of exceptions.IOError object at 0x9f6d74c>
__init__ = <method-wrapper '__init__' of exceptions.IOError object at 0x9f6d74c>
__new__ = <built-in method __new__ of type object at 0x82275a0>
__reduce__ = <built-in method __reduce__ of exceptions.IOError object at 0x9f6d74c>
__reduce_ex__ = <built-in method __reduce_ex__ of exceptions.IOError object at 0x9f6d74c>
__repr__ = <method-wrapper '__repr__' of exceptions.IOError object at 0x9f6d74c>
__setattr__ = <method-wrapper '__setattr__' of exceptions.IOError object at 0x9f6d74c>
__setstate__ = <built-in method __setstate__ of exceptions.IOError object at 0x9f6d74c>
__sizeof__ = <built-in method __sizeof__ of exceptions.IOError object at 0x9f6d74c>
__str__ = <method-wrapper '__str__' of exceptions.IOError object at 0x9f6d74c>
__subclasshook__ = <built-in method __subclasshook__ of type object at 0x82275a0>
__unicode__ = <built-in method __unicode__ of exceptions.IOError object at 0x9f6d74c>
args = (13, 'Permission denied')
errno = 13
filename = '/usr/share/umit/config/umit.conf'
message = ''
strerror = 'Permission denied'
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File "/usr/bin/umit", line 214, in <module>
main(sys.argv)
File "/usr/bin/umit", line 201, in main
umit_app = App()
File "/usr/share/umit/umit/gui/App.py", line 50, in __init__
PluginEngine()
File "/usr/share/umit/umit/plugin/Engine.py", line 130, in __init__
self.plugins = Plugins()
File "/usr/share/umit/umit/core/UmitConf.py", line 543, in __init__
self.create_section()
File "/usr/share/umit/umit/core/UmitConf.py", line 550, in create_section
self.paths = [join(Path.config_dir, "plugins")]
File "/usr/share/umit/umit/core/UmitConf.py", line 578, in set_paths
self.__set_it("paths", self.separator.join(settings))
File "/usr/share/umit/umit/core/UmitConf.py", line 566, in __set_it
self.parser.set(self.section_name, property_name, settings)
File "/usr/share/umit/umit/core/UmitConfigParser.py", line 40, in set
self.save_changes()
File "/usr/share/umit/umit/core/UmitConfigParser.py", line 62, in save_changes
self.write(open(filename, 'w'))
IOError: [Errno 13] Permission denied: '/usr/share/umit/config/umit.conf'
Attachments
Change History
Note: See
TracTickets for help on using
tickets.
