Bug 226 - qemu binaries break after this commit : 940c2b470af70b40fc6506823cd9c43e9b621075
Summary: qemu binaries break after this commit : 940c2b470af70b40fc6506823cd9c43e9b621075
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 0.9
Hardware: x86 Multiple
: Medium normal
Target Milestone: 0.9 M4
Assignee: Mark Hatle
QA Contact:
URL:
Whiteboard:
: 292 339 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-08-25 09:22 UTC by Nitin Kamble
Modified: 2010-12-21 06:09 UTC (History)
6 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 Nitin Kamble 2010-08-25 09:22:24 UTC
qemu-mips & qemu-ppc binaries are crashing while building locales in the eglibc build process.
 RP commented, it's a possible caused by some issue in interaction between pseudo and qemu.


NOTE: PATH="/home/nitin/build/build-eglibc/tmp/sysroots/x86_64-linux/usr/bin/ppc603e-poky-linux:/home/nitin/build/build-eglibc/tmp/sysroots/ppc603e-poky-linux/usr/bin/crossscripts:/home/nitin/build/build-eglibc/tmp/sysroots/x86_64-linux/usr/sbin:/home/nitin/build/build-eglibc/tmp/sysroots/x86_64-linux/usr/bin:/home/nitin/build/build-eglibc/tmp/sysroots/x86_64-linux/sbin:/home/nitin/build/build-eglibc/tmp/sysroots/x86_64-linux//bin:/home/nitin/build/build-eglibc/tmp/sysroots/x86_64-linux/usr/bin/ppc603e-poky-linux:/home/nitin/build/build-eglibc/tmp/sysroots/ppc603e-poky-linux/usr/bin/crossscripts:/home/nitin/build/build-eglibc/tmp/sysroots/x86_64-linux/usr/sbin:/home/nitin/build/build-eglibc/tmp/sysroots/x86_64-linux/usr/bin:/home/nitin/build/build-eglibc/tmp/sysroots/x86_64-linux/sbin:/home/nitin/build/build-eglibc/tmp/sysroots/x86_64-linux//bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/nitin/prj/poky.git/bitbake/bin/:/home/nitin/bin:/home/nitin/prj/poky.git/scripts:/home/nitin/prj/poky.git/scripts" I18NPATH="/home/nitin/build/build-eglibc/tmp/work/ppc603e-poky-linux/eglibc-2.12-r2/locale-tree/usr/share/i18n" qemu-ppc -s 1048576 -r 2.4.0 -L /home/nitin/build/build-eglibc/tmp/work/ppc603e-poky-linux/eglibc-2.12-r2/locale-tree                      -E LD_LIBRARY_PATH=/home/nitin/build/build-eglibc/tmp/work/ppc603e-poky-linux/eglibc-2.12-r2/locale-tree/lib /home/nitin/build/build-eglibc/tmp/work/ppc603e-poky-linux/eglibc-2.12-r2/locale-tree/bin/localedef --force --old-style --no-archive --prefix=/home/nitin/build/build-eglibc/tmp/work/ppc603e-poky-linux/eglibc-2.12-r2/locale-tree                        --inputfile=/usr/share/i18n/locales/es_NI --charmap=UTF-8 es_NI^M
NOTE: stdout:^M
NOTE: ^M
NOTE: stderr:^M
NOTE: Invalid data memory access: 0xee341008^M
NIP 4010ae98   LR 4010ac50 CTR 00000000 XER 00000000^M
MSR 00006040 HID0 00000000  HF 00006000 idx 0^M
TB 00000000 00000000 ^M
GPR00 0000000000000006 00000000400fd7b8 0000000000000000 000000009a581010^M
GPR04 0000000000000030 0000000058480040 0000000058480017 0000000058480000^M
GPR08 0000000072060000 00000000000215db 00000000ffffffff 0000000072060000^M
GPR12 0000000040111094 0000000000000000 000000004012ff18 000000000000000d^M
GPR16 00000000ee340ff4 0000000042101010 0000000058480000 000000004012fd10^M
GPR20 0000000000000001 00000000400fd818 00000000400fdd90 0000000000000000^M
GPR24 00000000401310f8 00000000ffffffff 0000000042101000 000000007205ffff^M
GPR28 00000000ac23fff4 000000003902ffff 00000000401307ec 0000000042101000^M
CR 44044042  [ G  G  -  G  G  -  G  E  ]             RES ffffffff^M
FPR00 0000000000000000 0000000000000000 0000000000000000 0000000000000000^M
FPR04 0000000000000000 0000000000000000 0000000000000000 0000000000000000^M
FPR08 0000000000000000 0000000000000000 0000000000000000 0000000000000000^M
FPR12 0000000000000000 0000000000000000 0000000000000000 0000000000000000^M
FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000^M
FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000^M
FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000^M
FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000^M
FPSCR 00000000^M
^M
ERROR: Task failed: localedef returned an error^M
NOTE: package eglibc-2.12-r2: task do_package: Failed^M
ERROR: Task 387 (/home/nitin/prj/poky.git/meta/packages/eglibc/eglibc_2.12.bb, do_package) failed with 1^M
Comment 1 Nitin Kamble 2010-08-25 09:23:39 UTC
After doing "git bisect" found that the issue started with this commit.

$ git bisect good
940c2b470af70b40fc6506823cd9c43e9b621075 is the first bad commit
commit 940c2b470af70b40fc6506823cd9c43e9b621075
Author: Richard Purdie <rpurdie@linux.intel.com>
Date:   Thu Aug 19 22:41:00 2010 +0100

    Revert "base.bbclass: Temporarily disable fakeroot for install/package until other fixes get merged"
    
    This reverts commit 2225e1214285f0e9a3c0ee2962b3d678c5c05292 and reenables
    the functionality now its safe to do so.

:040000 040000 a0a3c2d3b2c8c0d05826f63429809f21197517ea 9083f4f0073acc105d60385f0d01f4605358ed00 M	meta
Comment 2 Nitin Kamble 2010-08-25 09:40:12 UTC
Adding comment which flew over the mailing list:

From RP:

Great, now I see the commit in question, this makes sense. It looks like pseudo
and qemu interacting badly together.

Mark: This looks like its a pseudo related problem, is there a way we can drop
the pseudo context to run a command?

It may also be worth experimenting with LD_LIBRARY_PATH to see if that can help
things at all...

Cheers,

Richard



From Mark:
To disable pseudo, while already running, you need to set: 
"PSEUDO_RELOADED=YES", and then exec something....

This will cause pseudo to disable itself from the LD_PRELOAD, and thus fall out
of memory on the exec.

It'd be interesting to know what the interaction is with pseudo.  In our
environment we don't run qemu with pseudo, but we do run the user-mode NFS
server.

--Mark
Comment 3 Nitin Kamble 2010-09-08 08:35:01 UTC
*** Bug 292 has been marked as a duplicate of this bug. ***
Comment 4 Dexuan Cui 2010-09-25 21:24:52 UTC
The following commit (which is already in poky's master) worked around the bug:

commit ec8924ac78f9c65beb90e15872d57fd1044ad835
Author: Nitin A Kamble <nitin.a.kamble@intel.com>
Date:   Wed Sep 8 12:30:19 2010 -0700

    libc-package.bbclass: fix qemu issue with pseudo

    This solution is what Mark Hatle recommended.

    To disable pseudo, while already running, you need to set:
    PSEUDO_RELOADED=YES, and then exec something...

    This causes pseudo to disable itself from LD_PRELOAD, and thus fall
    out of memory on the exec.

    This Fixes [BUGID #226]

    Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Comment 5 Dexuan Cui 2010-09-25 21:26:53 UTC
*** Bug 339 has been marked as a duplicate of this bug. ***
Comment 6 Saul Wold 2010-09-29 00:46:30 UTC
qemu was updated to fix this