Ticket #43 (assigned defect)

Opened 3 months ago

Last modified 2 months ago

msgfmt_check doesn't work with files smaller than 1KByte (approx.)

Reported by: diegobz Owned by: diegobz
Priority: major Milestone:
Component: Core Version: devel
Keywords: msgfmt_check tx-subm-solved Cc:

Description

Whe we try to upload a file smaller than 1KByte we receive the following traceback:

Page handler: <bound method Module.preview of <transifex.module.Module object at 0xa997c2c>>
Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/CherryPy-2.3.0-py2.5.egg/cherrypy/_cphttptools.py", line 121, in _run
    self.main()
  File "/usr/lib/python2.5/site-packages/CherryPy-2.3.0-py2.5.egg/cherrypy/_cphttptools.py", line 264, in main
    body = page_handler(*virtual_path, **self.params)
  File "<string>", line 3, in preview
  File "/usr/lib/python2.5/site-packages/turbogears/controllers.py", line 202, in validate
    return errorhandling.run_with_errors(errors, func, *args, **kw)
  File "/usr/lib/python2.5/site-packages/turbogears/errorhandling.py", line 110, in run_with_errors
    return func(self, *args, **kw)
  File "<string>", line 3, in preview
  File "/usr/lib/python2.5/site-packages/turbogears/identity/conditions.py", line 242, in require
    return fn(self, *args, **kwargs)
  File "<string>", line 3, in preview
  File "/usr/lib/python2.5/site-packages/turbogears/controllers.py", line 365, in expose
    *args, **kw)
  File "<string>", line 5, in run_with_transaction
  File "/usr/lib/python2.5/site-packages/turbogears/database.py", line 405, in sa_rwt
    retval = func(*args, **kw)
  File "<string>", line 5, in _expose
  File "/usr/lib/python2.5/site-packages/turbogears/controllers.py", line 380, in <lambda>
    mapping, fragment, args, kw)))
  File "/usr/lib/python2.5/site-packages/turbogears/controllers.py", line 408, in _execute_func
    output = errorhandling.try_call(func, *args, **kw)
  File "/usr/lib/python2.5/site-packages/turbogears/errorhandling.py", line 72, in try_call
    return func(self, *args, **kw)
  File "/home/diegobz/Fedora/devel/tx/transifex/module.py", line 473, in preview
    msgfmt_check(local_file.file)
  File "/home/diegobz/Fedora/devel/tx/transifex/util.py", line 99, in msgfmt_check
    'stdin': file}):
  File "/home/diegobz/Fedora/devel/tx/transifex/util.py", line 140, in run_command
    ret = subprocess.call(command, **command_dict)
  File "/usr/lib/python2.5/subprocess.py", line 443, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.5/subprocess.py", line 586, in __init__
    errread, errwrite) = self._get_handles(stdin, stdout, stderr)
  File "/usr/lib/python2.5/subprocess.py", line 931, in _get_handles
    p2cread = stdin.fileno()
AttributeError: 'cStringIO.StringO' object has no attribute 'fileno'

It seems an upstream problem on the subprocess.py file.
Some extra information can be found here: http://trac.edgewall.org/ticket/4311


Change History

Changed 3 months ago by glezos

  • owner changed from Dimitris Glezos to glezos
  • status changed from new to assigned

We should use Python libraries to do all these stuff, which will also solve the problem.

A simple solution exists on Fedora's servers, which should be moved into the mainline (I can do that).

Changed 2 months ago by glezos

  • owner changed from glezos to diegobz

Changed 2 months ago by ctrochalakis

  • keywords tx-subm-solved added

This is solved in tx-subm (rev 451) by Diego, I am marking it as tx-subm-solved

Note: See TracTickets for help on using tickets.