* What's this @ 2016-06-05 16:44 Gary Thomas 2016-06-07 16:02 ` Burton, Ross 0 siblings, 1 reply; 13+ messages in thread From: Gary Thomas @ 2016-06-05 16:44 UTC (permalink / raw) To: yocto@yoctoproject.org I just updated my Poky repo and did a rebuild and saw this "error" (although it carried on with the build): ERROR: base-files-3.0.14-r89 do_install: Taskhash mismatch ceb25febc6f11a5cc2b3c4a4b0b2c136 verses 44f498452dfce5875451bca66b230e31 for /local/poky-cutting-edge/meta/recipes-core/base-files/base-files_3.0.14.bb.do_install ERROR: Taskhash mismatch ceb25febc6f11a5cc2b3c4a4b0b2c136 verses 44f498452dfce5875451bca66b230e31 for /local/poky-cutting-edge/meta/recipes-core/base-files/base-files_3.0.14.bb.do_install What does this mean? Should I be worried? meta = "master:04319c0340010c4e0f78cab252cfcb0ebe23ee84" -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-05 16:44 What's this Gary Thomas @ 2016-06-07 16:02 ` Burton, Ross 2016-06-07 16:20 ` Burton, Ross 2016-06-07 16:24 ` Gary Thomas 0 siblings, 2 replies; 13+ messages in thread From: Burton, Ross @ 2016-06-07 16:02 UTC (permalink / raw) To: Gary Thomas; +Cc: yocto@yoctoproject.org [-- Attachment #1: Type: text/plain, Size: 987 bytes --] On 5 June 2016 at 17:44, Gary Thomas <gary@mlbassoc.com> wrote: > I just updated my Poky repo and did a rebuild and saw this "error" > (although it carried on with the build): > ERROR: base-files-3.0.14-r89 do_install: Taskhash mismatch > ceb25febc6f11a5cc2b3c4a4b0b2c136 verses 44f498452dfce5875451bca66b230e31 > for > /local/poky-cutting-edge/meta/recipes-core/base-files/base-files_3.0.14.bb.do_install > ERROR: Taskhash mismatch ceb25febc6f11a5cc2b3c4a4b0b2c136 verses > 44f498452dfce5875451bca66b230e31 for > /local/poky-cutting-edge/meta/recipes-core/base-files/base-files_3.0.14.bb.do_install > > What does this mean? Should I be worried? > It means the hash calculated my the bitbake master was different to the hash calculated when the worker started up. This usually means that you're using something like ${TIME} in the recipe but not marking it appropriatly so the cache ignores it. Do you have a base-files bbappend that writes a timestamp? Ross [-- Attachment #2: Type: text/html, Size: 1396 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-07 16:02 ` Burton, Ross @ 2016-06-07 16:20 ` Burton, Ross 2016-06-07 16:58 ` Gary Thomas 2016-06-07 21:24 ` Paul Eggleton 2016-06-07 16:24 ` Gary Thomas 1 sibling, 2 replies; 13+ messages in thread From: Burton, Ross @ 2016-06-07 16:20 UTC (permalink / raw) To: Gary Thomas; +Cc: yocto@yoctoproject.org [-- Attachment #1: Type: text/plain, Size: 704 bytes --] On 7 June 2016 at 17:02, Burton, Ross <ross.burton@intel.com> wrote: > It means the hash calculated my the bitbake master was different to the > hash calculated when the worker started up. This usually means that you're > using something like ${TIME} in the recipe but not marking it appropriatly > so the cache ignores it. Do you have a base-files bbappend that writes a > timestamp? > The always wise Joshua reminds me that if your DISTRO_VERSION contains ${DATETIME} then this happens. If you're doing this then you'll want to set [vardepsexclude] on DISTRO_VERSION to stop the DATETIME from getting into the cache (or not put the current date/time into the distro version). Ross [-- Attachment #2: Type: text/html, Size: 1064 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-07 16:20 ` Burton, Ross @ 2016-06-07 16:58 ` Gary Thomas 2016-06-07 21:29 ` Joshua G Lock 2016-06-07 21:24 ` Paul Eggleton 1 sibling, 1 reply; 13+ messages in thread From: Gary Thomas @ 2016-06-07 16:58 UTC (permalink / raw) To: Burton, Ross; +Cc: yocto@yoctoproject.org On 2016-06-07 18:20, Burton, Ross wrote: > > On 7 June 2016 at 17:02, Burton, Ross <ross.burton@intel.com <mailto:ross.burton@intel.com>> wrote: > > It means the hash calculated my the bitbake master was different to the hash calculated when the worker started up. > This usually means that you're using something like ${TIME} in the recipe but not marking it appropriatly so the > cache ignores it. Do you have a base-files bbappend that writes a timestamp? > > > The always wise Joshua reminds me that if your DISTRO_VERSION contains ${DATETIME} then this happens. If you're doing > this then you'll want to set [vardepsexclude] on DISTRO_VERSION to stop the DATETIME from getting into the cache (or not > put the current date/time into the distro version). > Ah, that's probably it. Exactly how do I set that exclusion? -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-07 16:58 ` Gary Thomas @ 2016-06-07 21:29 ` Joshua G Lock 0 siblings, 0 replies; 13+ messages in thread From: Joshua G Lock @ 2016-06-07 21:29 UTC (permalink / raw) To: Gary Thomas, Burton, Ross; +Cc: yocto@yoctoproject.org On Tue, 2016-06-07 at 18:58 +0200, Gary Thomas wrote: > On 2016-06-07 18:20, Burton, Ross wrote: > > > > On 7 June 2016 at 17:02, Burton, Ross <ross.burton@intel.com > > <mailto:ross.burton@intel.com>> wrote: > > > > It means the hash calculated my the bitbake master was > > different to the hash calculated when the worker started up. > > This usually means that you're using something like ${TIME} in > > the recipe but not marking it appropriatly so the > > cache ignores it. Do you have a base-files bbappend that > > writes a timestamp? > > > > > > The always wise Joshua reminds me that if your DISTRO_VERSION > > contains ${DATETIME} then this happens. If you're doing > > this then you'll want to set [vardepsexclude] on DISTRO_VERSION to > > stop the DATETIME from getting into the cache (or not > > put the current date/time into the distro version). > > > > Ah, that's probably it. Exactly how do I set that exclusion? Assuming DISTRO_VERSION includes DATETIME DISTRO_VERSION[vardepsexclude] = "DATETIME" see for example: http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta-poky/conf/dist ro/poky.conf#n14 Regards, Joshua ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-07 16:20 ` Burton, Ross 2016-06-07 16:58 ` Gary Thomas @ 2016-06-07 21:24 ` Paul Eggleton 2016-06-07 22:20 ` Richard Purdie 1 sibling, 1 reply; 13+ messages in thread From: Paul Eggleton @ 2016-06-07 21:24 UTC (permalink / raw) To: yocto; +Cc: Gary Thomas On Tue, 07 Jun 2016 17:20:12 Burton, Ross wrote: > On 7 June 2016 at 17:02, Burton, Ross <ross.burton@intel.com> wrote: > > It means the hash calculated my the bitbake master was different to the > > hash calculated when the worker started up. This usually means that > > you're > > using something like ${TIME} in the recipe but not marking it appropriatly > > so the cache ignores it. Do you have a base-files bbappend that writes a > > timestamp? > > The always wise Joshua reminds me that if your DISTRO_VERSION contains > ${DATETIME} then this happens. If you're doing this then you'll want to > set [vardepsexclude] on DISTRO_VERSION to stop the DATETIME from getting > into the cache (or not put the current date/time into the distro version). I think we need to handle this situation better - if it's really worth producing an error about then it's worth producing an error message that people can actually understand, particularly as it's recently added validation. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-07 21:24 ` Paul Eggleton @ 2016-06-07 22:20 ` Richard Purdie 2016-06-08 8:59 ` Paul Eggleton 2016-06-08 9:08 ` Mike Looijmans 0 siblings, 2 replies; 13+ messages in thread From: Richard Purdie @ 2016-06-07 22:20 UTC (permalink / raw) To: Paul Eggleton, yocto; +Cc: Gary Thomas On Wed, 2016-06-08 at 09:24 +1200, Paul Eggleton wrote: > On Tue, 07 Jun 2016 17:20:12 Burton, Ross wrote: > > On 7 June 2016 at 17:02, Burton, Ross <ross.burton@intel.com> > > wrote: > > > It means the hash calculated my the bitbake master was different > > > to the > > > hash calculated when the worker started up. This usually means > > > that > > > you're > > > using something like ${TIME} in the recipe but not marking it > > > appropriatly > > > so the cache ignores it. Do you have a base-files bbappend that > > > writes a > > > timestamp? > > > > The always wise Joshua reminds me that if your DISTRO_VERSION > > contains > > ${DATETIME} then this happens. If you're doing this then you'll > > want to > > set [vardepsexclude] on DISTRO_VERSION to stop the DATETIME from > > getting > > into the cache (or not put the current date/time into the distro > > version). > > I think we need to handle this situation better - if it's really > worth > producing an error about then it's worth producing an error message > that > people can actually understand, particularly as it's recently added > validation. It was silently running into problems due to this all along but not reporting it. Its now reporting it which is better than silently things behaving strangely. Its very hard for bitbake to know why the hashes differ, it only knows the values afterwards and hence that they've changed, the information about how that hash was constructed is not present in any of bitbake's caches. That implies to have better messages we need to write out more data. I did add a patch to make bitbake write out data to allow reconstruction of basehash (which is part of taskhash). Sadly the parsing performance was diabolical (10 times slower). I think that could perhaps be improved if the files don't require an atomic move during creation but I haven't had time to look further at it. So whilst I do agree, what is the price people are willing to pay to have those better messages? Cheers, Richard ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-07 22:20 ` Richard Purdie @ 2016-06-08 8:59 ` Paul Eggleton 2016-06-08 11:30 ` Richard Purdie 2016-06-08 9:08 ` Mike Looijmans 1 sibling, 1 reply; 13+ messages in thread From: Paul Eggleton @ 2016-06-08 8:59 UTC (permalink / raw) To: Richard Purdie; +Cc: yocto, Gary Thomas On Tue, 07 Jun 2016 23:20:26 Richard Purdie wrote: > On Wed, 2016-06-08 at 09:24 +1200, Paul Eggleton wrote: > > On Tue, 07 Jun 2016 17:20:12 Burton, Ross wrote: > > > On 7 June 2016 at 17:02, Burton, Ross <ross.burton@intel.com> > > > wrote: > > > > It means the hash calculated my the bitbake master was different > > > > to the hash calculated when the worker started up. This usually means > > > > that you're using something like ${TIME} in the recipe but not marking > > > > it appropriatly so the cache ignores it. Do you have a base-files > > > > bbappend that writes a timestamp? > > > > > > The always wise Joshua reminds me that if your DISTRO_VERSION > > > contains ${DATETIME} then this happens. If you're doing this then > > > you'll want to set [vardepsexclude] on DISTRO_VERSION to stop the > > > DATETIME from getting into the cache (or not put the current date/time > > > into the distro version). > > > > I think we need to handle this situation better - if it's really > > worth producing an error about then it's worth producing an error message > > that people can actually understand, particularly as it's recently added > > validation. > > It was silently running into problems due to this all along but not > reporting it. Its now reporting it which is better than silently things > behaving strangely. What are the actual consequences in a situation like this where we have something like ${DATETIME} in another variable referenced by the task? I haven't looked at all of the code involved (and that's probably the root of my problem) but I don't quite understand how this is coming about. DATE and TIME are supposed to be determined at the start of the build and explicitly passed to the worker, so they don't change during the build. What am I missing? > Its very hard for bitbake to know why the hashes differ, it only knows > the values afterwards and hence that they've changed, the information > about how that hash was constructed is not present in any of bitbake's > caches. That implies to have better messages we need to write out more > data. > > I did add a patch to make bitbake write out data to allow > reconstruction of basehash (which is part of taskhash). Sadly the > parsing performance was diabolical (10 times slower). I think that > could perhaps be improved if the files don't require an atomic move > during creation but I haven't had time to look further at it. > > So whilst I do agree, what is the price people are willing to pay to > have those better messages? Clearly a 10x slowdown is unacceptable, hopefully we can find another way of dealing with this. I guess if we're able to do nothing else a brief explanation of what to look for (i.e. variables that might change with time) in the error message would be helpful, but I hope we can do better than that. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-08 8:59 ` Paul Eggleton @ 2016-06-08 11:30 ` Richard Purdie 0 siblings, 0 replies; 13+ messages in thread From: Richard Purdie @ 2016-06-08 11:30 UTC (permalink / raw) To: Paul Eggleton; +Cc: yocto, Gary Thomas On Wed, 2016-06-08 at 20:59 +1200, Paul Eggleton wrote: > On Tue, 07 Jun 2016 23:20:26 Richard Purdie wrote: > > On Wed, 2016-06-08 at 09:24 +1200, Paul Eggleton wrote: > > > On Tue, 07 Jun 2016 17:20:12 Burton, Ross wrote: > > > > On 7 June 2016 at 17:02, Burton, Ross <ross.burton@intel.com> > > > > wrote: > > > > > It means the hash calculated my the bitbake master was > > > > > different > > > > > to the hash calculated when the worker started up. This > > > > > usually means > > > > > that you're using something like ${TIME} in the recipe but > > > > > not marking > > > > > it appropriatly so the cache ignores it. Do you have a base > > > > > -files > > > > > bbappend that writes a timestamp? > > > > > > > > The always wise Joshua reminds me that if your DISTRO_VERSION > > > > contains ${DATETIME} then this happens. If you're doing this > > > > then > > > > you'll want to set [vardepsexclude] on DISTRO_VERSION to stop > > > > the > > > > DATETIME from getting into the cache (or not put the current > > > > date/time > > > > into the distro version). > > > > > > I think we need to handle this situation better - if it's really > > > worth producing an error about then it's worth producing an error > > > message > > > that people can actually understand, particularly as it's > > > recently added > > > validation. > > > > It was silently running into problems due to this all along but not > > reporting it. Its now reporting it which is better than silently > > things > > behaving strangely. > > What are the actual consequences in a situation like this where we > have something like ${DATETIME} in another variable referenced by the > task? A mismatch means the cached internal values bitbake is using on the cooker/server side don't match what the worker is actually doing. Its hard to say for sure exactly what impact that would have. If for example its in a do_build task, it means that some invalid data may be written out to the do_build sigdata file and confuse later build analysis based on those files. You can usually tell such a file by the fact its named with one hash name but when you compute the value from the entries in the file, you get a different hash. If its a more important task like do_install, it could mean something doesn't rerun when it should, or vice versa and the effect of a corrupt sidinfo/sigdata is more significant. With the changes to error in these cases, we get to know about cases of mismatch and we went and fixed the majority of causes of these. I believe those mismatches were in part at fault for things like diffsigs not working as expected in some cases. > I haven't looked at all of the code involved (and that's probably the > root of my problem) but I don't quite understand how this is coming > about. DATE and TIME are supposed to be determined at the start of > the build and explicitly passed to the worker, so they don't change > during the build. What am I missing? Bitbake computes the hashes at parse time and caches them. At run time, it then builds a new data store in the worker. These errors come about when the values in the cache from parsing don't match the runtime execution environment. > > Its very hard for bitbake to know why the hashes differ, it only > > knows > > the values afterwards and hence that they've changed, the > > information > > about how that hash was constructed is not present in any of > > bitbake's > > caches. That implies to have better messages we need to write out > > more > > data. > > > > I did add a patch to make bitbake write out data to allow > > reconstruction of basehash (which is part of taskhash). Sadly the > > parsing performance was diabolical (10 times slower). I think that > > could perhaps be improved if the files don't require an atomic move > > during creation but I haven't had time to look further at it. > > > > So whilst I do agree, what is the price people are willing to pay > > to > > have those better messages? > > Clearly a 10x slowdown is unacceptable, hopefully we can find another > way of > dealing with this. I guess if we're able to do nothing else a brief > explanation of what to look for (i.e. variables that might change > with time) > in the error message would be helpful, but I hope we can do better > than that. So do I, its a time problem on my part to look into it. As mentioned above, I believe this problem was meaning diffsigs was unreliable and it was having other unknown impact on builds rebuilding when they shouldn't or vice versa. I believe those are important to fix. We need better sstate hash debugging/telemetry but exactly how to do this without performance impact remains to be seen. I'm continue to think on it (along with too many other issues) but am open to ideas. Cheers, Richard ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-07 22:20 ` Richard Purdie 2016-06-08 8:59 ` Paul Eggleton @ 2016-06-08 9:08 ` Mike Looijmans 2016-06-08 9:18 ` Gary Thomas 1 sibling, 1 reply; 13+ messages in thread From: Mike Looijmans @ 2016-06-08 9:08 UTC (permalink / raw) To: Richard Purdie, Paul Eggleton, yocto; +Cc: Gary Thomas On 08-06-16 00:20, Richard Purdie wrote: > On Wed, 2016-06-08 at 09:24 +1200, Paul Eggleton wrote: >> On Tue, 07 Jun 2016 17:20:12 Burton, Ross wrote: >>> On 7 June 2016 at 17:02, Burton, Ross <ross.burton@intel.com> >>> wrote: >>>> It means the hash calculated my the bitbake master was different >>>> to the >>>> hash calculated when the worker started up. This usually means >>>> that >>>> you're >>>> using something like ${TIME} in the recipe but not marking it >>>> appropriatly >>>> so the cache ignores it. Do you have a base-files bbappend that >>>> writes a >>>> timestamp? >>> >>> The always wise Joshua reminds me that if your DISTRO_VERSION >>> contains >>> ${DATETIME} then this happens. If you're doing this then you'll >>> want to >>> set [vardepsexclude] on DISTRO_VERSION to stop the DATETIME from >>> getting >>> into the cache (or not put the current date/time into the distro >>> version). >> >> I think we need to handle this situation better - if it's really >> worth >> producing an error about then it's worth producing an error message >> that >> people can actually understand, particularly as it's recently added >> validation. > > It was silently running into problems due to this all along but not > reporting it. Its now reporting it which is better than silently things > behaving strangely. > > Its very hard for bitbake to know why the hashes differ, it only knows > the values afterwards and hence that they've changed, the information > about how that hash was constructed is not present in any of bitbake's > caches. That implies to have better messages we need to write out more > data. > > I did add a patch to make bitbake write out data to allow > reconstruction of basehash (which is part of taskhash). Sadly the > parsing performance was diabolical (10 times slower). I think that > could perhaps be improved if the files don't require an atomic move > during creation but I haven't had time to look further at it. > > So whilst I do agree, what is the price people are willing to pay to > have those better messages? I have a build machine that every so often runs into "basehash mismatch" problems (but never when you want it to, such as now), so getting some information on what might cause it would be "priceless". I'd happily let the machine run for 10 days straight if at the end I get a message that I can work with. Which implies that any performance hit is acceptable, if there's a switch to enable and disable that extra diagnostic. Oh dear, just what we need, yet another switch... M. Kind regards, Mike Looijmans System Expert TOPIC Embedded Products Eindhovenseweg 32-C, NL-5683 KH Best Postbus 440, NL-5680 AK Best Telefoon: +31 (0) 499 33 69 79 E-mail: mike.looijmans@topicproducts.com Website: www.topicproducts.com Please consider the environment before printing this e-mail ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-08 9:08 ` Mike Looijmans @ 2016-06-08 9:18 ` Gary Thomas 2016-06-08 11:59 ` Julien Gueytat 0 siblings, 1 reply; 13+ messages in thread From: Gary Thomas @ 2016-06-08 9:18 UTC (permalink / raw) To: Mike Looijmans, Richard Purdie, Paul Eggleton, yocto On 2016-06-08 11:08, Mike Looijmans wrote: > On 08-06-16 00:20, Richard Purdie wrote: >> On Wed, 2016-06-08 at 09:24 +1200, Paul Eggleton wrote: >>> On Tue, 07 Jun 2016 17:20:12 Burton, Ross wrote: >>>> On 7 June 2016 at 17:02, Burton, Ross <ross.burton@intel.com> >>>> wrote: >>>>> It means the hash calculated my the bitbake master was different >>>>> to the >>>>> hash calculated when the worker started up. This usually means >>>>> that >>>>> you're >>>>> using something like ${TIME} in the recipe but not marking it >>>>> appropriatly >>>>> so the cache ignores it. Do you have a base-files bbappend that >>>>> writes a >>>>> timestamp? >>>> >>>> The always wise Joshua reminds me that if your DISTRO_VERSION >>>> contains >>>> ${DATETIME} then this happens. If you're doing this then you'll >>>> want to >>>> set [vardepsexclude] on DISTRO_VERSION to stop the DATETIME from >>>> getting >>>> into the cache (or not put the current date/time into the distro >>>> version). >>> >>> I think we need to handle this situation better - if it's really >>> worth >>> producing an error about then it's worth producing an error message >>> that >>> people can actually understand, particularly as it's recently added >>> validation. >> >> It was silently running into problems due to this all along but not >> reporting it. Its now reporting it which is better than silently things >> behaving strangely. >> >> Its very hard for bitbake to know why the hashes differ, it only knows >> the values afterwards and hence that they've changed, the information >> about how that hash was constructed is not present in any of bitbake's >> caches. That implies to have better messages we need to write out more >> data. >> >> I did add a patch to make bitbake write out data to allow >> reconstruction of basehash (which is part of taskhash). Sadly the >> parsing performance was diabolical (10 times slower). I think that >> could perhaps be improved if the files don't require an atomic move >> during creation but I haven't had time to look further at it. >> >> So whilst I do agree, what is the price people are willing to pay to >> have those better messages? > > I have a build machine that every so often runs into "basehash mismatch" problems (but never when you want it to, such > as now), so getting some information on what might cause it would be "priceless". I'd happily let the machine run for 10 > days straight if at the end I get a message that I can work with. > > Which implies that any performance hit is acceptable, if there's a switch to enable and disable that extra diagnostic. > Oh dear, just what we need, yet another switch... > I wonder if it could be something as simple as an NTP time update which happens periodically on my build machine? Since I've only ever seen this message _once_ after literally thousands of builds, it is a rare bird indeed! -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-08 9:18 ` Gary Thomas @ 2016-06-08 11:59 ` Julien Gueytat 0 siblings, 0 replies; 13+ messages in thread From: Julien Gueytat @ 2016-06-08 11:59 UTC (permalink / raw) To: yocto I got that taskhash mismatch too and much more often than once per million. ;) I'm quite happy that you're discussing it here as I did not know what it was. Re-running the task a second time in a row makes the warning disappearing. Regards, Le 08/06/2016 11:18, Gary Thomas a écrit : > On 2016-06-08 11:08, Mike Looijmans wrote: >> On 08-06-16 00:20, Richard Purdie wrote: >>> On Wed, 2016-06-08 at 09:24 +1200, Paul Eggleton wrote: >>>> On Tue, 07 Jun 2016 17:20:12 Burton, Ross wrote: >>>>> On 7 June 2016 at 17:02, Burton, Ross <ross.burton@intel.com> >>>>> wrote: >>>>>> It means the hash calculated my the bitbake master was different >>>>>> to the >>>>>> hash calculated when the worker started up. This usually means >>>>>> that >>>>>> you're >>>>>> using something like ${TIME} in the recipe but not marking it >>>>>> appropriatly >>>>>> so the cache ignores it. Do you have a base-files bbappend that >>>>>> writes a >>>>>> timestamp? >>>>> >>>>> The always wise Joshua reminds me that if your DISTRO_VERSION >>>>> contains >>>>> ${DATETIME} then this happens. If you're doing this then you'll >>>>> want to >>>>> set [vardepsexclude] on DISTRO_VERSION to stop the DATETIME from >>>>> getting >>>>> into the cache (or not put the current date/time into the distro >>>>> version). >>>> >>>> I think we need to handle this situation better - if it's really >>>> worth >>>> producing an error about then it's worth producing an error message >>>> that >>>> people can actually understand, particularly as it's recently added >>>> validation. >>> >>> It was silently running into problems due to this all along but not >>> reporting it. Its now reporting it which is better than silently things >>> behaving strangely. >>> >>> Its very hard for bitbake to know why the hashes differ, it only knows >>> the values afterwards and hence that they've changed, the information >>> about how that hash was constructed is not present in any of bitbake's >>> caches. That implies to have better messages we need to write out more >>> data. >>> >>> I did add a patch to make bitbake write out data to allow >>> reconstruction of basehash (which is part of taskhash). Sadly the >>> parsing performance was diabolical (10 times slower). I think that >>> could perhaps be improved if the files don't require an atomic move >>> during creation but I haven't had time to look further at it. >>> >>> So whilst I do agree, what is the price people are willing to pay to >>> have those better messages? >> >> I have a build machine that every so often runs into "basehash >> mismatch" problems (but never when you want it to, such >> as now), so getting some information on what might cause it would be >> "priceless". I'd happily let the machine run for 10 >> days straight if at the end I get a message that I can work with. >> >> Which implies that any performance hit is acceptable, if there's a >> switch to enable and disable that extra diagnostic. >> Oh dear, just what we need, yet another switch... >> > > I wonder if it could be something as simple as an NTP time update > which happens periodically on my build machine? Since I've only > ever seen this message _once_ after literally thousands of builds, > it is a rare bird indeed! > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What's this 2016-06-07 16:02 ` Burton, Ross 2016-06-07 16:20 ` Burton, Ross @ 2016-06-07 16:24 ` Gary Thomas 1 sibling, 0 replies; 13+ messages in thread From: Gary Thomas @ 2016-06-07 16:24 UTC (permalink / raw) To: yocto On 2016-06-07 18:02, Burton, Ross wrote: > > On 5 June 2016 at 17:44, Gary Thomas <gary@mlbassoc.com <mailto:gary@mlbassoc.com>> wrote: > > I just updated my Poky repo and did a rebuild and saw this "error" > (although it carried on with the build): > ERROR: base-files-3.0.14-r89 do_install: Taskhash mismatch ceb25febc6f11a5cc2b3c4a4b0b2c136 verses > 44f498452dfce5875451bca66b230e31 for > /local/poky-cutting-edge/meta/recipes-core/base-files/base-files_3.0.14.bb.do_install > ERROR: Taskhash mismatch ceb25febc6f11a5cc2b3c4a4b0b2c136 verses 44f498452dfce5875451bca66b230e31 for > /local/poky-cutting-edge/meta/recipes-core/base-files/base-files_3.0.14.bb.do_install > > What does this mean? Should I be worried? > > > It means the hash calculated my the bitbake master was different to the hash calculated when the worker started up. > This usually means that you're using something like ${TIME} in the recipe but not marking it appropriatly so the cache > ignores it. Do you have a base-files bbappend that writes a timestamp? Sorry, nothing like that in my layers. Note: this only happened once, immediately after a poky pull and the builds have been happy since. Whatever it was only happened that one time (not that that should be any less concerning...) -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2016-06-08 14:35 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-06-05 16:44 What's this Gary Thomas 2016-06-07 16:02 ` Burton, Ross 2016-06-07 16:20 ` Burton, Ross 2016-06-07 16:58 ` Gary Thomas 2016-06-07 21:29 ` Joshua G Lock 2016-06-07 21:24 ` Paul Eggleton 2016-06-07 22:20 ` Richard Purdie 2016-06-08 8:59 ` Paul Eggleton 2016-06-08 11:30 ` Richard Purdie 2016-06-08 9:08 ` Mike Looijmans 2016-06-08 9:18 ` Gary Thomas 2016-06-08 11:59 ` Julien Gueytat 2016-06-07 16:24 ` Gary Thomas
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.