[OE-core] [PATCH 1/6] glibc: Add recipes for 2.24 release
Trevor Woerner
twoerner at gmail.com
Tue Jul 5 14:56:14 UTC 2016
Hi Khem,
Sorry for the delay, I wanted to make absolutely sure of the statements in
this email so I started fresh and rebuilt everything from scratch a number of
times, stripped it down to the minimum, just to make sure I wasn't doing
something wrong with the things I'm doing in my normal builds. As you can
guess, building images (especially debug images) involving chromium can take a
while, not to mention I then need to download them from my build machine at
work to my home machine over a slow connection in order to run them... :-)
On Sun 2016-07-03 @ 08:02:04 AM, Khem Raj wrote:
> On Sun, Jul 3, 2016 at 6:45 AM, Trevor Woerner <twoerner at gmail.com> wrote:
> > I just finished a bisection task which implies this patch is the reason why
> > chromium crashes when run on x86_64 (minnow) with signal 4 ILL_ILLOPN. Note
> > that chromium compiles fine both before and after this patch, the problem is
> > when chromium is run.
> >
> > I'm not 100% how to move forward, at this point. Maybe the problem is caused
> > by the remove of the SSE patch?
> >
> > Any suggestions greatly appreciated! :-)
> >
> >
> > Received signal Received signal 44 ILL_ILLOPN ILL_ILLOPN 557b2cb6cc90557b2cb6cc90
>
> couple of ideas.
>
> compile the image with debug info so we can see the full stack trace
> with symbols.
Taking your advice, I installed the chromium -dbg package to my minnow board,
then I installed all the -dbg packages opkg said the chromium -dbg package
recommended (28 in total) and re-ran the browser. I saw a slight improvement
in the dump to:
root at intel-corei7-64:~/opkg# export DISPLAY=:0
root at intel-corei7-64:~/opkg# google-chrome
[808:808:0703/160711:ERROR:gl_implementation.cc(223)] Failed to load libGLESv2.so.2: libGLESv2.so.2: cannot open shared object file: No such file or directory
[808:808:0703/160712:ERROR:gpu_child_thread.cc(376)] Exiting GPU process due to errors during initialization
[780:800:0703/160712:ERROR:browser_gpu_channel_host_factory.cc(119)] Failed to launch GPU process.
[780:800:0703/160712:ERROR:browser_gpu_channel_host_factory.cc(119)] Failed to launch GPU process.
Received signal 4 ILL_ILLOPN 55f79db06c90
#0 0x55f7995a460e <unknown>
#1 0x55f7995a49d9 <unknown>
#2 0x7fa49806fe40 <unknown>
#3 0x55f79db06c90 <unknown>
#4 0x55f79a2b5580 <unknown>
#5 0x55f79a2b5d93 <unknown>
#6 0x55f79a2b3956 <unknown>
#7 0x55f79a2b41dc <unknown>
#8 0x55f79aa08c5d <unknown>
#9 0x55f79a9fd01e <unknown>
#10 0x55f79a9fdcf0 <unknown>
#11 0x55f79cb295fe <unknown>
#12 0x55f79cb2a321 <unknown>
#13 0x55f79cb1ea1b <unknown>
#14 0x55f79e03b172 <unknown>
#15 0x55f79a0cfd86 <unknown>
#16 0x55f79960e7fd <unknown>
#17 0x55f79e0a48ce <unknown>
#18 0x55f79e0a4ec4 <unknown>
#19 0x55f79960e7fd <unknown>
#20 0x55f7995c265b <unknown>
#21 0x55f7995c31dd <unknown>
#22 0x55f7995c34ab <unknown>
#23 0x55f7995c4da9 <unknown>
#24 0x55f7995db3fa <unknown>
#25 0x55f7995c1495 <unknown>
#26 0x55f79cb40cd0 <unknown>
#27 0x55f7995739a1 <unknown>
#28 0x55f799573f3d <unknown>
#29 0x55f7995731d1 <unknown>
#30 0x55f79913cf9a ChromeMain
#31 0x7fa493637040 <unknown>
#32 0x55f79913cdfa _start
r8: 0000000000000000 r9: 0000000000000000 r10: 0000000000000000 r11: 0000000000000202
r12: 00001884ff4181e0 r13: 0000000000000004 r14: 00001884ff4181f8 r15: 000055f7a0ba0352
di: 0000134bf2101000 si: 000000000001e000 bp: 00001884ff464000 bx: 00001884ff418200
dx: 0000000000000008 ax: ffffffffffffffff cx: ffffffffffffff58 sp: 00007ffe64badc10
ip: 000055f79db06c90 efl: 0000000000010286 cgf: 0000000000000033 erf: 0000000000000000
trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
As you can see, I went from a dump where no symbols were known to one where
only one was known :-)
I then decided to build an image that included every -dbg package (by adding
"dbg-pkgs" to "EXTRA_IMAGE_FEATURES") and ran the resulting image only to end
up with the exact same trace as above; everything unknown except for one line
with ChromeMain, grrr. I wonder why that didn't work and how I could get it to
work better?
> secondly, see if it fails same way on qemux86-64 as well.
Good idea!
I created minimal, core-image-x11, builds for qemux86-64 and the problem is
demonstrated there as well.
I've attached my local.conf and my chromium recipe if anyone is interested in
seeing this same behaviour too.
At the last ELC I mentioned in the BoF that I was working on splitting the
chromium recipe into -x11 and -wayland parts so that the -x11 part could move
forward independently of the ozone patches. This is what I was working on when
I stumbled across this issue, so I wanted to clear this up before submitting
my chromium updates for review (and, hopefully, inclusion).
To make things easier, start with a simple poky build:
$ git clone git://git.yoctoproject.org/poky meta-poky
You'll need to add meta-openembedded/meta-oe (for ninja) and
meta-openembedded/meta-gnome (for gnome-keyring):
$ git clone git://git.openembedded.org/meta-openembedded
$ . meta-poky/oe-init-build-env
add the two meta-openembedded repositories to bblayers and
$ bitbake core-image-x11
Build Configuration:
BB_VERSION = "1.31.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "SUSELINUX-42.1"
TARGET_SYS = "x86_64-poky-linux"
MACHINE = "qemux86-64"
DISTRO = "poky"
DISTRO_VERSION = "2.1+snapshot-20160705"
TUNE_FEATURES = "m64 core2"
TARGET_FPU = ""
meta
meta-poky
meta-yocto-bsp = "master:5c11e365e19357f721c49d076971567e7b64b61b"
meta-oe
meta-gnome = "master:1cb7275961fd4bca3a6cb70e064ad6e6e1ff04d6"
Run the resulting image in qemu, then, at the console:
# export DISPLAY=:0
# google-chrome
...and you'll see the problem.
Start a second build, but before you do, in the meta-poky repository:
$ git checkout 9b25b35
This is the commit just before the "problem" commit. Rebuild, re-run... and
chromium starts and runs without issue.
> sse patch was upstreamed so technically its not removed.
Ah, ok thanks.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: chromium-53.tar.xz
Type: application/octet-stream
Size: 24144 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160705/a327b9d5/attachment-0002.obj>
-------------- next part --------------
MACHINE ?= "qemux86-64"
DISTRO ?= "poky"
DL_DIR ?= "/home/trevor/devel/Downloads"
# build data
INHERIT += "buildhistory"
INHERIT += "image-buildinfo"
INHERIT += "distrodata"
BUILDHISTORY_COMMIT = "1"
LICENSE_FLAGS_WHITELIST = "commercial"
CHROMIUM_BUILD_TYPE ?= "Release"
PACKAGECONFIG_pn-chromium-x11 ?= ""
IMAGE_FSTYPES_append = " vmdk"
# x11
CORE_IMAGE_EXTRA_INSTALL += " \
chromium-x11 \
"
# package_rpm, package_deb, package_ipk
PACKAGE_CLASSES ?= "package_ipk"
# dbg-pkgs, dev-pkgs, ptest-pkgs, tools-sdk, tools-debug, eclipse-debug, tools-profile, tools-testapps, debug-tweaks
#EXTRA_IMAGE_FEATURES = "debug-tweaks tools-debug tools-profile dbg-pkgs"
EXTRA_IMAGE_FEATURES = "debug-tweaks"
# buildstats, image-mklibs, image-prelink, image-swab
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
# user, noop
PATCHRESOLVE = "noop"
# auto, gnome, xfce, rxvt, screen, konsole, none
OE_TERMINAL = "auto"
# contents of ~/local/bin/oeshell.sh: /bin/bash --rcfile $HOME/.bashrc.oe
#OE_TERMINAL = "custom"
#OE_TERMINAL_CUSTOMCMD = "/usr/bin/xterm -e $HOME/local/bin/oeshell.sh"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
ASSUME_PROVIDED += "libsdl-native"
CONF_VERSION = "1"
-------------- next part --------------
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/z/chromium-qemux86-64/meta-poky/meta \
/z/chromium-qemux86-64/meta-poky/meta-poky \
/z/chromium-qemux86-64/meta-poky/meta-yocto-bsp \
/z/chromium-qemux86-64/meta-openembedded/meta-oe \
/z/chromium-qemux86-64/meta-openembedded/meta-gnome \
"
More information about the Openembedded-core
mailing list