Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 315447 - www-client/chromium-5.0.375.3 and earlier segfaults when reaching a breakpoint inside inspector
Summary: www-client/chromium-5.0.375.3 and earlier segfaults when reaching a breakpoin...
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Bernard Cafarelli
URL: https://bugs.webkit.org/show_bug.cgi?...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-15 12:11 UTC by Julien Sanchez
Modified: 2010-05-26 13:49 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Chromium-5.0.375.9 ebuild with debug USE flag (chromium-5.0.375.9-r1.ebuild,6.55 KB, text/plain)
2010-04-21 08:21 UTC, Julien Sanchez
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Julien Sanchez archtester 2010-04-15 12:11:50 UTC
When setting a breakpoint in javascript code with the included web inspector and reaching it, page tab notifies the crash message.

Reproducible: Always

Steps to Reproduce:
1.Load any page with javascripts and set a breakpoint with the web inspector that will be reached later
2.Trigger the breakpoint

For example, load http://www.benjoffe.com/code/demos/canvascape/ and set a breakpoint at the first line of drawCanvas function() in code.js then try to move in the canvas demo.
Actual Results:  
The page tab crashes.

Expected Results:  
Web inspector stops at breakpoint without crashing chromium page process

Perhaps a problem with the amd64 arch?

Previous versions of chromium crashed too.

Portage 2.2_rc67 (default/linux/amd64/10.0/desktop/gnome, gcc-4.3.4, glibc-2.11-r1, 2.6.31-gentoo-r6 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.31-gentoo-r6-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.0.1
Timestamp of tree: Thu, 15 Apr 2010 06:00:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p5
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.5-r1, 3.1.2-r2
dev-python/pycrypto: 2.1.0
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.1-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1
sys-devel/gcc:       4.3.4
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 PUEL skype-eula"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages installsources news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/"
LANG="fr_FR.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en fr"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/sunrise /var/lib/layman/java-overlay /var/lib/layman/vmware /var/lib/layman/enlightenment /var/lib/layman/gentoo-nodejs /usr/local/portage/local"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb bluetooth branding bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr eds emboss encode evo exif fam ffmpeg firefox flac fortran gdbm gdu gif gnome gnome-keyring gpm gstreamer gtk hal iconv ipv6 jpeg lcms ldap libnotify mad mikmod mmx mng modules mono mp3 mp4 mpeg mudflap multilib nautilus ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd pulseaudio python qt3support qt4 readline reflection samba sdl session smp spell spl sse sse2 ssl startup-notification svg sysfs tcpd theora tiff truetype unicode usb v4l2 vorbis wav x264 xcb xinerama xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en fr" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

www-client/chromium-5.0.375.3 was built with the following:
USE="mp3 (multilib) plugins-symlink x264" 
CFLAGS="-O2 -pipe -march=native -ggdb -DGENTOO_CHROMIUM_MP3_ENABLED -DGENTOO_CHROMIUM_H264_ENABLED"

----------
gdb backtrace (gdb --args /usr/lib64/chromium-browser/chrome  --single-process)
----------

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffdf7fe710 (LWP 28061)]
JavaScriptFrameIteratorTemp (args=...) at v8/src/frames-inl.h:187
187	    if (frame()->id() == id) return;
(gdb) bt
#0  JavaScriptFrameIteratorTemp (args=...) at v8/src/frames-inl.h:187
#1  Runtime_GetScopeCount (args=...) at v8/src/runtime.cc:8607
#2  0x00007fffac00016a in ?? ()
#3  0x00007fffcc364939 in ?? ()
#4  0x00007fffac000101 in ?? ()
#5  0x00007fffdf7fc1c0 in ?? ()
#6  0x00007fffdf7fc208 in ?? ()
#7  0x00007fffac3ac7f4 in ?? ()
#8  0x0000000000000000 in ?? ()
(gdb)
Comment 1 Julien Sanchez archtester 2010-04-15 12:13:24 UTC
I tried also with a 32 bit ubuntu machine and the crash does not occur.
Comment 2 Julien Sanchez archtester 2010-04-16 14:29:09 UTC
No crash on an 64-bit ubuntu... => not a 64bit specific problem?

Could someone confirm the crash?
Comment 3 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-04-20 07:50:46 UTC
I can't reproduce with www-client/chromium-5.0.375.9.
Comment 4 Julien Sanchez archtester 2010-04-20 11:55:38 UTC
(In reply to comment #3)
> I can't reproduce with www-client/chromium-5.0.375.9.
> 
Thanks Pawel but I've just made a test with chromium-5.0.375.9 with a totally new profile (~/.config/chromium deleted) => same crash and backtrace...

What is your arch? (mine is amd64). Perhaps a problem of locale? (fr_FR.UTF8 for me)
Should I try to report this bug upstream whereas I have not been able to reproduce this proble on an ubuntu 64 machine?
Comment 5 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-04-20 14:37:12 UTC
It would be nice to get a good backtrace. You'd need one for upstream anyway, especially that the issue isn't straightforward to reproduce. Could you rebuild your entire system with the debug settings? (make sure that -ggdb is in CFLAGS and splitdebug is in FEATURES, just like in your first report). Then the entire backtrace should be symbolized.
Comment 6 Julien Sanchez archtester 2010-04-20 19:46:07 UTC
(In reply to comment #5)
> It would be nice to get a good backtrace. You'd need one for upstream anyway,
> especially that the issue isn't straightforward to reproduce. Could you rebuild
> your entire system with the debug settings? (make sure that -ggdb is in CFLAGS
> and splitdebug is in FEATURES, just like in your first report). Then the entire
> backtrace should be symbolized.
> 

Pawel, I have all this settings in my make.conf for a long time and I don't understand why the backtrace is not more precise. Nevertheless, I'm going to investigate, rebuild the system and report this crash upstream.
Comment 7 Julien Sanchez archtester 2010-04-20 20:36:08 UTC
Is it possible that the compilation system of chromium does additional stripping?
See http://codereview.chromium.org/524015

Perhaps a debug USE flag could be added to the ebuild?
Comment 8 Julien Sanchez archtester 2010-04-21 08:21:56 UTC
Created attachment 228587 [details]
Chromium-5.0.375.9 ebuild with debug USE flag

I'm trying to make an ebuild with debug USE flag but it failed with the following output:

x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,-O1 -pthread -Wl,-z,noexecstack -Lout/Debug -rdynamic -o out/Debug/chrome -Wl,--start-group out/Debug/obj.target/chrome/chrome/app/chrome_dll_main.o out/Debug/obj.target/chrome/chrome/app/chrome_exe_main_gtk.o out/Debug/obj.target/chrome/libcommon.a out/Debug/obj.target/chrome/libbrowser.a out/Debug/obj.target/chrome/libdebugger.a out/Debug/obj.target/chrome/libchrome_gpu.a out/Debug/obj.target/chrome/librenderer.a out/Debug/obj.target/chrome/libsyncapi.a out/Debug/obj.target/chrome/libutility.a out/Debug/obj.target/chrome/libprofile_import.a out/Debug/obj.target/chrome/libworker.a out/Debug/obj.target/printing/libprinting.a out/Debug/obj.target/chrome/installer/libinstaller_util.a out/Debug/obj.target/sandbox/libsandbox.a out/Debug/obj.target/chrome/libcommon_constants.a out/Debug/obj.target/base/libbase.a out/Debug/obj.target/third_party/modp_b64/libmodp_b64.a out/Debug/obj.target/net/third_party/nss/libssl.a out/Debug/obj.target/third_party/zlib/libzlib.a out/Debug/obj.target/base/libsymbolize.a out/Debug/obj.target/base/libxdg_mime.a out/Debug/obj.target/app/libapp_base.a out/Debug/obj.target/base/libbase_i18n.a out/Debug/obj.target/third_party/icu/libicui18n.a out/Debug/obj.target/third_party/icu/libicuuc.a out/Debug/obj.target/third_party/icu/libicudata.a out/Debug/obj.target/gfx/libgfx.a out/Debug/obj.target/skia/libskia.a out/Debug/obj.target/skia/libskia_opts.a out/Debug/obj.target/third_party/harfbuzz/libharfbuzz.a out/Debug/obj.target/third_party/harfbuzz/libharfbuzz_interface.a out/Debug/obj.target/third_party/sqlite/libsqlite3.a out/Debug/obj.target/net/libnet.a out/Debug/obj.target/build/temp_gyp/libgoogleurl.a out/Debug/obj.target/sdch/libsdch.a out/Debug/obj.target/net/libnet_base.a out/Debug/obj.target/v8/tools/gyp/libv8_nosnapshot.a out/Debug/obj.target/v8/tools/gyp/libv8_base.a out/Debug/obj.target/ipc/libipc.a out/Debug/obj.target/webkit/libappcache.a out/Debug/obj.target/webkit/libglue.a out/Debug/obj.target/third_party/WebKit/WebKit/chromium/libwebkit.a out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore.a out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore_bindings.a out/Debug/obj.target/third_party/WebKit/JavaScriptCore/JavaScriptCore.gyp/libpcre.a out/Debug/obj.target/third_party/WebKit/JavaScriptCore/JavaScriptCore.gyp/libwtf.a out/Debug/obj.target/third_party/ots/libots.a out/Debug/obj.target/base/liblinux_versioninfo.a out/Debug/obj.target/gpu/libgpu_plugin.a out/Debug/obj.target/gpu/libcommand_buffer_service.a out/Debug/obj.target/gpu/libcommand_buffer_service_impl.a out/Debug/obj.target/gpu/libcommand_buffer_common.a out/Debug/obj.target/gpu/libgl_libs.a out/Debug/obj.target/third_party/protobuf2/libprotobuf_lite.a out/Debug/obj.target/third_party/libjingle/libjingle.a out/Debug/obj.target/chrome/libnotifier.a out/Debug/obj.target/chrome/libsync.a out/Debug/obj.target/media/libmedia.a out/Debug/obj.target/media/libomx_wrapper.a out/Debug/obj.target/third_party/openmax/libil.a out/Debug/obj.target/third_party/ffmpeg/libffmpeg.a out/Debug/obj.target/third_party/hunspell/libhunspell.a out/Debug/obj.target/webkit/libdatabase.a out/Debug/obj.target/chrome/libplugin.a out/Debug/obj.target/third_party/cld/libcld.a out/Debug/obj.target/chrome/libnacl.a out/Debug/obj.target/native_client/src/trusted/plugin/libnpGoogleNaClPluginChrome.a out/Debug/obj.target/native_client/src/shared/gio/libgio.a out/Debug/obj.target/native_client/src/shared/imc/libgoogle_nacl_imc_c.a out/Debug/obj.target/native_client/src/shared/npruntime/libgoogle_nacl_npruntime.a out/Debug/obj.target/native_client/src/shared/platform/libplatform.a out/Debug/obj.target/native_client/src/trusted/desc/libnrd_xfer.a out/Debug/obj.target/native_client/src/trusted/nonnacl_util/libnonnacl_util_chrome.a out/Debug/obj.target/native_client/src/trusted/nonnacl_util/linux/libnonnacl_util_linux.a out/Debug/obj.target/native_client/src/trusted/nonnacl_util/libsel_ldr_launcher.a out/Debug/obj.target/native_client/src/shared/srpc/libnonnacl_srpc.a out/Debug/obj.target/native_client/src/trusted/service_runtime/libexpiration.a out/Debug/obj.target/native_client/src/trusted/service_runtime/libgio_shm.a out/Debug/obj.target/native_client/src/trusted/service_runtime/libsel.a out/Debug/obj.target/native_client/src/trusted/service_runtime/arch/x86/libservice_runtime_x86_common.a out/Debug/obj.target/native_client/src/trusted/validator_x86/libncvalidate.a out/Debug/obj.target/native_client/src/trusted/validator_x86/libncopcode_utils.a out/Debug/obj.target/native_client/src/trusted/service_runtime/arch/x86_64/libservice_runtime_x86_64.a out/Debug/obj.target/native_client/src/trusted/validator_x86/libncvalidate_sfi.a out/Debug/obj.target/native_client/src/trusted/platform_qualify/libplatform_qual_lib.a out/Debug/obj.target/gpu/libgles2_c_lib.a out/Debug/obj.target/gpu/libgles2_lib.a out/Debug/obj.target/gpu/libgles2_implementation.a out/Debug/obj.target/gpu/libgles2_cmd_helper.a out/Debug/obj.target/gpu/libcommand_buffer_client.a -Wl,--end-group -lX11 -ldl -lXrender -lXss -lXext -lrt -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lsmime3 -lnssutil3 -lnss3 -lplds4 -lplc4 -lnspr4 -lpthread -lz -levent -ljpeg -lpng12 -lgconf-2 -lxml2 -lxslt -lm -lexpat -lasound -lbz2 -ldbus-glib-1 -ldbus-1
out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore.a(HTMLTokenizer.o): In function `WebCore::decodeNamedEntity(char const*)':
/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9/third_party/WebKit/WebCore/html/HTMLTokenizer.cpp:2147: undefined reference to `findEntity(char const*, unsigned int)'
out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore.a(HTMLTokenizer.o): In function `WebCore::HTMLTokenizer::parseEntity(WebCore::SegmentedString&, unsigned short*&, WebCore::HTMLTokenizer::State, unsigned int&, bool, bool)':
/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9/third_party/WebKit/WebCore/html/HTMLTokenizer.cpp:847: undefined reference to `findEntity(char const*, unsigned int)'
out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore.a(PreloadScanner.o): In function `WebCore::PreloadScanner::consumeEntity(WebCore::SegmentedString&, bool&)':
/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9/third_party/WebKit/WebCore/html/PreloadScanner.cpp:261: undefined reference to `findEntity(char const*, unsigned int)'
/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9/third_party/WebKit/WebCore/html/PreloadScanner.cpp:269: undefined reference to `findEntity(char const*, unsigned int)'
out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore.a(Color.o): In function `WebCore::findNamedColor(WebCore::String const&)':
/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9/third_party/WebKit/WebCore/platform/graphics/Color.cpp:201: undefined reference to `findColor(char const*, unsigned int)'
out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore.a(Color.o): In function `Color':
/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9/third_party/WebKit/WebCore/platform/graphics/Color.cpp:174: undefined reference to `findColor(char const*, unsigned int)'
/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9/third_party/WebKit/WebCore/platform/graphics/Color.cpp:174: undefined reference to `findColor(char const*, unsigned int)'
out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore.a(CSSParser.o): In function `WebCore::cssValueKeywordID(WebCore::CSSParserString const&)':
/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9/third_party/WebKit/WebCore/css/CSSParser.cpp:5400: undefined reference to `findValue(char const*, unsigned int)'
out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore.a(CSSParser.o): In function `WebCore::cssPropertyID(unsigned short const*, unsigned int)':
/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9/third_party/WebKit/WebCore/css/CSSParser.cpp:5358: undefined reference to `findProp(char const*, unsigned int)'
out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore.a(HTMLDocument.o): In function `WebCore::HTMLDocument::determineParseMode()':
/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9/third_party/WebKit/WebCore/html/HTMLDocument.cpp:380: undefined reference to `findDoctypeEntry(char const*, unsigned int)'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [out/Debug/chrome] Erreur 1
 * ERROR: www-client/chromium-5.0.375.9-r1 failed:
 *   compilation failed
 * 
 * Call stack:
 *     ebuild.sh, line  48:  Called src_compile
 *   environment, line 2731:  Called die
 * The specific snippet of code:
 *       emake -r V=1 chrome chrome_sandbox BUILDTYPE=${buildtype} rootdir="${S}" CC=$(tc-getCC) CXX=$(tc-getCXX) AR=$(tc-getAR) RANLIB=$(tc-getRANLIB) || die "compilation failed"
 * 
 * If you need support, post the output of 'emerge --info =www-client/chromium-5.0.375.9-r1',
 * the complete build log and the output of 'emerge -pqv =www-client/chromium-5.0.375.9-r1'.
 * This ebuild is from an overlay named 'Local overlay': '/usr/local/portage/local/'
 * The complete build log is located at '/var/tmp/portage/www-client/chromium-5.0.375.9-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/www-client/chromium-5.0.375.9-r1/temp/environment'.
 * S: '/var/tmp/portage/www-client/chromium-5.0.375.9-r1/work/chromium-5.0.375.9'
Comment 9 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-05-01 11:20:32 UTC
Could you try running the compile without ccache? I suspect a cache corruption.
Comment 10 Julien Sanchez archtester 2010-05-03 06:48:30 UTC
I have already tried to clear ccache, then disable both distcc/ccache => same problem. I'm going to try to compile a debug build.
Comment 11 Julien Sanchez archtester 2010-05-03 12:15:08 UTC
I tried to compile a debug build by removing BUILDTYPE=${buildtype} in the ebuild (the chromium-5.0.375.23.ebuild one) as stated in the instructions of Chromium site but it fails with:

/var/tmp/portage/www-client/chromium-5.0.375.23/work/chromium-5.0.375.23/third_party/WebKit/WebCore/css/CSSParser.cpp:5358: undefined reference to `findProp(char const*, unsigned int)'
out/Debug/obj.target/third_party/WebKit/WebCore/WebCore.gyp/libwebcore.a(HTMLDocument.o): In function `WebCore::HTMLDocument::determineParseMode()':
/var/tmp/portage/www-client/chromium-5.0.375.23/work/chromium-5.0.375.23/third_party/WebKit/WebCore/html/HTMLDocument.cpp:380: undefined reference to `findDoctypeEntry(char const*, unsigned int)'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [out/Debug/chrome] Erreur 1
 * ERROR: www-client/chromium-5.0.375.23 failed:
 *   compilation failed
 * 
 * Call stack:
 *     ebuild.sh, line  48:  Called src_compile
 *   environment, line 2712:  Called die
 * The specific snippet of code:
 *       emake -r V=1 chrome chrome_sandbox rootdir="${S}" CC=$(tc-getCC) CXX=$(tc-getCXX) AR=$(tc-getAR) RANLIB=$(tc-getRANLIB) || die "compilation failed"

It seems like http://bugs.gentoo.org/295318
For information, my system is ~amd64 BUT gcc is amd64 (version 4.3.4)

Any clue?
Comment 12 Julien Sanchez archtester 2010-05-05 12:36:54 UTC
One more test, before chromium was built with CFLAGS="-O2 -pipe -march=native -ggdb -DGENTOO_CHROMIUM_MP3_ENABLED -DGENTOO_CHROMIUM_H264_ENABLED
I removed -ggdb from my CFLAGS, no luck => same crash

So, for the moment, it appears that ccache, distcc and gcc debug flag are not involved...They are all disabled for me now.

I have not yet tried with the unstable version of gcc (4.4, mine is 4.3.4). Which GCC version are you using?
Comment 13 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-05-06 05:49:51 UTC
(In reply to comment #12)
> Which GCC version are you using?

gcc version 4.3.4 (Gentoo 4.3.4 p1.0, pie-10.1.5)

I didn't check with debug compilation though. However, the upstream buildbots are regularly doing debug builds, and everything is fine on them. It looks really mysterious. If you can repro outside the ebuild environment, you can report it upstream.
Comment 14 Julien Sanchez archtester 2010-05-17 11:28:11 UTC
I have always the crash (even with the last 6.0 ebuild). Nevertheless, I can reproduce the crash by compiling the upstream package (outside portage) so I think it's better to close this issue as I am the only one impacted.

Last thing, wouldn't be interesting to enable a debug USE flag to have a debug build? I can't achieve to build one with the upstream sources... despite my tries.

thx
Comment 15 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-05-17 11:37:21 UTC
(In reply to comment #14)
> I have always the crash (even with the last 6.0 ebuild). Nevertheless, I can
> reproduce the crash by compiling the upstream package (outside portage) so I
> think it's better to close this issue as I am the only one impacted.

RESO WORKSFORME might be applicable here. However, I'd prefer to get this fixed. :) Maybe I couldn't repro because the steps are not detailed enough, or there are some other factors.

> Last thing, wouldn't be interesting to enable a debug USE flag to have a debug
> build? I can't achieve to build one with the upstream sources... despite my
> tries.

If the compile fails for you if you take the upstream source and just compile it, that's clearly a bug. Could you report it upstream and post the link here?
Comment 16 Julien Sanchez archtester 2010-05-18 07:34:33 UTC
For information, here the steps and results when I compile upstream source (6.0.401.1) with gcc version 4.3.4 (Gentoo 4.3.4 p1.1, pie-10.1.5):

DEBUG Build:
* build/gyp_chromium -Dwerror= --depth=.
* make -j7 out/Debug/chrome
=> Fails with "undefined reference to `findDoctypeEntry(char const*, unsigned int)'"

Seems to be bug http://code.google.com/p/chromium/issues/detail?id=26496
but when I apply comment 5 of this bug (replacing -O0 with -O1 in third_party/WebKit/WebCore/WebCore.gyp/webcore.target.mk):
=> compilation passes
=> .... no crash when debugging javascript!


RELEASE Build:
* build/gyp_chromium -Dwerror= --depth=.
* make -j7 BUILDTYPE=Release
=> compilation passes (thanks to -Dwerror flag, without it fails)
=> BUT the dreaded crash occurs when I debug javascript

Comment 17 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-05-21 09:16:19 UTC
Thanks. I'll close it as upstream because that's the right place to fix it.
Comment 18 Julien Sanchez archtester 2010-05-26 13:49:03 UTC
For information, as GCC 4.4 got stable, I recompiled chromium with it. The crash does not occur (6.0.408.1).

This issue will remain forever unexplained... (at least with GCC 4.3 on my machine) but it doesn't bother now.