| Summary: | createrepo failing with assertion in do_package_index | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Paul Eggleton <bluelightning> | ||||
| Component: | core | Assignee: | Robert Yang <liezhi.yang> | ||||
| Status: | VERIFIED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | High | CC: | elizabeth.flanagan, liang.li2, liezhi.yang, meta.mr.watcher, meta.watcher, msm-oss, ross.burton, sgw, song.liu, zhenfeng.zhao | ||||
| Version: | unspecified | ||||||
| Target Milestone: | 1.3 M3 | ||||||
| Hardware: | x86 | ||||||
| OS: | Multiple | ||||||
| See Also: | https://bugzilla.yoctoproject.org/show_bug.cgi?id=2852 | ||||||
| Whiteboard: | (Scheduled) (autobuilder)(QA Testing Completed)(Done) | ||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||
| Verified: | Documentation change: | --- | |||||
| Bug Depends on: | |||||||
| Bug Blocks: | 2800 | ||||||
| Attachments: |
|
||||||
|
Description
Paul Eggleton
2012-07-12 13:55:51 UTC
I found other errors, the creatrepo-native needs libxml2-native to run, but it doesn't depend on it. But I can't reproduce this error, while I looked into the code, the dbOpts needes the value defined in the rpm macro, and it is defined well, I'm not sure whether it has relations with the depends of libxml2-native, would you please show me the detailed reproduce steps, for example, which host , or I will send the pull request to fix the depends tomorrow. The first comment has a link to the autobuilder log. Many of the builders are seeing this. My patch to rpm was just attempted to skip building one object file. dbconvert.c. Maybe I messed up something in the automake foo? I thought this was a trivial change? -M This problem has been fixed. There is another one though... verified on : git info :87ffccb5dc184375e8807834e3b9b08ada708105 git branch: poky/master test env: host: ubuntu 12.04 x86_64 run "bitbake package-index": Loading cache: 100% |###########################################| ETA: 00:00:00 Loaded 1135 entries from dependency cache. Build Configuration: BB_VERSION = "1.15.3" TARGET_ARCH = "i586" TARGET_OS = "linux" MACHINE = "qemux86" DISTRO = "poky" DISTRO_VERSION = "1.2+snapshot-20120808" TUNE_FEATURES = "m32 i586" TARGET_FPU = "" meta meta-yocto = "master:87ffccb5dc184375e8807834e3b9b08ada708105" NOTE: Resolving any missing task queue dependencies NOTE: Preparing runqueue NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks ...... NOTE: Running task 211 of 216 (ID: 7, /buildarea1/tester/test_git/meta/recipes-core/meta/package-index.bb, do_package_index) NOTE: package package-index-1.0-r0: task do_populate_lic: Started NOTE: package package-index-1.0-r0: task do_package_index: Started NOTE: package package-index-1.0-r0: task do_populate_lic: Succeeded NOTE: Running noexec task 215 of 216 (ID: 8, /buildarea1/tester/test_git/meta/recipes-core/meta/package-index.bb, do_package_write) NOTE: package package-index-1.0-r0: task do_package_index: Succeeded NOTE: Running noexec task 216 of 216 (ID: 10, /buildarea1/tester/test_git/meta/recipes-core/meta/package-index.bb, do_build) NOTE: Tasks Summary: Attempted 216 tasks of which 209 didn't need to be rerun and all succeeded. -------------------- no such error when build. The bad news is that this was not fixed previously - it was an intermittent issue that only came up when sstate packages were used from another machine with a different build path. The good news is that it should be fixed now, by the following commit: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=d45bbc5c75a8f277fc1185a5f28847116eec376d (In reply to comment #6) > The bad news is that this was not fixed previously - it was an intermittent > issue that only came up when sstate packages were used from another machine > with a different build path. The good news is that it should be fixed now, > by the following commit: > > http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/ > ?id=d45bbc5c75a8f277fc1185a5f28847116eec376d would you explain this more clearly? under which condition the error still exists ? Sure, it will occur if you had built rpm on machine A, then on machine B that has a different TMPDIR path you build an image from scratch using the shared state package for rpm from machine A (to reproduce it easily, use all of the sstate-cache from machine A and the same build configuration, but a different TMPDIR path). The rpm libraries contain a hardcoded path to find the rpm macro files (usually etc/rpm under the native sysroot) and if these are not found by rpm when createrepo runs it, you will get the assertion in this bug report. The solution is to use a wrapper script that overrides these hardcoded paths at runtime for createrepo (using environment variables) as the commit above does. Created attachment 694 [details]
error do rootfs log
error log when run do_roofs task of "bitbake core-image-sato".
(In reply to comment #8) > Sure, it will occur if you had built rpm on machine A, then on machine B > that has a different TMPDIR path you build an image from scratch using the > shared state package for rpm from machine A (to reproduce it easily, use all > of the sstate-cache from machine A and the same build configuration, but a > different TMPDIR path). The rpm libraries contain a hardcoded path to find > the rpm macro files (usually etc/rpm under the native sysroot) and if these > are not found by rpm when createrepo runs it, you will get the assertion in > this bug report. The solution is to use a wrapper script that overrides > these hardcoded paths at runtime for createrepo (using environment > variables) as the commit above does. thanks, the error log is in attachment following your steps. That's an error from rpmresolve, not createrepo (i.e. this is reproducing bug #2936). You'd need to apply the fix for that bug before you'll have any chance of reproducing this one prior to the fix for it. (In reply to comment #11) > That's an error from rpmresolve, not createrepo (i.e. this is reproducing > bug #2936). You'd need to apply the fix for that bug before you'll have any > chance of reproducing this one prior to the fix for it. thanks,maybe will find the way to reproduce it sometimes later. the error log is similar to bug 2936 maybe like below (based on git commit 87ffccb5dc184375e8807834e3b9b08ada708105): "python: dbconfig.c:493: db3New: Assertion `dbOpts != ((void *)0) && *dbOpts != '\0'' failed." I tried the newest git branch to build core-image-sato image,no such error and image build success. git info: af847d36375aa53f0c1ee2a00c97ba9f38837d1b git branch: poky/master |