Mercurial > public > ostc4
annotate Documentations/hwos4_interface_v16.pdf @ 1040:74be24428049 GasConsumption
Bugfix Fontpack update for large blocks:
The update of a font pack with a size > 768000 byte was interrupted and a manuel switch to bootloader had to be performed to get the font pack flashed. Rootcause was a missing address adjustment during the block read back function which caused a false error detection. Blocks > 768000 are read in two step while only one buffer is used for comparation. To fill the correct data into this buffer a dummy read of the flash data was added to get the data pointers to the correct offset. Another bug was regardings the read back itself where only the first byte was checked. After array indexing the complete buffer is noch verified.
--> -->
| <type 'exceptions.AttributeError'> | Python 2.7.17: /usr/bin/python Sat Dec 13 02:34:07 2025 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
| /var/www/vhosts/heinrichsweikamp.com/code/hgweb-public.cgi in <module>() |
| 15 |
| 16 from mercurial import demandimport; demandimport.enable() |
| 17 from mercurial.hgweb import hgweb, wsgicgi |
| 18 application = hgweb(config) |
| => 19 wsgicgi.launch(application) |
| wsgicgi = <module 'mercurial.hgweb.wsgicgi' from '/usr/lib...on2.7/dist-packages/mercurial/hgweb/wsgicgi.pyc'>, wsgicgi.launch = <function launch>, application = <mercurial.hgweb.hgwebdir_mod.hgwebdir object> |
| /usr/lib/python2.7/dist-packages/mercurial/hgweb/wsgicgi.py in launch(application=<mercurial.hgweb.hgwebdir_mod.hgwebdir object>) |
| 83 content = application(environ, start_response) |
| 84 try: |
| => 85 for chunk in content: |
| 86 write(chunk) |
| 87 if not headers_sent: |
| chunk = '/public/ostc4/rev/74be24428049">changeset</a></l...ay indexing the complete buffer is noch verified.', content = <generator object run_wsgi> |
| /usr/lib/python2.7/dist-packages/mercurial/hgweb/hgwebdir_mod.py in run_wsgi(self=<mercurial.hgweb.hgwebdir_mod.hgwebdir object>, req=<mercurial.hgweb.request.wsgirequest object>) |
| 227 with profiling.profile(self.ui, enabled=profile): |
| 228 try: |
| => 229 for r in self._runwsgi(req): |
| 230 yield r |
| 231 finally: |
| r = '/public/ostc4/rev/74be24428049">changeset</a></l...ay indexing the complete buffer is noch verified.', self = <mercurial.hgweb.hgwebdir_mod.hgwebdir object>, self._runwsgi = <bound method hgwebdir._runwsgi of <mercurial.hgweb.hgwebdir_mod.hgwebdir object>>, req = <mercurial.hgweb.request.wsgirequest object> |
| /usr/lib/python2.7/dist-packages/mercurial/hgweb/hgweb_mod.py in run_wsgi(self=<mercurial.hgweb.hgweb_mod.hgweb object>, req=<mercurial.hgweb.request.wsgirequest object>) |
| 316 profile = repo.ui.configbool('profiling', 'enabled') |
| 317 with profiling.profile(repo.ui, enabled=profile): |
| => 318 for r in self._runwsgi(req, repo): |
| 319 yield r |
| 320 |
| r = '/public/ostc4/rev/74be24428049">changeset</a></l...ay indexing the complete buffer is noch verified.', self = <mercurial.hgweb.hgweb_mod.hgweb object>, self._runwsgi = <bound method hgweb._runwsgi of <mercurial.hgweb.hgweb_mod.hgweb object>>, req = <mercurial.hgweb.request.wsgirequest object>, repo = <filteredrepo:served <mercurial.localrepo.localrepository object>> |
| /usr/lib/python2.7/dist-packages/mercurial/util.py in increasingchunks(source=<generator object _flatten>, min=4096, max=65536) |
| 1015 buf = [] |
| 1016 blen = 0 |
| => 1017 for chunk in source: |
| 1018 buf.append(chunk) |
| 1019 blen += len(chunk) |
| chunk = '">\n ', source = <generator object _flatten> |
| /usr/lib/python2.7/dist-packages/mercurial/templater.py in _flatten(thing=<generator object runtemplate>) |
| 1279 yield pycompat.bytestr(i) |
| 1280 else: |
| => 1281 for j in _flatten(i): |
| 1282 yield j |
| 1283 |
| j = '">\n<span>Ignore whitespace changes - </span>\n<sp..."ignorewseol-checkbox" type="checkbox" />\n</form>', global _flatten = <function _flatten>, i = <generator object runmap> |
| /usr/lib/python2.7/dist-packages/mercurial/templater.py in _flatten(thing=<generator object runmap>) |
| 1270 yield pycompat.bytestr(thing) |
| 1271 else: |
| => 1272 for i in thing: |
| 1273 i = templatekw.unwraphybrid(i) |
| 1274 if isinstance(i, bytes): |
| i undefined, thing = <generator object runmap> |
| /usr/lib/python2.7/dist-packages/mercurial/templater.py in runmap(context=<mercurial.templater.engine object>, mapping={'annotate': <function annotate>, 'author': 'Ideenmodellierer', 'bookmarks': [], 'branch': [{'name': 'GasConsumption'}], 'branches': [], 'child': <function <lambda>>, 'date': (1760381665.0, -7200), 'desc': 'Bugfix Fontpack update for large blocks:\nThe upd...ay indexing the complete buffer is noch verified.', 'diffopts': {'context': 3, 'git': False, 'ignoreblanklines': False, 'ignorews': False, 'ignorewsamount': False, 'ignorewseol': False, 'index': 0, 'nobinary': False, 'nodates': False, 'noprefix': False, ...}, 'extra': {'branch': 'GasConsumption'}, ...}, data=((<function runsymbol>, 'annotate'), (<function runtemplate>, [(<function runstring>, '\n<tr id="'), (<function runsymbol>, 'lineid'), (<function runstring>, '"'), (<function ifeq>, [(<function runsymbol>, 'node'), (<function runsymbol>, 'originalnode'), (<function runstring>, ' class="thisrev"')]), (<function runstring>, '>\n<td class="annotate parity'), (<function runsymbol>, 'blockparity'), (<function runstring>, '">\n'), (<function if_>, [(<function runsymbol>, 'blockhead'), (<function runtemplate>, [...])]), (<function runstring>, '\n<div class="annotate-info">\n<div>\n<a href="'), (<function runfilter>, ((<function runsymbol>, 'url'), <function urlescape>)), (<function runstring>, 'annotate/'), (<function runfilter>, ((<function runsymbol>, 'node'), <function short>)), (<function runstring>, '/'), (<function runfilter>, ((<function runsymbol>, 'file'), <function urlescape>)), (<function runmap>, ((<function runsymbol>, 'sessionvars'), (<function runtemplate>, [...]))), (<function runstring>, '#l'), (<function runsymbol>, 'targetline'), (<function runstring>, '">\n'), (<function runfilter>, ((<function runsymbol>, 'node'), <function short>)), (<function runstring>, '</a>\n'), ...]))) |
| 460 raise error.ParseError(_("%r is not iterable") % d) |
| 461 |
| => 462 for i, v in enumerate(diter): |
| 463 lm = mapping.copy() |
| 464 lm['index'] = i |
| i undefined, v undefined, builtin enumerate = <type 'enumerate'>, diter = <generator object annotate> |
| /usr/lib/python2.7/dist-packages/mercurial/hgweb/webcommands.py in annotate(**map={'annotate': <function annotate>, 'author': 'Ideenmodellierer', 'bookmarks': [], 'branch': [{'name': 'GasConsumption'}], 'branches': [], 'child': <function <lambda>>, 'date': (1760381665.0, -7200), 'desc': 'Bugfix Fontpack update for large blocks:\nThe upd...ay indexing the complete buffer is noch verified.', 'diffopts': {'context': 3, 'git': False, 'ignoreblanklines': False, 'ignorews': False, 'ignorewsamount': False, 'ignorewseol': False, 'index': 0, 'nobinary': False, 'nodates': False, 'noprefix': False, ...}, 'extra': {'branch': 'GasConsumption'}, ...}) |
| 907 blockparitygen = paritygen(1) |
| 908 for lineno, (aline, l) in enumerate(lines): |
| => 909 f = aline.fctx |
| 910 rev = f.rev() |
| 911 if rev != previousrev: |
| f undefined, aline = (<filectx Documentations/hwos4_interface_v16.pdf@d268fc2b6052>, 1), aline.fctx undefined |
<type 'exceptions.AttributeError'>: 'tuple' object has no attribute 'fctx'
args =
("'tuple' object has no attribute 'fctx'",)
message =
"'tuple' object has no attribute 'fctx'"
