Bug 1093960 - [abrt] pylint: subprocess.py:1308:_execute_child:OSError: [Errno 2] No such file or directory
Summary: [abrt] pylint: subprocess.py:1308:_execute_child:OSError: [Errno 2] No such f...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: pylint
Version: 20
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Brian Lane
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:a1d02c0dfe1558f2e7678baed61...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-05-03 23:19 UTC by Bengt Lüers
Modified: 2014-05-05 18:51 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-05-05 16:35:37 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: backtrace (2.27 KB, text/plain)
2014-05-03 23:19 UTC, Bengt Lüers
no flags Details
File: dso_list (75 bytes, text/plain)
2014-05-03 23:19 UTC, Bengt Lüers
no flags Details
File: environ (4.67 KB, text/plain)
2014-05-03 23:19 UTC, Bengt Lüers
no flags Details

Description Bengt Lüers 2014-05-03 23:19:51 UTC
Description of problem:
graphviz was not installed

Version-Release number of selected component:
pylint-1.1.0-1.fc20

Additional info:
reporter:       libreport-2.2.2
cmdline:        /usr/bin/python /usr/bin/pyreverse --ignore tests -o png -p MetaOpt metaopt
executable:     /usr/bin/pyreverse
kernel:         3.13.10-200.fc20.x86_64
runlevel:       N 5
type:           Python
uid:            1000

Truncated backtrace:
subprocess.py:1308:_execute_child:OSError: [Errno 2] No such file or directory

Traceback (most recent call last):
  File "/usr/bin/pyreverse", line 9, in <module>
    load_entry_point('pylint==1.2.0', 'console_scripts', 'pyreverse')()
  File "/usr/lib/python2.7/site-packages/pylint/__init__.py", line 39, in run_pyreverse
    Run(sys.argv[1:])
  File "/usr/lib/python2.7/site-packages/pylint/pyreverse/main.py", line 98, in __init__
    sys.exit(self.run(args))
  File "/usr/lib/python2.7/site-packages/pylint/pyreverse/main.py", line 119, in run
    writer.DotWriter(self.config).write(diadefs)
  File "/usr/lib/python2.7/site-packages/pylint/pyreverse/writer.py", line 43, in write
    self.close_graph()
  File "/usr/lib/python2.7/site-packages/pylint/pyreverse/writer.py", line 135, in close_graph
    self.printer.generate(self.file_name)
  File "/usr/lib/python2.7/site-packages/logilab/common/graph.py", line 123, in generate
    shell=use_shell)
  File "/usr/lib64/python2.7/subprocess.py", line 524, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Local variables in innermost frame:
errread: None
c2pread: None
gc_was_enabled: True
errwrite: None
shell: False
errpipe_write: 4
executable: 'dot'
close_fds: False
self: <subprocess.Popen object at 0x72d10d0>
env: None
cwd: None
child_exception: OSError(2, 'No such file or directory')
args: ['dot', '-T', 'png', '/tmp/packages_MetaOptvMDfzT.dot', '-o', 'packages_MetaOpt.png']
c2pwrite: None
data: 'cexceptions\nOSError\np0\n(I2\nS\'No such file or directory\'\np1\ntp2\nRp3\n(dp4\nS\'child_traceback\'\np5\nS\'Traceback (most recent call last):\\n  File "/usr/lib64/python2.7/subprocess.py", line 1263, in _execute_child\\n    os.execvp(executable, args)\\n  File "/usr/lib64/python2.7/os.py", line 344, in execvp\\n    _execvpe(file, args)\\n  File "/usr/lib64/python2.7/os.py", line 380, in _execvpe\\n    func(fullname, *argrest)\\nOSError: [Errno 2] No such file or directory\\n\'\np6\nsb.'
creationflags: 0
errpipe_read: 3
preexec_fn: None
p2cread: None
startupinfo: None
p2cwrite: None
universal_newlines: False

Comment 1 Bengt Lüers 2014-05-03 23:19:55 UTC
Created attachment 892193 [details]
File: backtrace

Comment 2 Bengt Lüers 2014-05-03 23:19:57 UTC
Created attachment 892194 [details]
File: dso_list

Comment 3 Bengt Lüers 2014-05-03 23:19:59 UTC
Created attachment 892195 [details]
File: environ

Comment 4 Brian Lane 2014-05-05 16:35:37 UTC
You need to have graphviz installed in order to use pyreverse.

I don't really want to add this as a Requires on pylint since it will drag in a pile of dependencies that other users of pylint likely don't want.

Comment 5 Bengt Lüers 2014-05-05 17:33:09 UTC
I see that adding graphviz to pylint's requirements will add unwanted installations for users that do not ever start pyreverse. On the other hand, not having graphviz as a requirements of pylint causes unwanted errors for those users who do try to use pyreverse. I think, having possibly unused requirements is far less painful than installing programs via the package manager and not having all dependencies installed.

I do not know the rationale for bundling pylint, pyreverse, symilar, epylint and pylint-gui. I could but imagine them being a set of tools for working with a repository of python code. In that case it makes sense to install the entire toolbox even if not all tools will be used by every user. Isn't that in any case a decision that logilab makes, not RedHat? If RedHat was do decide these should be unbundled, I would expect to be able to install one without the other and that all dependencies for the installed parts get installed, too.

Comment 7 Brian Lane 2014-05-05 18:51:37 UTC
It is useful (eg. headless test box witout X running) to have pylint not drag in a bunch of dependencies. It might make sense to move pyreverse into pylint-gui though.

Also, while inconvenient, you only have to install the dependency once.


Note You need to log in before you can comment on or make changes to this bug.