Modify

Opened 3 years ago

Closed 3 years ago

#8855 closed defect (fixed)

TypeError: CreateProcess() argument 2 must be string without null bytes or None, not str

Reported by: anonymous Owned by: kisielk
Priority: normal Component: TracMathPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.12

Description

I encountered the TypeError in the summary when running Trac 0.13dev-r10696 on Win32 with Python 2.6.5.

I was able to resolve the problem by removing the use of shlex.split from latex_proc and dvipng_proc (lines ~152/162 of tracmath.py) - e.g. I used

latex_proc = Popen(cmd, stdout=PIPE, stderr=PIPE)
dvipng_proc = Popen(cmd, stdout=PIPE, stderr=PIPE)

...which seemed to work fine.

HTH,
Dave

TRACEBACK:
File "C:/dev/bin/Python26/lib/site-packages/trac/wiki/templates/wiki_view.html", line 60, in <Expression u'wiki_to_html(context, text)'>
  <div id="wikipage" py:content="wiki_to_html(context, text)" />
File "C:/dev/bin/Python26/lib/site-packages/trac/wiki/formatter.py", line 1515, in format_to_html
  return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
File "C:/dev/bin/Python26/lib/site-packages/trac/wiki/formatter.py", line 1470, in generate
  escape_newlines)
File "C:/dev/bin/Python26/lib/site-packages/trac/wiki/formatter.py", line 1218, in format
  self.handle_code_block(line, block_start_match)
File "C:/dev/bin/Python26/lib/site-packages/trac/wiki/formatter.py", line 1108, in handle_code_block
  processed = self.code_processor.process(code_text)
File "C:/dev/bin/Python26/lib/site-packages/trac/wiki/formatter.py", line 334, in process
  text = self.processor(text)
File "C:/dev/bin/Python26/lib/site-packages/trac/wiki/formatter.py", line 321, in _macro_processor
  text)
File "c:/www/trac/quantwiki/plugins/tracmath.py", line 89, in expand_macro
  return self._internal_render(formatter.req, name, content)
File "c:/www/trac/quantwiki/plugins/tracmath.py", line 153, in _internal_render
  latex_proc = Popen(shlex.split(cmd), stdout=PIPE, stderr=PIPE)
File "C:/dev/bin/Python26/Lib/subprocess.py", line 633, in __init__
  errread, errwrite)
File "C:/dev/bin/Python26/Lib/subprocess.py", line 842, in _execute_child
  startupinfo)


LOCAL VARIABLES:
File "c:/www/trac/quantwiki/plugins/tracmath.py", line 153, in _internal_render
  latex_proc = Popen(shlex.split(cmd), stdout=PIPE, stderr=PIPE)

PIPE 	-1
Popen 	<class 'subprocess.Popen'>
cmd 	u'C:\\dev\\bin\\MiKTeX2.8\\miktex\\bin\\latex.exe ...
content 	u'$\\mbox{Var}[\\tau(X_p,X_d)] = \\mbox{Var}[E(\\tau(X_p,X_d)|X_p)] ...
f 	<closed file ...
imgname 	'05f2f6cbc23e71791bba932f25e4b61677cdd3ab.png'
imgpath 	u'C:\\www\\trac\\QuantWiki\\htdocs\\math_cache\\05f2f6cbc23e71791bba932f25e ...
key 	'05f2f6cbc23e71791bba932f25e4b61677cdd3ab'
label 	None
line 	u''
m 	None
name 	u'latex'
req 	<Request "GET '/wiki/WikiStart'">
self 	<tracmath.TracMathPlugin object at 0x04354550>
sha1 	<built-in function openssl_sha1>
shlex 	<module 'shlex' from 'C:\dev\bin\Python26\Lib\shlex.pyc'>
texname 	'05f2f6cbc23e71791bba932f25e4b61677cdd3ab.tex'
texpath 	u'C:\\www\\trac\\QuantWiki\\htdocs\\math_cache\\05f2f6cbc23e71791bba932f25e ...


LOCAL VARIABLES:
File "C:/dev/bin/Python26/Lib/subprocess.py", line 633, in __init__
  errread, errwrite)
args 	['C\x00:\x00\x00d\x00e\x00v\x00\x00b\x00i\x00n\x00\x00M\x00i\x00K\x00T\x00e ...
bufsize 	0
c2pread 	<_subprocess_handle object at 0x04424E30>
c2pwrite 	<_subprocess_handle object at 0x04424590>
close_fds 	False
creationflags 	0
cwd 	None
env 	None
errread 	<_subprocess_handle object at 0x04424E60>
errwrite 	<_subprocess_handle object at 0x04424C90>
executable 	None
p2cread 	<_subprocess_handle object at 0x04424ED0>
p2cwrite 	None
preexec_fn 	None
self 	<subprocess.Popen object at 0x0463C670>
shell 	False
startupinfo 	None
stderr 	-1
stdin 	None
stdout 	-1
universal_newlines 	False


SYSTEM INFORMATION:
User Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 GTB7.1
Trac 	0.13dev-r10696
Docutils 	0.7
Genshi 	0.6
mod_wsgi 	3.3 (WSGIProcessGroup WSGIApplicationGroup %{GLOBAL})
Pygments 	1.3.1
pysqlite 	2.6.3
Python 	2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)]
pytz 	2010h
setuptools 	0.6c11
SQLite 	3.7.6.2
Subversion 	1.6.16 (r1073529)
jQuery	1.5.1

Attachments (0)

Change History (1)

comment:1 Changed 3 years ago by kisielk

  • Resolution set to fixed
  • Status changed from new to closed

I believe this is fixed in the 0.4 release of the plugin.

Add Comment

Modify Ticket

Action
as closed .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from kisielk. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.