Bug 3092 - PR goes backwards with PR-server enabled
Summary: PR goes backwards with PR-server enabled
Status: RESOLVED WORKSFORME
Alias: None
Product: BitBake
Classification: Build System, Metadata & Runtime
Component: bitbake (show other bugs)
Version: 1.4
Hardware: All Multiple
: Medium+ critical
Target Milestone: 1.4
Assignee: Constantin Musca
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks: 3310
  Show dependency tree
 
Reported: 2012-09-11 17:50 UTC by Koen Kooi
Modified: 2012-12-05 13:24 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Koen Kooi 2012-09-11 17:50:02 UTC
Various recipes give errors like this:

ERROR: Package version for package gtk-printbackend-lpr went backwards which would break package feeds from (0:2.24.8-r5.2 to 0:2.24.8-r5.0)

All recipes seem to have a decimal PR
Comment 1 Richard Purdie 2012-09-27 14:59:15 UTC
PR service is now being targetted for 1.4, adapting bug for attention post release of 1.3.
Comment 2 Richard Purdie 2012-11-21 08:51:56 UTC
To see these warnings you need to have buildhistory enabled.
Comment 3 Richard Purdie 2012-11-22 10:50:54 UTC
Constantin is looking into this and it appears there is a serious bug in the way the comparisions are done with the PR being reset to zero too often.

The downside of the current implementation is that it will continue to increment the PR value for each build and will not reset it to zero when for example PV or PE change. An enhancement could be to track the base PE/PV/PR values and then when they increment, zero the PR.

The "decimal" PR value is expected since the auto PR is appended to the main recipe PR as an append.
Comment 4 Richard Purdie 2012-11-23 08:40:04 UTC
Constantine tested a server setup locally which I've seen working for this package. I also quickly setup something myself and can watch the package counters increasing.

We therefore really need further informaiton about how your setup was configured so we can try and figure out how it failed. For example:

* Did you switch accidently to a different PR server?
* Did the PR server database accientally get wiped?
* Did you use data from a sstate feed that was built using a different PR server?

I've asked Constantine to pull together some documentation about how PR server works but until we have a way to reproduce this failure we're a bit stuck.
Comment 5 Richard Purdie 2012-11-23 08:41:03 UTC
We need info to figure this out, updating status accordingly...
Comment 6 Koen Kooi 2012-11-23 09:52:10 UTC
I used the angstrom setup-scripts and added the following to local.conf:

PRSERV_HOST = "localhost"
PRSERV_PORT = "0"

No wiping of TMPDIR happened, but local.conf does have:

SSTATE_MIRRORS ?= "\
file://.* http://dominion.thruhere.net/angstrom/sstate-mirror/ \n "

So 'foreign' sstate might have crept in.
Comment 7 Richard Purdie 2012-11-23 15:50:34 UTC
Assuming you have only one builder (based on the fact you have one TMPDIR), the only way we can see this happening is from "corruption" from the existing sstate directory.

If sstate is used, all machines contibuting to the sstate pool need to share the same PR server.

Would you be able to retest things and see if the problem occurs without sstate complicating the equation (or using an sstate only generated from builds connected to the same PR server)?
Comment 8 Richard Purdie 2012-12-05 13:24:12 UTC
Please reopen if this can be reproduced or more details become available. The only explaination we can find for this is an sstate feed not synced with the PR service.