id summary reporter owner description type status priority component severity resolution keywords cc release 11056 TypeError: execv() arg 2 must contain only strings cips Herbert Valerio Riedel "==== How to Reproduce ==== While doing a GET operation on `/browser/Evaluation/Fragebögen`, Trac issued an internal error. When browsing my git sources, the system call to the git executable fails in `subprocess.py`, due to the Umlaut in the file name, which is passed as a parameter. This error first appeared when updating from Debian squeeze to Debian wheezy, which updated trac to version 0.12.3-1 and trac-git to version 0.12.0.5+722342e-1. I was able to avoid the exception by modifying PyGIT.py line 729 (`def get_historian(self, sha, base_path):`): original: {{{ sha, '--', base_path)] }}} modification: {{{ sha, '--', base_path.encode('utf-8'))] }}} Request parameters: {{{ {'path': u'/Evaluation/Frageb\xf6gen'} }}} User agent: `Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0` ==== System Information ==== || '''`Trac`''' || `0.12.3` || || '''`Babel`''' || `0.9.6` || || '''`Docutils`''' || `0.8.1` || || '''`Genshi`''' || `0.6` || || '''`GIT`''' || `1.7.10.4` || || '''`mod_python`''' || `3.3.1` || || '''`Pygments`''' || `1.5` || || '''`pysqlite`''' || `2.6.0` || || '''`Python`''' || `2.7.3 (default, Jan 2 2013, 17:14:22) ` [[br]] `[GCC 4.7.2]` || || '''`pytz`''' || `2012c` || || '''`setuptools`''' || `0.6` || || '''`SQLite`''' || `3.7.13` || || '''`Subversion`''' || `1.6.17 (r1128011)` || || '''`jQuery`''' || `1.7.2` || ==== Enabled Plugins ==== || '''`TracGit`''' || `0.12.0.5dev` || ==== Python Traceback ==== {{{ Traceback (most recent call last): File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 522, in _dispatch_request dispatcher.dispatch(req) File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 243, in dispatch resp = chosen_handler.process_request(req) File ""/usr/lib/python2.7/dist-packages/trac/versioncontrol/web_ui/browser.py"", line 390, in process_request dir_data = self._render_dir(req, repos, node, rev, order, desc) File ""/usr/lib/python2.7/dist-packages/trac/versioncontrol/web_ui/browser.py"", line 552, in _render_dir entries = [entry(n) for n in node.get_entries() File ""/usr/lib/python2.7/dist-packages/tracext/git/git_fs.py"", line 544, in get_entries yield GitNode(self.repos, ent[-1], self.rev, self.log, ent, historian) File ""/usr/lib/python2.7/dist-packages/tracext/git/git_fs.py"", line 496, in __init__ rev = repos.git.last_change(rev, p, historian) File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 767, in last_change return historian(path) File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 757, in historian return gen.next() File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 728, in name_status_gen sha, '--', base_path)] File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 75, in log_pipe return self.__pipe('log', *cmd_args, stdout=PIPE) File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 57, in __pipe close_fds=True, **kw) File ""/usr/lib/python2.7/subprocess.py"", line 679, in __init__ errread, errwrite) File ""/usr/lib/python2.7/subprocess.py"", line 1259, in _execute_child raise child_exception TypeError: execv() arg 2 must contain only strings }}} " defect closed normal GitPlugin normal wontfix umlaute 0.12