“Collecting classes \’utf8′ codec can’t decode byte 0xa0 in position 12345” when using qooxdoo

By | September 18, 2011

If you are working with the qooxdoo Javascript framework (and you have a non-english Windows operating syste you are working on) then you might get an error message like this when trying to “build” your application with the command:

generate.py source

Collecting classes \'utf8' codec can't decode byte 0xa0 in position 12345

If you get this problem, then it probably is due to the fact that your standard temporary directory is somewhere in your user directory…and that might contain non-UTF8 characters. So you can modify your config.json file and insert the following in the top level ‘let’ block:

"TMPDIR" : "c:/temp"

That way you direct the builder to a temp dir which has a valid path.

Kommentare

Kommentare

3 thoughts on ““Collecting classes \’utf8′ codec can’t decode byte 0xa0 in position 12345” when using qooxdoo

  1. Thomas

    Hi,

    can you reproduce the issue while adding the “-s” option to generate.py and post the stack trace?! I would be interested where exactly the error occurs. Can you post which character(s) in the path name cause the issue? Which encoding do you use on your file system (cp1252)?

    1. Christian Post author

      I am using Eclipse as IDE and the entire project is configured to use UTF-8 encoding. I will give you a stack trace later when I am @home.

    2. Christian Post author

      Here is the trace:

      —————————————————————————-
      Executing: source::source-script
      —————————————————————————-
      >>> Scanning libraries
      >>> Collecting classes |Traceback (most recent call last):
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\bin\generator.py”,
      line 255, in
      main()
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\bin\generator.py”,
      line 238, in main
      generatorObj.run()
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\Ge
      nerator.py”, line 534, in run
      includeNoDeps, variantset, script=script, verifyDeps=True)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\Ge
      nerator.py”, line 201, in computeClassList
      classList = self._depLoader.getClassList(includeWithDeps, excludeWithDeps, i
      ncludeNoDeps, [], variants, verifyDeps, script)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 103, in getClassList
      result = resolveDepsSmartCludes()
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 77, in resolveDepsSmartCludes
      result = self.classlistFromInclude(includeWithDeps, excludeWithDeps, variant
      s, verifyDeps, script)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 290, in classlistFromInclude
      classlistFromClassRecursive(depsItem, excludeWithDeps, variants, result, war
      n_deps, [], allowBlockLoaddeps)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 180, in classlistFromClassRecursive
      classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
      _deps, loadDepsChain, allowBlockLoaddeps)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 180, in classlistFromClassRecursive
      classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
      _deps, loadDepsChain, allowBlockLoaddeps)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 194, in classlistFromClassRecursive
      classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
      _deps, [], allowBlockLoaddeps)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 194, in classlistFromClassRecursive
      classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
      _deps, [], allowBlockLoaddeps)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 180, in classlistFromClassRecursive
      classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
      _deps, loadDepsChain, allowBlockLoaddeps)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 180, in classlistFromClassRecursive
      classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
      _deps, loadDepsChain, allowBlockLoaddeps)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 180, in classlistFromClassRecursive
      classlistFromClassRecursive(subitem, excludeWithDeps, variants, result, warn
      _deps, loadDepsChain, allowBlockLoaddeps)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 151, in classlistFromClassRecursive
      deps, cached = self.getCombinedDeps(depsItem.name, variants, buildType, genP
      roxy=genProxyIter.next())
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\DependencyLoader.py”, line 369, in getCombinedDeps
      static, cached = classObj.dependencies (variants)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\clazz\MClassDependencies.py”, line 190, in dependencies
      deps = buildShallowDeps()
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\clazz\MClassDependencies.py”, line 93, in buildShallowDeps
      self._analyzeClassDepsNode(self.tree(variantSet), treeDeps, variantSet, inLo
      adContext=True)
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\co
      de\clazz\MClassCode.py”, line 64, in tree
      opttree, cacheMod = cache.read(cacheId, self.path, memory=tradeSpaceForSpeed
      )
      File “E:\Uni\Webprogrammierung\src\lib\qooxdoo-1.5-sdk\tool\pylib\generator\ru
      ntime\Cache.py”, line 277, in read
      content = pickle.load(fobj)
      UnicodeDecodeError: ‘utf8’ codec can’t decode byte 0xa0 in position 612730: inva
      lid start byte

Comments are closed.