[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