On Thu, 2011-06-09 at 12:02 +0100, Phil Blundell wrote: > After I made a typo (mismatched quotes) in one of my recipes, my next > bitbake run printed: > > Loading cache: 100% > |#####################################################################################################################################################| > ETA: 00:00:00 > Loaded 1323 entries from dependency cache. > NOTE: Error expanding variable do_configure > > | ETA: --:--:-- > ERROR: Command execution failed: Traceback (most recent call > last):############################# > | ETA: 00:00:00 > File "/home/pb/oe/bitbake/lib/bb/command.py", line 99, in runAsyncCommand > self.cooker.updateCache() > File "/home/pb/oe/bitbake/lib/bb/cooker.py", line 871, in updateCache > if not self.parser.parse_next(): > File "/home/pb/oe/bitbake/lib/bb/cooker.py", line 1120, in parse_next > self.shutdown(clean=False) > File "/home/pb/oe/bitbake/lib/bb/cooker.py", line 1102, in shutdown > bb.codeparser.parser_cache_save(self.cfgdata) > File "/home/pb/oe/bitbake/lib/bb/codeparser.py", line 77, in > parser_cache_save > data, version = p.load() > EOFError > > So, this is (a) confusing, because "EOFError" doesn't yield much > information about the actual cause of the problem; (b) unhelpful, since > it doesn't mention which line of the file (or even which recipe) was to > blame; and (c) annoying, for the usual reasons to do with python > traceback. > > Somewhat worse, even after I fixed the typo, any subsequent attempt to > run bitbake would just result in: > > Loading cache: 100% > |#####################################################################################################################################################| > ETA: 00:00:00 > Loaded 1323 entries from dependency cache. > Traceback (most recent call last): > > | ETA: --:--:-- > File "/usr/lib/python2.6/multiprocessing/util.py", line 235, in > _run_finalizers > finalizer() > File "/usr/lib/python2.6/multiprocessing/util.py", line 174, in __call__ > res = self._callback(*self._args, **self._kwargs) > File "/home/pb/oe/bitbake/lib/bb/codeparser.py", line 77, in > parser_cache_save > data, version = p.load() > EOFError > > (repeated about 10 times) > > I deleted tmp/cache/* and that seemed to fix the problem.
FWIW, bitbake master has fixes for this specific issue and a number of other codeparser performance related issues. If it meets EOF while loading it will now just assume the cache file is corrupt and ignore/rebuild it. Cheers, Richard _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core