My favorites | Sign in
Project Home Downloads Wiki Issues Code Search
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 38957: rendering problems of html area on armel/dove/ubuntu lucid
4 people starred this issue and may be notified of changes. Back to list
Status:  WontFix
Owner:  piman@chromium.org
Closed:  Sep 2012

Restricted
  • Only users with Commit permission may comment.


Sign in to add a comment
 
Reported by asac@jwsdot.com, Mar 22, 2010
Check Ubuntu bug:
https://bugs.edge.launchpad.net/ubuntu/+source/chromium-browser/+bug/539245/

Seems to be specific to the board.

Epiphany-browser as another webkit consumer renders appropriately.

The problem is not caused by Xserver as I also see this when starting
chromium-browser through ssh.

Not sure where this points us. I would think it has something to do with
how we do floating point stuff. Maybe in skia?

Also maybe useful info: Ubuntu armel builds do not use NEON. 


Mar 22, 2010
#1 evan@chromium.org
(No comment was entered for this change.)
Cc: pi...@chromium.org
Labels: OS-Linux
Mar 22, 2010
#2 pimanttr3@gmail.com
I don't see this on other platforms, including some that don't have NEON either (that 
we also build with -mfpu=vfpv3-d16).
Is it a recent regression ? We slightly changed the way we pass the mfpu flag to gcc, 
you can specify explicitly what you want by adding e.g. "armv7=1 arm_neon=0 
arm_fpu=vfpv3-d16" to the GYP_DEFINES.
Mar 24, 2010
#3 evan@chromium.org
(No comment was entered for this change.)
Status: Available
Owner: pi...@chromium.org
Cc: -pi...@chromium.org
Labels: Mstone-6
Mar 24, 2010
#4 evan@chromium.org
(No comment was entered for this change.)
Status: Assigned
May 27, 2010
#5 pimanttr3@gmail.com
As I mentioned, I can't reproduce this on other similar platforms and I don't have 
that one handy.
Labels: -Mstone-6 Mstone-X FeedbackRequested
May 28, 2010
#6 asac...@gmail.com
ok ... i will try the flags you suggested early next week when i am back where i have
that board
Jun 11, 2010
#7 AlexWolf...@gmail.com
I built chromium on Dove board. See http://pastebin.ubuntu.com/448257/ for debdiff

Basically:

diff -u chromium-browser-5.0.342.9~r43360/debian/rules chromium-browser-5.0.342.9~r43360/debian/rules
--- chromium-browser-5.0.342.9~r43360/debian/rules
+++ chromium-browser-5.0.342.9~r43360/debian/rules
@@ -39,6 +39,8 @@
 	target_arch=arm \
 	disable_nacl=1 \
 	linux_use_tcmalloc=0 \
+	armv7=1 \
+	arm_neon=0 \
 	$(NULL)
 WANT_LZMA_DEBS := 0
 WANT_TESTS     := 0

The browser dies with "Illegal Instruction"

Jun 11, 2010
#8 pimanttr3@gmail.com
When NEON is disabled, it defaults to vfpv3. You may want to try adding arm_fpu=vfpv3-d16 which I believe is the default on Ubuntu.
Jun 15, 2010
#9 AlexWolf...@gmail.com
some more information: when I opened page in  chromium, showed source( looked like junk) copy, paste in ...html file and open that file in firefox, page looked reasonable. So looks like just a rendering on the screen is screwed up.


Jun 15, 2010
#10 AlexWolf...@gmail.com
Also I rebuilt chromium yesterday with:

diff -u chromium-browser-5.0.342.9~r43360/debian/changelog chromium-browser-5.0.342.9~r43360/debian/changelog
--- chromium-browser-5.0.342.9~r43360/debian/changelog
+++ chromium-browser-5.0.342.9~r43360/debian/changelog
@@ -1,3 +1,12 @@
+chromium-browser (5.0.342.9~r43360-0ubuntu2common0) lucid; urgency=low
+
+  [ Alex Wolfson ]
+  * Changed build option in GYP_DEFINES
+   https://code.google.com/p/chromium/issues/detail?id=38957
+   (LP: #539245) 
+
+ -- root <root@ubuntu-laptop>  Fri, 11 Jun 2010 14:42:12 +0000
+
 chromium-browser (5.0.342.9~r43360-0ubuntu2) lucid; urgency=low
 
   [ Fabien Tassin <fta@ubuntu.com> ]
diff -u chromium-browser-5.0.342.9~r43360/debian/rules chromium-browser-5.0.342.9~r43360/debian/rules
--- chromium-browser-5.0.342.9~r43360/debian/rules
+++ chromium-browser-5.0.342.9~r43360/debian/rules
@@ -21,7 +21,7 @@
 WANT_TESTS       ?= 1
 WANT_SANDBOXING  ?= 1
 USE_SYSTEM_V8    ?= 0
-VERBOSE          ?= 0
+VERBOSE          ?= 1
 PROCESSORS       ?= $(shell grep -ic ^processor /proc/cpuinfo)
 ifeq (0,$(PROCESSORS))
 PROCESSORS := 1
@@ -39,10 +39,13 @@
 	target_arch=arm \
 	disable_nacl=1 \
 	linux_use_tcmalloc=0 \
+	armv7=1 \
+	arm_neon=0 \
 	$(NULL)
 WANT_LZMA_DEBS := 0
 WANT_TESTS     := 0
-ifneq (,$(filter unstable development,$(DEBIAN_DIST)))
+#TODO:change that ifneq, so it will work for upcomming releases of ubuntu
+ifneq (,$(filter unstable development 10.04,$(DEBIAN_DIST)))
 # on $(DEB_BUILD_ARCH) and $(DEBIAN_DIST), enforce an armv7 with thumb build (or not)
 GYP_DEFINES += \
 	armv7=0 \

It does not crash, but renders garbage. I did not setup arm_fpu=vfpv3-d16 at that time
Jun 24, 2010
#11 AlexWolf...@gmail.com
I finally managed to cross build chromium for ARM

see: https://wiki.linaro.org/DeveloperDocs/CrossBuildingChromiumBrowser

Build runs on Marvell's Dove board. 
Can somebody look at the wiki pages to sanity check options that I used?
And the main question - How to proceed with actual debugging. Any suggestions?

Jun 24, 2010
#12 pimanttr3@gmail.com
Your options look reasonable, however I've never had the need to add -idirafter to the CFLAGS if you specify sysroot= correctly in the GYP_DEFINES. If it looks like it's pulling includes out of /usr/include (outside of the sysroot) it usually means you're missing .pc files in your sysroot (note: they need to be present when you run gyp).
Also I haven't had the need to generate a new config.h for ffmpeg, the default arm/non-neon one works on another vfpv3-d16 arch.
Jun 24, 2010
#13 AlexWolf...@gmail.com
Do you have suggestions how to start debugging? I never dealt with chromium before
Jun 24, 2010
#14 pimanttr3@gmail.com
Some suggestions, trace the data path:
- check if test_shell works or not (you can build it with make test_shell). If it doesn't it's likely the bug is in WebKit and/or Skia.
- If it does, then debug chrome (the renderer process - find the PID from the process manager), check whether the renderer painted correctly. You'll want to check in chrome/renderer/render_widget.cc all the users of PaintRect (mostly DoDeferredUpdate) to see if the contents looks right.
- If that looked right, then debug the browser process, check in chrome/browser/renderer_host/backing_store_x.cc if PaintToBackingStore gets the right data and if it paints the backing store correctly.
- If that was right too, then debug the XShowRect/CairoShowRect/PaintToRect functions in the same file, that copies from the backing store to the window.
Jun 25, 2010
#15 AlexWolf...@gmail.com
I built test_shell and am running it now. Looks like it will take a very long time, but 592 tests already failed and screen looked messed up like in chromium itself.

BTW does it exist a way to copy tests from build PC to the board "make install" equivalent or something? Looks like I copied much more then was necessary, which took a long time. 
Jun 29, 2010
#16 AlexWolf...@gmail.com
I built a tests for skia. They all passed. 
Any suggestions - how to debug WebKit? 
It seems that most likely cause of a bug is  Webkit skia binding.

Jun 30, 2010
#17 AlexWolf...@gmail.com
The chromium built with export "GYP_DEFINES="release_optimize=1...." works properly on the same board. Speed of lunching chromium is not distinguishable visually, comparing to the default optimization (I believe it is -02). Debugging build was visible slower, but rendered properly as well.
Aug 5, 2010
#18 evan@chromium.org
(No comment was entered for this change.)
Owner: pi...@chromium.org
Labels: -FeedbackRequested
Sep 6, 2012
#19 piman@chromium.org
Looks like the problem disappeared downstream.
Status: WontFix
Oct 13, 2012
#20 bugdroid1@chromium.org
This issue has been closed for some time. No one will pay attention to new comments.
If you are seeing this bug or have new data, please click New Issue to start a new bug.
Labels: Restrict-AddIssueComment-Commit
Mar 10, 2013
#21 bugdroid1@chromium.org
(No comment was entered for this change.)
Labels: -Area-Undefined
Sign in to add a comment

Powered by Google Project Hosting