My favorites | Sign in
Logo
             
New issue | Search
for
| Advanced search | Search tips
Issue 12530: Segfault when ResourceBundle::GetFont fails -- more font fallback needed?
19 people starred this issue and may be notified of changes. Back to list
 
Reported by elpraga, May 22, 2009
Chrome Version:  2.0.182.0~svn20090521r16618-0ubuntu1~ucd3~hardy <include
svn revno; e.g. dpkg -s chromium-browser>
OS + version : Linux Ubuntu Hardy 8.04.2
window manager : Fluxbox, any
URLs (if applicable) :
Behavior in Firefox 3.x (if applicable):


Trying to lauch chromium-browser ends with "Segmentation Fault". Every time.

(Now I was able to run chromium under GNOME under a different user on the
very same machine)

What could be the cause? Some plugin configuration? How can I get more
information about the crash?

What steps will reproduce the problem?
1. trying to lauch chrome, every time
2.
3.

What is the expected result?
to see the chromium window when I type chromium-browser :-)

What happens instead?


Please provide any additional information below. Attach a screenshot
and backtrace if possible.

Comment 1 by est...@chromium.org, May 22, 2009
Keep in mind that this is not a support forum. That said, your problem may represent
a real bug in chromium, but we would need more details if we were to work on it. Can
you tell us your architecture, and give us the full output of the run? If it's
possible, could you build the code yourself and see if the crash remains (and if so,
give us a stack trace)?
Status: Unconfirmed
Labels: Pri-2
Comment 2 by elpraga, May 22, 2009
I know it is not a support forum.

my architecture:
Linux Ubuntu-ElPraga 2.6.24-24-generic #1 SMP Wed Apr 15 15:54:25 UTC 2009 i686 GNU/Linux

The thing is that I could start the same executable under one user, under another no
on the same machine. Thus the cause could be looking for some plugins somewhere in
home directory (maybe) or some configuration tweak.

I tried to delete the configuration I found - the files in ~/.config/chromium/, but
it did not help any. (by the way this directory included only one empty directory
Default and a socket SingletonSocket, nothing more)

I was not able to get any more information from chromium besides Segmentation Fault.
No other output.

If You can tell me if there are some more configuration files, I could try to delete
them as well a do a new fresh run and see what happens. And if You tell me in which
directories is chromium looking for plugins (if there are any - for example firefox
plugins), I could try to temporarily remove them and see if that helps.

I am not sure if I would be able to compile chromium myself, I will try, but I cannot
promise.

Tomas Kaluza
Comment 3 by est...@chromium.org, May 22, 2009
Maybe a missing font?
Cc: e...@chromium.org
Comment 4 by elpraga, May 22, 2009
That is unlikely, becacause the account where chromium-browser DOES start is an
account for guests, with no changes from the default, and with no additional stuff
installed.

The account where chromium browser crashes is the account I use for a daily work,
thus if some account has something more installed is the one where chromium-browser
crashes.

What is strange is that I am not able to start chromium-browser neither from my
session when I log in as amigo (the account that I can run chromium-browser) and
export my DISPLAY. It ends with Segmentation Fault as well.

Does this help? Could GTK theme matter?
Comment 5 by evan@chromium.org, May 22, 2009
Can you run it in gdb?  Can you paste the output of what happens when you run?  Can you 
run it in strace?
Comment 6 by evan@chromium.org, May 22, 2009
(No comment was entered for this change.)
Status: Available
Comment 7 by evan@chromium.org, May 22, 2009
(Oh, and the fonts fix I made is for pages -- the badness there would be "aw snap" on 
every tab.)
Comment 8 by elpraga, May 22, 2009
I am sorry, I have no experience with neither gdb nor strace. I did not managed to
get an output from gdb yet. I send You what strace said.  

Running:
strace chromium-browser 1 2> /home/home/tomas/strace-chromium-browser.txt

Can I send something more?
strace-chromium-browser.txt
170 KB Download
Comment 9 by elpraga, May 22, 2009
Was this output helpful, or should I try to battle with gdb?
Comment 10 by evan@chromium.org, May 22, 2009
The output was collected correctly, but it is not helpful.

Since you're using the Ubuntu packages, perhaps following the instructions here would 
help:
https://wiki.ubuntu.com/DebuggingProcedures
Comment 11 by fta@sofaraway.org, May 22, 2009
You have to install the -dbg package (chromium-browser-dbg) and follow this
procedure: https://wiki.ubuntu.com/Backtrace (the "Generation" part only).
Once done, you can post the log here.
Comment 12 by elpraga, May 22, 2009
Thanks a lot for comment 11, I have no experience with getting debugging code, and
following comment 10 would take me a lot more time.

I hope this would be useful. Let me know if I did that correctly or if You need
something more.
gdb-chromium-browser.txt
7.9 KB Download
Comment 13 by evan@chromium.org, May 22, 2009
Close, but it needs debugging symbols -- can you install the -dbg package comment 11 
mentions?
Comment 14 by elpraga, May 22, 2009
I did install the package already..
Comment 15 by elpraga, May 22, 2009
Yes, I double checked it now. It is installed. I have installed it before running
gdb. I will try to do the same again.
Comment 16 by elpraga, May 22, 2009
I am using the ppa chromium daily packages.
gdb-chromium-browser.2.txt
8.0 KB Download
Comment 17 by elpraga, May 22, 2009
Do I have to do something like ldconfig? (not ldconfig, but something like this so
that the system know about the debugging package? - Sorry, but I have no idea about this)

I have tried to run it as root.

See if this helps.

gdb-chromium-browser-run-as-root.txt
7.9 KB Download
Comment 18 by evan@chromium.org, May 22, 2009
I think we need to take this up with Ubuntu -- you've done everything correctly as far 
as I know.
Comment 19 by fta@sofaraway.org, May 22, 2009
oops, sorry, I should have been more specific.
You have to run gdb with the full binary name in order for gdb to locate the right
symbols, like this:

gdb /usr/lib/chromium-browser/chrome

then run as before (and add "bt" for a short back trace).

Comment 20 by elpraga, May 22, 2009
OK, I have send a message to Ubuntu Chromium Daily Builds team on Launchpad giving
them link to this thread. Lets see what happens..
Comment 21 by elpraga, May 22, 2009
Ok, I will try this. Where exactly should I write bt? :-)
Comment 22 by elpraga, May 22, 2009
write run bt instead of run?
Comment 23 by evan@chromium.org, May 22, 2009
I think you can just do it as before, but with the full path that fta mentioned.
Comment 24 by elpraga, May 22, 2009
Well, I did that.. But after hitting run, it did stop, but saying No such file or
directory, that sounds suspicious to me.

gdb-chromium-browser-3.txt
32.6 KB Download
Comment 25 by elpraga, May 22, 2009
I tried it with bt, if it helps..


gdb-chromium-browser-4-bt.txt
32.1 KB Download
Comment 26 by evan@chromium.org, May 22, 2009
Yes, this is great!
Comment 27 by evan@chromium.org, May 22, 2009
The relevant bit is as follows.  Looks like we're looking for a font and failing.  I 
just fixed this for web content but it's a similar bug.  This is probably pretty 
serious for us.

#0  sk_atomic_inc (addr=0x4) at /build/buildd/chromium-browser-
2.0.182.0~svn20090521r16618/build-
tree/src/third_party/skia/src/ports/SkThread_pthread.cpp:12
	value = <value optimized out>
#1  0x08390aa5 in Font (this=0x9ab1d70, tf=0x0, font_family=@0xbfce18c4, 
font_size=10, style=0) at /build/buildd/chromium-browser-
2.0.182.0~svn20090521r16618/build-
tree/src/third_party/skia/include/core/SkRefCnt.h:50
No locals.
#2  0x08390bf1 in gfx::Font::CreateFont (font_family=@0xbfce18c4, font_size=10) at 
/build/buildd/chromium-browser-2.0.182.0~svn20090521r16618/build-
tree/src/app/gfx/font_skia.cc:91
	tf = (SkTypeface *) 0x0
	tf_helper = {<SkNoncopyable> = {<No data fields>}, fObj = 0x0}
#3  0x083903ef in Font (this=0x9aa7ad0) at /build/buildd/chromium-browser-
2.0.182.0~svn20090521r16618/build-tree/src/app/gfx/font_gtk.cc:77
No locals.
#4  0x0839bb75 in ResourceBundle::LoadFontsIfNecessary (this=0x9a343d8) at 
/build/buildd/chromium-browser-2.0.182.0~svn20090521r16618/build-
tree/src/app/resource_bundle.cc:162
No locals.
#5  0x0839c1ca in ResourceBundle::GetFont (this=0x9a343d8, 
style=ResourceBundle::BaseFont) at /build/buildd/chromium-browser-
2.0.182.0~svn20090521r16618/build-tree/src/app/resource_bundle.cc:180
No locals.

Cc: jhawk...@chromium.org
Labels: -Area-Misc -Pri-2 Area-BrowserUI Pri-0 Mstone-LinuxDev
Comment 28 by evan@chromium.org, May 22, 2009
(No comment was entered for this change.)
Summary: Segfault when ResourceBundle::GetFont fails -- more font fallback needed?
Comment 29 by elpraga, May 22, 2009
Well, I am glad it was worth the effort after all.. :-D

I do not understand though, how it can run for one user and for another not on the
same system, same machine..

Well, I hope You do understand, that is more important... :-)
Comment 30 by fta@sofaraway.org, May 22, 2009
does one user as a ~/.fonts.conf and not the other?
Comment 31 by elpraga, May 22, 2009
Directories and files .font*

User that CAN run chromium-browser:
amigo@Ubuntu-ElPraga:~$ ls .fontconfig/
19824189c69f451d43f067fe3ed0222a-x86.cache-2
3830d5c3ddfd5cd38a049b759396e72e-x86.cache-2
4e35cace2c7408e679ce4f18db4099a2-x86.cache-2
9f1ee23fd5b5d2cd338ad763f7a6708b-x86.cache-2
amigo@Ubuntu-ElPraga:~$ 

User that CANNOT run chromium-browser:
tomas@Ubuntu-ElPraga:~$ cat .font [TAB]
.fontconfig/  .fontypython/ 
tomas@Ubuntu-ElPraga:~$ ls .fontypython/
badfiles  fp.conf  lastFontBeforeSegfault
tomas@Ubuntu-ElPraga:~$ ls .fontconfig/
089dead882dea3570ffc31a9898cfb69-x86.cache-2
19824189c69f451d43f067fe3ed0222a-x86.cache-2
3830d5c3ddfd5cd38a049b759396e72e-x86.cache-2
61d0ca6f41569ffd9343a4831b06b647-x86.cache-2
945677eb7aeaf62f1d50efc3fb3ec7d8-x86.cache-2
96faf94d583d79b58f1a3c78476600f0-x86.cache-2
99e8ed0e538f840c565b6ed5dad60d56-x86.cache-2
9fa3de5283da3e9a4348d0f36dad404c-x86.cache-2
cabbd14511b9e8a55e92af97fb3a0461-x86.cache-2
d75b4006875c712ecd77538e2606f47f-x86.cache-2
efe96f8c8cf378c9bf77a3946f6e03f2-x86.cache-2
tomas@Ubuntu-ElPraga:~$ 

That is the only difference I can see. ~/.fonts.conf doesnt have either one.

Comment 32 by elpraga, May 22, 2009
I have logged out, renamed the ~/.fontconfig directory and logged in again. The
~/.fontconfig directory was created again automatically, with following result.

tomas@Ubuntu-ElPraga:~$ ls .fontconfig/
d75b4006875c712ecd77538e2606f47f-x86.cache-2
tomas@Ubuntu-ElPraga:~$ chromium-browser 
Fallo de segmentación
tomas@Ubuntu-ElPraga:~$ 

Comment 33 by evan@chromium.org, May 28, 2009
I'll take a look at this.
Status: Started
Owner: e...@chromium.org
Comment 34 by evan@chromium.org, May 28, 2009
See also  issue 9654 , which might be related.
Comment 35 by bugdroid1@chromium.org, May 28, 2009
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=17118 

------------------------------------------------------------------------
r17118 | evan@chromium.org | 2009-05-28 14:40:30 -0700 (Thu, 28 May 2009) | 11 lines
Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/app/gfx/font_gtk.cc?r1=17118&r2=17117
   M http://src.chromium.org/viewvc/chrome/trunk/src/app/gfx/font_skia.cc?r1=17118&r2=17117

linux: simplify gfx::Font constructor logic and add CHECK()s.

Trying to track down a bug that a user is seeing.
The getter we were using to extract the value before was for
a debugger-compatible string.  Perhaps it was the quote-removal
code that was getting us before; if not, these CHECKs will track
it down.

BUG=12530

Review URL: http://codereview.chromium.org/115877
------------------------------------------------------------------------

Comment 36 by evan@chromium.org, May 28, 2009
elpraga: I have checked in a change that might fix the problem, and if not it will make 
the reason it's failing more clear.  When you get a chance, could you try running a 
version after r17118?  It should print an error message to the console when it dies, if 
it dies.  If you could paste that to this bug I will be able to fix further.  (I don't 
need a stack trace this time.)
Comment 37 by elpraga, May 30, 2009
tomas@Ubuntu-ElPraga:~$ chromium-browser 
Fallo de segmentación
tomas@Ubuntu-ElPraga:~$ 

That is all it says...
Comment 38 by elpraga, May 30, 2009
I am sorry. Now I checked out the revision number. I am using the Ububtu PPA daily
build package, and I supposed that it is included already, but the revision number
was r17077, I will try it again later..
Comment 39 by elpraga, May 30, 2009
I guess, this is what were You looking for:

tomas@Ubuntu-ElPraga:~$ chromium-browser 
[15219:15219:82869078263:FATAL:/build/buildd/chromium-browser-3.0.183.0~svn20090530r17289/build-tree/src/app/gfx/font_skia.cc(90)]
Check failed: tf. Could not find font: Bitstream Vera Sans
Trace/breakpoint trap
tomas@Ubuntu-ElPraga:~$ 

Comment 40 by elpraga, May 30, 2009
Actually, I do not understand why...

tomas@Ubuntu-ElPraga:~$ ls /usr/share/fonts/truetype/ttf-bitstream-vera/
VeraBd.ttf  VeraIt.ttf	  VeraMoBI.ttf	VeraMono.ttf  VeraSe.ttf
VeraBI.ttf  VeraMoBd.ttf  VeraMoIt.ttf	VeraSeBd.ttf  Vera.ttf
tomas@Ubuntu-ElPraga:~$ 



Comment 41 by est...@chromium.org, Jun 01, 2009
 Issue 13007  has been merged into this issue.
Comment 42 by elpraga, Jun 01, 2009
I do not know if this helps or not, but maybe.. The fonts are as far as I know
installed well, so why chromium cannot find them?

tomas@Ubuntu-ElPraga:~$ fc-list |grep Bitstream
Bitstream Vera Sans Mono:style=Bold
Bitstream Vera Sans:style=Oblique
Bitstream Vera Sans:style=Roman
Bitstream Charter:style=Bold Italic
Bitstream Charter:style=Regular
Bitstream Vera Sans Mono:style=Oblique
Bitstream Charter:style=Italic
Bitstream Vera Sans:style=Bold
Bitstream Vera Serif:style=Roman
Bitstream Vera Sans Mono:style=Bold Oblique
Bitstream Vera Sans:style=Bold Oblique
Bitstream Vera Sans Mono:style=Roman
Bitstream Vera Serif:style=Bold
Bitstream Charter:style=Bold
tomas@Ubuntu-ElPraga:~$ 


Comment 43 by elpraga, Jun 03, 2009
Hello, I have news for You.

I am able to run chromium-browser now. The very same build, under the very same user 
on the same machine. The only thing I have changed was to check out the value 
xsettings (/apps/gnome_settings_daemon/plugins/xsettings) in gconf-editor. (I was 
using fluxbox, but I have the gnome-settings-daemon autostarted).

On the contrary, the user amigo (which could start chromium-browser) cannot start it 
without gnome-settings-daemon running (ie in failsafe terminal session)

Does this give any clue?
Comment 44 by juhpetersen, Jun 07, 2009
(I dunno if this is same issue, but it might be.)  Recent builds are no longer 
crashing for me on fedora when I run chromium in ja_JP.UTF-8 (in fact CJK looks ok 
now).
Comment 45 by jon@chromium.org, Jun 08, 2009
(No comment was entered for this change.)
Labels: Mstone-3
Comment 46 by evan@chromium.org, Jun 17, 2009
I have fixed aspects of this bug, but still we see crashes.
I'm having a lot of difficulty reproducing any of them.

I've tried the following:
 - uninstalling msttcorefonts and ttf-dejavu, etc
 - booting into a non-gnome session (in case it's doing some configuration)
 - setting gtk-font-name = "no such font 12" in my ~/.gtkrc-2.0
but still no crash.

If you have been dup'd onto this bug and are still experiencing crashes, it would 
help a lot if you could give detailed system info: which Linux distro, which Chrome 
version, and which URLs succeed and which are causing crashes.
Comment 47 by evan@chromium.org, Jun 18, 2009
Removing Mstone-3 since I guess we're using Mstone-LinuxBeta
Labels: -Mstone-3 Mstone-LinuxBeta
Comment 48 by evan@chromium.org, Jun 25, 2009
not working on this right now
Status: Available
Owner: ---
Comment 49 by thestig@chromium.org, Jun 26, 2009
elpraga: have you seen any more crashes lately with 3.0.190.2 or above?
Comment 50 by john.eastman, Jun 26, 2009
I am having still having the same problems cited by elpraga.

[7699:7699:793534240:FATAL:/build/buildd/chromium-browser-3.0.191.0~svn20090625r19247/build-tree/src/app/gfx/font_skia.cc(90)]
Check failed: tf. Could not find font: Bitstream Vera Sans
Trace/breakpoint trap

I am currently using 3.0.191.0~svn20090625r19247-0ubuntu1~ucd1~jaunty.

I have also verified that deactivating /apps/gnome_settings_daemon/plugins/xsettings
in gconf-editor fixes the problem. Deactivation is only necessary at startup of the
application.
Comment 51 by thestig@chromium.org, Jun 26, 2009
Ok, but I still have no idea how to reproduce the crash. On Hardy, I tried running
fluxbox and gnome-settings-daemon with xsettings turned on. No crash here.
Comment 52 by evan@chromium.org, Jun 26, 2009
To elaborate on comment #51: it would help if you could provide your exact system setup 
(distro, language, etc.).
Comment 53 by elpraga, Jun 27, 2009
On my other system I cannot reproduce the crash either. Please note, that my disk
with the old system is failing, and it is very difficult for me to even startup the
old system.. I will try it though..
Comment 54 by elpraga, Jun 27, 2009
I can still confirm the crash on my old system. Chromium version: 3.0.191.0 (0)

This is the output from terminal:
-----------------------------------------------------------------------------------
amigo@Ubuntu-ElPraga:~$ chromium-browser 
[13506:13506:1212213584:FATAL:/build/buildd/chromium-browser-
3.0.191.0~svn20090626r19361/build-tree/src/app/gfx/font_skia.cc(90)] 
Check failed: tf. Could not find font: Bitstream Vera Sans
Trace/breakpoint trap
amigo@Ubuntu-ElPraga:
------------------------------------------------------------------------------------

The crash was reproduced with user amigo running xterminal failsafe session. I was 
able to run chromium-browser in the same session after running: gnome-settings-daemon 
&

I guess we should find out what exacty changes when gnome-session-daemon is run in 
xsettings. Unfortunatelly I have no idea how to do this.

Please let me know what information I could provide..

Regards

Tomas Kaluza (elPraga)
Comment 55 by elpraga, Jun 27, 2009
I am not able to reproduce the crash on my new system either. I suppose the way to go
would be to find out which xsettings is changing gnome-settings-daemon and look at
that.  Does anybody have an idea how to do this?

Tomas
Comment 56 by HareStomper, Jun 28, 2009
============================================================
[13506:13506:1212213584:FATAL:/build/buildd/chromium-browser-
3.0.191.0~svn20090626r19361/build-tree/src/app/gfx/font_skia.cc(90)] 
Check failed: tf. Could not find font: Bitstream Vera Sans
Trace/breakpoint trap
amigo@Ubuntu-ElPraga:
============================================================

the issue decided in ArchLinux installation of additional fonts that are found in the 
repo query "truetype"
Sorry for my English
Comment 57 by elpraga, Jun 28, 2009
That is not the issue. I do have theese fonts intalles. The issue is why chromium
cannot find them..
Comment 59 by HareStomper, Jun 29, 2009
I do not want anybody to convince that this is a panacea. I described the solution in 
my case, after a day of finding a solution ... If more information will be easier to 
find this problem in the chrome. 
You can also try to include, for example, "Arial" for the entire system, then make a 
logout / login and try to launch chrome. In my case, chrome not found "Terminus", 
which I use every day ...
Comment 60 by john.eastman, Jun 29, 2009
I am able to consistently reproduce the problem, so let me try to be as helpful as I can.

I notice that when I deactivate xsettings in the gconf-editor, my widget theme
changes. I am currently using theme, etc. from the mac4lin project
(http://sourceforge.net/projects/mac4lin).

As for my environment, I am running 64bit jaunty version of Ubuntu, English with
3.0.191.0~svn20090625r19247-0ubuntu1~ucd1~jaunty chromium package.

The issue appears to be only related to starting the applications. Once it is running
I am able to re-activate xsettings and continue running without problems.

Please let me know if there is any additional information I can offer.
Comment 61 by elpraga, Jun 29, 2009
Hm, I am using mac4lin too.. I still continue to think that if we know what exactly
changes gnome-settings-daemon in xsettings we could really move forward.

Does anybody know how to find that out? I was searchning for the answer, but did not
find anything releveat..

Tomas

Comment 62 by HareStomper, Jul 04, 2009
I think that chromium does not know how to work with different fonts. And decorations 
does not have any meaning for him. When you turn off the module xsettings, all fonts 
are switched on by default. For me, it works fine when I include "Arial". In doing so, 
I do not switch off xsettings. I decorations are those that I included. But if I have 
before running cromium changing the font, for example, at Terminus or ComicSans, then 
get an error. Please, check at my theory.Maybe this is the same symptoms of different 
diseases? :)
Thanks
Comment 63 by DizzyC81, Jul 06, 2009
[9428:9428:2153947383:FATAL:/build/buildd/chromium-browser-3.0.192.0~svn20090706r19944/build-tree/src/app/gfx/font_skia.cc(90)]
Check failed: tf. Could not find font: snap
Trace/breakpoint trap

I'm still getting this error on Ubuntu 9.04 running Gnome. 
Changing the application font solves the problem. It is very odd. Only some of the
fonts result in this error.
Comment 64 by mikesm...@chromium.org, Jul 08, 2009
Hi - another font related crashing issue - could you take a look please? Thanks.
Status: Assigned
Owner: a...@chromium.org
Comment 67 by monaden, Jul 09, 2009
Same problem for me (latest build, downloaded today):

[27280:27280:52063699550:FATAL:/b/slave/chrome-official-linux/build/src/app/gfx/
font_skia.cc(90)] Check failed: tf. Could not find font: Utopia
Trace/breakpoint trap

I'm using Gentoo + KDE 4.2.4. Strangley enough it didn't help, that I changed the 
kde system font from Utopia to Sans Serif. Still complaining about Utopia now.

@DizzyC81: where did you change the "application font"?

But: chrome works fine with a fresh .kde4 in my home directory
Comment 68 by kuh3h3, Jul 14, 2009
dgol@dgol /media/sdc1/chromium-trunk/src$ cat /etc/lsb*rel*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.10
DISTRIB_CODENAME=intrepid
DISTRIB_DESCRIPTION="Ubuntu 8.10"
dgol@dgol /media/sdc1/chromium-trunk/src$ uname -a
Linux dgol 2.6.31-rc2-dgol #1 Mon Jul 13 19:55:49 KST 2009 i686 GNU/Linux
dgol@dgol /media/sdc1/chromium-trunk/src$ /media/sdc1/bin-chromium/chrome-linux/chrome
/media/sdc1/bin-chromium/chrome-linux/chrome: Symbol `SSL_ImplementedCiphers' has different size 
in shared object, consider re-linking
[18489:18489:82611341004:FATAL:/b/slave/chromium-rel-linux/build/src/app/gfx/font_skia.cc(90)] 
Check failed: tf. Could not find font: 나눔고딕
Trace/breakpoint trap
dgol@dgol /media/sdc1/chromium-trunk/src$ gdb -q /media/sdc1/bin-chromium/chrome-linux/chrome
(gdb) r
Starting program: /media/sdc1/bin-chromium/chrome-linux/chrome 
/media/sdc1/bin-chromium/chrome-linux/chrome: Symbol `SSL_ImplementedCiphers' has different size 
in shared object, consider re-linking
[Thread debugging using libthread_db enabled]
[New Thread 0xb6c2eb90 (LWP 18508)]
[New Thread 0xb6320b90 (LWP 18509)]
[New Thread 0xb5b1fb90 (LWP 18510)]
[New Thread 0xb4b1db90 (LWP 18512)]
[New Thread 0xb531eb90 (LWP 18511)]
[New Thread 0xb4ac5b90 (LWP 18513)]
[New Thread 0xb4920b90 (LWP 18514)]
[New Thread 0xb410bb90 (LWP 18515)]
[New Thread 0xb4afcb90 (LWP 18516)]
[New Thread 0xb40eab90 (LWP 18517)]
[New Thread 0xb40c9b90 (LWP 18518)]
[New Thread 0xb40a8b90 (LWP 18519)]
[New Thread 0xb4087b90 (LWP 18520)]
[18505:18505:82637954277:FATAL:/b/slave/chromium-rel-linux/build/src/app/gfx/font_skia.cc(90)] 
Check failed: tf. Could not find font: 나눔고딕

Program received signal SIGTRAP, Trace/breakpoint trap.
0x084257c4 in DebugUtil::BreakDebugger() ()
Current language:  auto; currently asm
(gdb) bt
#0  0x084257c4 in DebugUtil::BreakDebugger() ()
#1  0x0843aa72 in logging::LogMessage::~LogMessage() ()
#2  0x08412003 in gfx::Font::CreateFont(std::basic_string<wchar_t, std::char_traits<wchar_t>, 
std::allocator<wchar_t> > const&, int) ()
#3  0x084116b8 in gfx::Font::Font() ()
#4  0x0841c805 in ResourceBundle::LoadFontsIfNecessary() ()
#5  0x0841ce5a in ResourceBundle::GetFont(ResourceBundle::FontStyle) ()
#6  0x0828ed7a in TabRendererGtk::InitResources() ()
#7  0x0828f10b in TabRendererGtk::GetMinimumUnselectedSize() ()
#8  0x0828f68c in TabRendererGtk::GetStandardSize() ()
#9  0x08291491 in TabStripGtk::TabStripGtk(TabStripModel*) ()
#10 0x082732be in BrowserWindowGtk::InitWidgets() ()
#11 0x08273826 in BrowserWindowGtk::BrowserWindowGtk(Browser*) ()
#12 0x08270ee4 in BrowserWindow::CreateBrowserWindow(Browser*) ()
#13 0x082173cf in Browser::CreateBrowserWindow() ()
#14 0x08217bbc in Browser::Create(Profile*) ()
#15 0x082211ee in BrowserInit::LaunchWithProfile::OpenURLsInBrowser(Browser*, bool, 
std::vector<GURL, std::allocator<GURL> > const&) ()
#16 0x08221ca4 in BrowserInit::LaunchWithProfile::OpenStartupURLs(bool, std::vector<GURL, 
std::allocator<GURL> > const&)
    ()
#17 0x0822206f in BrowserInit::LaunchWithProfile::Launch(Profile*, bool) ()
#18 0x082232b1 in BrowserInit::ProcessCmdLineImpl(CommandLine const&, 
std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, bool, Profile*, 
int*, BrowserInit*) ()
#19 0x0806814e in BrowserMain(MainFunctionParams const&) ()
#20 0x0805f491 in ChromeMain ()
#21 0x0805ecfd in main ()
(gdb) i r
eax            0x1	1
ecx            0xbfffb865	-1073760155
edx            0x0	0
ebx            0xbfffbc74	-1073759116
esp            0xbfffbc28	0xbfffbc28
ebp            0xbfffbc28	0xbfffbc28
esi            0xbfffbcd8	-1073759016
edi            0x9af3530	162477360
eip            0x84257c4	0x84257c4 <DebugUtil::BreakDebugger()+4>
eflags         0x202	[ IF ]
cs             0x73	115
ss             0x7b	123
ds             0x7b	123
es             0x7b	123
fs             0x0	0
gs             0x33	51
(gdb) 

Comment 69 by thestig@chromium.org, Jul 14, 2009
kuh3h3: What version of Chromium are you trying to run? What fonts do you have installed?
Comment 70 by kuh3h3, Jul 15, 2009
my chrome is buildbot snapshot version.
from   http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/20719/chrome-linux.zip

i `m using nanum font from naver.com.

/usr/share/fonts/truetype/nanum/NanumMyeongjo.ttf
/usr/share/fonts/truetype/nanum/NanumGothicBold.ttf
/usr/share/fonts/truetype/nanum/NanumGothic.ttf
/usr/share/fonts/truetype/nanum/NanumMyeongjoBold.ttf

on my debugging message, 나눔고딕 is NanumGothic.
prior version chrome(for example 3.0.192(19942))  have not problems with that font.
Comment 71 by kuh3h3, Jul 15, 2009
fc-list |grep 나눔
나눔고딕코딩,NanumGothicCoding:style=Regular
나눔명조,NanumMyeongjo,NanumMyeongjo Bold,나눔명조 Bold:style=Bold,Regular
나눔고딕코딩,NanumGothicCoding:style=Bold
나눔고딕,NanumGothic,NanumGothic Bold,나눔고딕 Bold:style=Bold,Regular
나눔명조,NanumMyeongjo:style=Regular
나눔고딕,NanumGothic:style=Regular

Comment 72 by agl@chromium.org, Jul 15, 2009
This could happen if the fonts are non-scalable. However, I don't have the fonts in 
question. If they are free font's could you attach them so I could take a look?
Comment 74 by kuh3h3, Jul 16, 2009
you can see old but working version chrome with that font on
http://kuh3h3.naru.to/screenshot_61.png
Comment 75 by kuh3h3, Jul 16, 2009
you can download original free font  at
http://static.campaign.naver.com/nfs1/file/2008/11/hangeul2715/NanumFont_TTF.zip
and this is the font i am using . http://kuh3h3.naru.to/nanum.tar.bz2


Comment 76 by linjiework, Jul 18, 2009
I get the follow error message

[14737:14737:14854353660:FATAL:/b/slave/chrome-official-linux/build/src/app/gfx/font_skia.cc(90)]
Check failed: tf. Could not find font: Bitstream Vera Sans
Trace/breakpoint trap

when I try to start up google-chrome. I change the application font from 'Sans' to
'Nada', then it can work.

I hope my experience is useful.


I hope this issure
Comment 77 by yusukes@chromium.org, Jul 18, 2009
The issue similar to kuh3h3's reproduced on trunk (r21053) with my home workstation
that uses Japanese locale.

yusukes@yusukes-desktop:~/chromium2/src/build$ ../sconsbuild/Release/chrome
[20666:20666:544922424350:FATAL:/home/yusukes/chromium2/src/app/gfx/font_skia.cc(90)]
Check failed: tf. Could not find font: IPA モナー Pゴシック

(gdb) bt
#0  gfx::Font::CreateFont (font_family=@0xbf8c9468, font_size=12) at
/home/yusukes/chromium2/src/app/gfx/font_skia.cc:90
#1  0x096f94f4 in Font (this=0xbe573a0) at
/home/yusukes/chromium2/src/app/gfx/font_gtk.cc:73
#2  0x09702e01 in ResourceBundle::LoadFontsIfNecessary (this=0xbdf0208) at
/home/yusukes/chromium2/src/app/resource_bundle.cc:162
#3  0x09703046 in ResourceBundle::GetFont (this=0xbdf0208,
style=ResourceBundle::BaseFont) at /home/yusukes/chromium2/src/app/resource_bundle.cc:189
#4  0x0951ecb6 in TabRendererGtk::InitResources () at
/home/yusukes/chromium2/src/chrome/browser/gtk/tabs/tab_renderer_gtk.cc:822
#5  0x095201a7 in TabRendererGtk::GetMinimumUnselectedSize () at
/home/yusukes/chromium2/src/chrome/browser/gtk/tabs/tab_renderer_gtk.cc:297
#6  0x09520a40 in TabRendererGtk::GetStandardSize () at
/home/yusukes/chromium2/src/chrome/browser/gtk/tabs/tab_renderer_gtk.cc:316
#7  0x09526765 in TabStripGtk (this=0xbe54150, model=0xbe0c348) at
/home/yusukes/chromium2/src/chrome/browser/gtk/tabs/tab_strip_gtk.cc:668
#8  0x094fd41f in BrowserWindowGtk::InitWidgets (this=0xbe0ddf0) at
/home/yusukes/chromium2/src/chrome/browser/gtk/browser_window_gtk.cc:1090
#9  0x095000e4 in BrowserWindowGtk (this=0xbe0ddf0, browser=0xbe0c310) at
/home/yusukes/chromium2/src/chrome/browser/gtk/browser_window_gtk.cc:399
#10 0x094fb8e8 in BrowserWindow::CreateBrowserWindow (browser=0xbe0c310) at
/home/yusukes/chromium2/src/chrome/browser/gtk/browser_window_factory_gtk.cc:12
#11 0x094829b6 in Browser::CreateBrowserWindow (this=0xbe0c310) at
/home/yusukes/chromium2/src/chrome/browser/browser.cc:277
#12 0x09484248 in Browser::Create (profile=0xbdf02b8) at
/home/yusukes/chromium2/src/chrome/browser/browser.cc:255
#13 0x0948edc6 in BrowserInit::LaunchWithProfile::OpenURLsInBrowser (this=0xbf8c9e7c,
browser=0x0, process_startup=true, urls=@0xbf8c99e4) at
/home/yusukes/chromium2/src/chrome/browser/browser_init.cc:563
#14 0x0948f476 in BrowserInit::LaunchWithProfile::OpenStartupURLs (this=0xbf8c9e7c,
is_process_startup=true, urls_to_open=@0xbf8c9c54) at
/home/yusukes/chromium2/src/chrome/browser/browser_init.cc:540
#15 0x0948f99c in BrowserInit::LaunchWithProfile::Launch (this=0xbf8c9e7c,
profile=0xbdf02b8, process_startup=true) at
/home/yusukes/chromium2/src/chrome/browser/browser_init.cc:431
#16 0x0948ff97 in LaunchBrowser (command_line=@0xbd6cdb8, profile=0xbdf02b8,
cur_dir=@0xbf8ca66c, process_startup=true, return_code=0xbf8ca670,
browser_init=0xbf8ca64c) at
/home/yusukes/chromium2/src/chrome/browser/browser_init.cc:335
#17 0x09490eb8 in BrowserInit::ProcessCmdLineImpl (command_line=@0xbd6cdb8,
cur_dir=@0xbf8ca66c, process_startup=true, profile=0xbdf02b8, return_code=0xbf8ca670,
browser_init=0xbf8ca64c) at
/home/yusukes/chromium2/src/chrome/browser/browser_init.cc:821
#18 0x09262b0f in BrowserInit::Start (this=0xbf8ca64c, cmd_line=@0xbd6cdb8,
cur_dir=@0xbf8ca66c, profile=0xbdf02b8, return_code=0xbf8ca670) at
/home/yusukes/chromium2/src/chrome/browser/browser_init.h:39
#19 0x0925f02a in BrowserMain (parameters=@0xbf8cac00) at
/home/yusukes/chromium2/src/chrome/browser/browser_main.cc:761
#20 0x092591cf in ChromeMain (argc=1, argv=0xbf8cad64) at
/home/yusukes/chromium2/src/chrome/app/chrome_dll_main.cc:510
#21 0x0925895e in main (argc=1, argv=0xbf8cad64) at
/home/yusukes/chromium2/src/chrome/app/chrome_exe_main_gtk.cc:33

I'm using Ubuntu 9.04 with default desktop environment (Gnome), and
/usr/bin/gnome-appearance-properties command shows that my default font (more
precisely "Application font") is the "IPA モナー Pゴシック", that is one of the most
popular Japanese font on Linux. Note that the font in question,
/usr/share/fonts/truetype/ttf-ipamonafont/ipagp-mona.ttf, has two family names - an
English name and an internationalized (Japanese) one.

$ uname -a
Linux yusukes-desktop 2.6.28-13-generic #45-Ubuntu SMP Tue Jun 30 19:49:51 UTC 2009
i686 GNU/Linux

$ showttf /usr/share/fonts/truetype/ttf-ipamonafont/ipagp-mona.ttf | egrep -A 1 -e
"platform=1 .* Family" 
   platform=1 plat spec encoding=0 language=0 name=1 Family
    strlen=14  stroff=288 IPAMonaPGothic
--
   platform=1 plat spec encoding=1 language=b name=1 Family
    strlen=20  stroff=871 IPA <83><82><83>i<81>[ P<83>S<83>V<83>b<83>N

I'm not a Linux font expert, but font matching algorithm in FontConfigDirect::Match()
seems to be the culprit.

In Font::Font() function, the GtkSettings object returns internationalized font
family name, at least on my end:

(gdb) up
#1  0x096f94f4 in Font (this=0xbe573a0) at
/home/yusukes/chromium2/src/app/gfx/font_gtk.cc:73
(gdb) p font_name 
$1 = (gchar *) 0xbe573f8 "IPA \343\203\242\343\203\212\343\203\274
P\343\202\264\343\202\267\343\203\203\343\202\257 12"
(gdb) call printf("%s\n", font_name)
IPA モナー Pゴシック 12
$2 = 31
(gdb) p family_name
$3 = 0xbe57470 "IPA \343\203\242\343\203\212\343\203\274
P\343\202\264\343\202\267\343\203\203\343\202\257"
(gdb) call printf("%s\n", family_name)
IPA モナー Pゴシック
$4 = 28
(gdb) call printf("%ls\n", font_family.c_str())
IPA モナー Pゴシック
$5 = 28

and the returned font name (L"IPA モナー Pゴシック") is then passed in to the
FontConfigDirect::Match() function:

#0  FontConfigDirect::Match (this=0xc27e240, result_family=0x0,
result_fileid=0xbfa6126c, fileid_valid=false, fileid=4294967295, family=@0xbfa61278,
is_bold=0xbfa6127e, is_italic=0xbfa6127d) at
/home/yusukes/chromium2/src/skia/ext/SkFontHost_fontconfig_direct.cpp:157
#1  0x098f8ae7 in SkFontHost::CreateTypeface (familyFace=0x0, familyName=0xc27e204
"IPA \343\203\242\343\203\212\343\203\274
P\343\202\264\343\202\267\343\203\203\343\202\257", style=SkTypeface::kNormal) at
/home/yusukes/chromium2/src/skia/ext/SkFontHost_fontconfig.cpp:116
#2  0x098ec8c8 in SkTypeface::CreateFromName (name=0xc27e204 "IPA
\343\203\242\343\203\212\343\203\274
P\343\202\264\343\202\267\343\203\203\343\202\257", style=kNormal) at
/home/yusukes/chromium2/src/third_party/skia/src/core/SkTypeface.cpp:31
#3  0x096f9f3c in gfx::Font::CreateFont (font_family=@0xbfa61608, font_size=12) at
/home/yusukes/chromium2/src/app/gfx/font_skia.cc:87
#4  0x096f94f4 in Font (this=0xc231eb0) at
/home/yusukes/chromium2/src/app/gfx/font_gtk.cc:73

The Match() function first tries to resolve a post_config_family from the
internationalized family name (at L.117) and gets "IPA モナー Pゴシック" (identical
name. it's still internationalized). Then it tries to get a post_match_family by
calling FcPatternGetString(match, FC_FAMILY, 0, &post_match_family) at L.158 and this
time it gets *English* name of the font, "IPAMonaPGothic". Since the
post_config_family and the post_match_family are not the same, the function returns
false and it ends up the CHECK failure.

    FcChar8* post_match_family;
    FcPatternGetString(match, FC_FAMILY, 0, &post_match_family);
    const bool family_names_match =
        family.empty() ?
        true :
        strcasecmp((char *)post_config_family, (char *)post_match_family) == 0;
    if (!family_names_match && !IsFallbackFontAllowed(family)) {
        FcFontSetDestroy(font_set);
        return false;
    }

I've created a small patch which should fix this by changing the logic so that it
tries to retrieve and compare all post_match_families in the font file. I believe
this patch should fix at least kuh3h3's case, though I'm not sure if it fixes
"Bitstream Vera Sans" cases too.

Adam, can you review http://codereview.chromium.org/155751?

--Yusuke

Comment 78 by kuh3h3, Jul 18, 2009
yusuke, and agl 
great thanks for your kind help.
al last my font problems have gone.
chrome 3.0.195.0 (21064) buildbot snapshot version that i download just now works well.
but still some koream bold fonts(gulim , batang) looks indistinct.
http://kuh3h3.naru.to/screenshot_63.png


Comment 79 by kuh3h3, Jul 18, 2009
for comparision,midori with recent svn compiled qtweblit looks like this .
of course, the two browsers use same nanum font.
http://kuh3h3.naru.to/screenshot_64.png

Comment 80 by kuh3h3, Jul 18, 2009
ah sorry for mistyping.midori with gtkwebkit
Comment 81 by agl@chromium.org, Jul 19, 2009
Ack the rendering issue: I've seen that too, although I've no idea where it's coming 
from.
Comment 82 by agl@chromium.org, Jul 20, 2009
Marking as fixed for now, since I think it is.
Status: Fixed
Comment 83 by agl@chromium.org, Jul 20, 2009
 Issue 17192  has been merged into this issue.
Cc: xly...@chromium.org js...@chromium.org a...@chromium.org est...@chromium.org
Comment 84 by phitaugamma, Aug 13, 2009
Getting:
[11532:11532:6547845148:FATAL:/b/slave/chromium-rel-linux/build/src/app/gfx/font_skia.cc(90)]
Check failed: tf. Could not find font: Helvetica
on Fedora 11.

% fc-list | grep Helvetica
Helvetica:style=Oblique
Helvetica:style=Bold
Helvetica:style=Regular
Helvetica:style=Bold Oblique

% cd ~/.fonts ; ls | grep helv
helvB08.pcf.gz
helvB10.pcf.gz
helvB12.pcf.gz
...

Helvetica is my default font, if I change it to something else then Chromium works.

Chromium 4.0.202.0 (23322)

Comment 85 by yusukes@chromium.org, Aug 14, 2009
phitaugamma:
I guess your case is dupe of  issue 15949 .

Comment 86 by olegueret, Sep 05, 2009
Me having this problem too (Chromium installed today - 2009-09-05).

oleguer@imhotep:~$ chromium-browser
[7085:7085:2011175710:FATAL:/build/buildd/chromium-browser-4.0.207.0~svn20090904r25449/build-tree/src/app/gfx/font_skia.cc(90)]
Check failed: tf. Could not find font: Bitstream Vera Sans
Traza/trampa de punto de ruptura


I'm running Ubuntu Jaunty 9.04 (32 bits)
Chromium version is 4.0.207.0 (Ubuntu build 25449)
GNOME language is set to Spanish (maybe this is relevant?)
Application font is set to Bitstream Vera Sans

Changing application font (System -> Preferences -> Appearance -> Typography ->
Application typography) to Devjavu Sans (Book style) solved it.

Perhaps the fix (see comment 82) is still not propagated to ubuntu's daily builds?
In which revision was this fix applied?
Comment 87 by yusukes@chromium.org, Sep 06, 2009
olegueret: Since the fix (#82) is landed in revision 21063, it should already be applied to your build (25449). 

I tried to reproduce the issue by installing Spanish language support to my Ubuntu 9.04, but I couldn't. Chromium loads Bitstream Vera Sans fonts without errors...


Comment 88 by DizzyC81, Sep 09, 2009
[13263:13263:15258658148:FATAL:/build/buildd/chromium-browser-4.0.207.0~svn20090907r25598/build-tree/src/app/gfx/font_skia.cc(90)]
Check failed: tf. Could not find font: snap
Trace/breakpoint trap

running Jaunty 9.04 (32bits)
build 25598 - still the same problem

BTW: Of course i get the same error with google-chrome. Changing Application Font
lets me start chromium.
Comment 89 by yusukes@chromium.org, Sep 09, 2009
 Issue 17338  has been merged into this issue.
Comment 90 by yusukes@chromium.org, Sep 09, 2009
olegueret, DizzyC81:
Probably my patch had fixed only 1 issue (kuh3h3's) out of 2.

agl:
Do you have any information about this?

Status: Assigned
Comment 91 by yusukes@chromium.org, Sep 09, 2009
agl:
I finally succeeded to reproduce it (hopefully). In short, I guess <edit
mode="prepend" binding="same"> or <edit mode="prepend" binding="weak"> in their
fontconfig configurations might trigger this bug.

For example, if a user has a ~/.fonts.conf file (or ~/.fonts.conf.d/foo.conf or
/etc/fonts/conf.d/bar.conf  file?) which looks like:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <edit mode="prepend" binding="same" name="family">  <!-- or binding="weak" -->
      <string>DejaVu Sans</string>  <!-- always prefer DejaVu Sans -->
    </edit>
  </match>
</fontconfig>

and the user sets the Application Font to "Bitstream Vera Sans" (or any fonts other
than "DejaVu Sans") using /usr/bin/gnome-appearance-properties command, chromium
fails to start with the error:

[8513:8513:2971107470385:FATAL:/usr/local/google/home/yusukes/chromium_rw2/src/app/gfx/font_skia.cc(90)]
Check failed: tf. Could not find font: Bitstream Vera Sans
Trace/breakpoint trap

This is because  |post_config_family|  in FontConfigDirect::Match becomes "DejaVu
Sans" while  |post_match_family|  remains "Bitstream Vera Sans" for unclear reasons.


My environment: gHardy 8.04 64bit

$ dpkg -l fontconfig | grep fontconfig
ii  fontconfig                                                2.5.0-2ubuntu3        
                              generic font configuration library - support binaries

$ printenv | egrep -e '(LANG|LC_)'
LC_MONETARY=C
LC_NUMERIC=C
LC_COLLATE=C
LANG=en_US.UTF-8
GDM_LANG=en_US
LC_TIME=C

$ fc-list | egrep -r '(Bitstream Vera Sans|DejaVu Sans)'
Bitstream Vera Sans Mono:style=Bold
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
DejaVu Sans Mono:style=Bold Oblique
Bitstream Vera Sans:style=Oblique
Bitstream Vera Sans:style=Roman
DejaVu Sans:style=Bold Oblique
Bitstream Vera Sans Mono:style=Oblique
DejaVu Sans:style=Oblique
Bitstream Vera Sans:style=Bold
DejaVu Sans Mono:style=Oblique
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
DejaVu Sans,DejaVu Sans Light:style=ExtraLight
Bitstream Vera Sans Mono:style=Bold Oblique
Bitstream Vera Sans:style=Bold Oblique
Bitstream Vera Sans Mono:style=Roman
DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
DejaVu Sans:style=Bold
DejaVu Sans:style=Book
DejaVu Sans Mono:style=Book
DejaVu Sans Mono:style=Bold

$ fc-match -s "Bitstream Vera Sans" | head -10
Vera.ttf: "Bitstream Vera Sans" "Roman"
DejaVuSans.ttf: "DejaVu Sans" "Book"
DejaVuSans-ExtraLight.ttf: "DejaVu Sans" "ExtraLight"
DejaVuSans-Bold.ttf: "DejaVu Sans" "Bold"
DejaVuSans-Oblique.ttf: "DejaVu Sans" "Oblique"
DejaVuSans-BoldOblique.ttf: "DejaVu Sans" "Bold Oblique"
Verdana.ttf: "Verdana" "Normal"
Arial.ttf: "Arial" "Normal"
luxisr.ttf: "Luxi Sans" "Regular"
n019003l.pfb: "Nimbus Sans L" "Regular"

$ FC_DEBUG=1 fc-match "Bitstream Vera Sans"
FC_DEBUG=1
FC_DEBUG=1
Match Pattern has 17 elts (size 32)
    family: "DejaVu Sans"(w) "Bitstream Vera Sans"(s) "DejaVu Sans"(w) "Bitstream
Vera Sans"(w) "Verdana"(w) "Arial"(w) "Liberation Sans"(w) "Albany AMT"(w) "Luxi
Sans"(w) "Nimbus Sans L"(w) "Helvetica"(w) "Liberation Sans"(w) "WenQuanYi Zen
Hei"(w) "AR PL UMing HK"(w) "AR PL UMing CN"(w) "Khmer OS"(w) "Nachlieli"(w) "MgOpen
Modata"(w) "VL Gothic"(w) "IPAMonaGothic"(w) "IPAGothic"(w) "Sazanami Gothic"(w)
"Kochi Gothic"(w) "AR PL KaitiM GB"(w) "AR PL KaitiM Big5"(w) "AR PL ShanHeiSun
Uni"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w) "MSゴシック"(w)
"ZYSong18030"(w) "Baekmuk Dotum"(w) "Baekmuk Gulim"(w) "SimSun"(w) "KacstQura"(w)
"Lohit Bengali"(w) "Lohit Gujarati"(w) "Lohit Hindi"(w) "Lohit Punjabi"(w) "Lohit
Tamil"(w) "Lohit Malayalam"(w) "Lohit Kannada"(w) "Lohit Telugu"(w) "Lohit Oriya"(w)
"LKLUG"(w) "sans-serif"(w) "Waree"(w) "Loma"(w) "Garuda"(w) "Roya"(w) "Koodak"(w)
"Terafik"(w)

   ^^^
   The first font in the list is "DejaVu Sans", while the matched font is "Bitstream
Vera Sans".


--Yusuke

Comment 92 by yusukes@chromium.org, Sep 09, 2009
So, how about skipping the strcasecmp check below when we request a font for
BrowserUI? I'll send you a patch later.

[SkFontHost_fontconfig_direct.cpp]
        family_names_match =
          family.empty() ?
          true :
          strcasecmp((char *)post_config_family,
                     (char *)post_match_family) == 0;


Status: Started
Owner: yusu...@chromium.org
Comment 93 by olegueret, Sep 09, 2009
I've cheched various things (can check more if necessary):

In my laptop (ubuntu hardy 8.04 LTS 32bits) this bug doesn't happen, it works fine
with Bitstream Vera Sans, etc.

In my desktop PC (jaunty 9.04 32bits):

Bug still present at build 4.0.207.0 (Ubuntu build 25615):

oleguer@imhotep:~$ chromium-browser 
[9393:9393:2153696381:FATAL:/build/buildd/chromium-browser-4.0.207.0~svn20090908r25615/build-tree/src/app/gfx/font_skia.cc(90)]
Check failed: tf. Could not find font: Bitstream Vera Sans
Traza/trampa de punto de ruptura


These fonts work FINE: 
Arial, Courier New, Verdana, Times New Roman, Comic Sans MS, Freemono, DejaVu Sans,
Inconsolata (in ~/.fonts), Monaco (in ~/.fonts), Bitstream Charter, even Webdings !!

These ones crashes chromium:
Bitstream Vera Sans, Bitstream Vera Sans Mono, Bitstream Vera Serif

I have nor ~/.fonts.conf file neither ~/.fonts.conf.d directories (apart from
creating .fonts directory and putting 2 fonts there I'm pretty sure I didn't touch
any .conf file related to fonts):

oleguer@imhotep:~$ cd
oleguer@imhotep:~$ ls .font*
.fontconfig:
089dead882dea3570ffc31a9898cfb69-x86.cache-2
21a99156bb11811cef641abeda519a45-x86.cache-2
2c8a9f1c478c346f5ab7f8cad564058c-x86.cache-2
67f9f09381019f580006e9814753826e-x86.cache-2
6d41288fd70b0be22e8c3a91e032eec0-x86.cache-2
8327b2918fe09e4e19cc3098c47aa3e3-x86.cache-2
cabbd14511b9e8a55e92af97fb3a0461-x86.cache-2
ddd4086aec35a5275babba44bb759c3c-x86.cache-2
e13b20fdb08344e0e664864cc2ede53d-x86.cache-2
eeebfc908bd29a90773fd860017aada4-x86.cache-2

.fonts:
Inconsolata.ttf  Monaco_Linux.ttf


In /etc/fonts/conf.d/ there aren't files with binding="whatever":

oleguer@imhotep:/etc/fonts/conf.d$ grep -r weak `find \( ! -regex '.*/\..*' \) -type f`
oleguer@imhotep:/etc/fonts/conf.d$ grep -r same `find \( ! -regex '.*/\..*' \) -type f`
oleguer@imhotep:/etc/fonts/conf.d$ grep -r binding `find \( ! -regex '.*/\..*' \)
-type f`
oleguer@imhotep:/etc/fonts/conf.d$ grep -r prepend `find \( ! -regex '.*/\..*' \)
-type f`
oleguer@imhotep:/etc/fonts/conf.d$ find \( ! -regex '.*/\..*' \)
.
./README
./11-lcd-filter-lcddefault.conf
./10-hinting-slight.conf
./64-ttf-arphic-uming.conf
./40-nonlatin.conf
./41-ttf-arphic-uming.conf
./70-no-bitmaps.conf
./49-sansserif.conf
./90-ttf-thai-tlwg-synthetic.conf
./69-unifont.conf
./25-ttf-arphic-uming-render.conf
./30-defoma.conf
./64-ttf-thai-tlwg.conf
./ttf-malayalam-fonts.conf
./20-fix-globaladvance.conf
./10-antialias.conf
./30-cjk-aliases.conf
./60-latin.conf
./50-user.conf
./65-fonts-persian.conf
./20-unhint-small-vera.conf
./90-synthetic.conf
./51-local.conf
./90-ttf-arphic-uming-embolden.conf
./30-metric-aliases.conf
./53-monospace-lcd-filter.conf
./65-nonlatin.conf
./CJK_aliases
./35-ttf-arphic-uming-aliases.conf
./45-latin.conf
./10-hinting.conf
./80-delicious.conf
./30-urw-aliases.conf


I issued same commands of comment #91:

oleguer@imhotep:~$ dpkg -l fontconfig | grep fontconfig
ii  fontconfig                                 2.6.0-1ubuntu12                      
               generic font configuration library - support binaries

oleguer@imhotep:~$ printenv | egrep -e '(LANG|LC_)'
LANG=es_ES.UTF-8
GDM_LANG=es_ES.UTF-8

oleguer@imhotep:~$ fc-list | egrep -r '(Bitstream Vera Sans|DejaVu Sans)'
Bitstream Vera Sans Mono:style=Bold
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
DejaVu Sans Mono:style=Bold Oblique
Bitstream Vera Sans:style=Oblique
Bitstream Vera Sans:style=Roman
DejaVu Sans:style=Bold Oblique
Bitstream Vera Sans Mono:style=Oblique
DejaVu Sans:style=Oblique
Bitstream Vera Sans:style=Bold
DejaVu Sans Mono:style=Oblique
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
DejaVu Sans,DejaVu Sans Light:style=ExtraLight
Bitstream Vera Sans Mono:style=Bold Oblique
Bitstream Vera Sans:style=Bold Oblique
Bitstream Vera Sans Mono:style=Roman
DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
DejaVu Sans:style=Bold
DejaVu Sans:style=Book
DejaVu Sans Mono:style=Book
DejaVu Sans Mono:style=Bold

oleguer@imhotep:~$ fc-match -s "Bitstream Vera Sans" | head -10
Vera.ttf: "Bitstream Vera Sans" "Roman"
Arial.ttf: "Arial" "Normal"
DejaVuSansCondensed.ttf: "DejaVu Sans Condensed" "Condensed"
DejaVuSansCondensed-Bold.ttf: "DejaVu Sans Condensed" "Condensed Bold"
DejaVuSansCondensed-Oblique.ttf: "DejaVu Sans Condensed" "Condensed Oblique"
DejaVuSansCondensed-BoldOblique.ttf: "DejaVu Sans Condensed" "Condensed Bold Oblique"
n019003l.pfb: "Nimbus Sans L" "Regular"
DejaVuSans-ExtraLight.ttf: "DejaVu Sans" "ExtraLight"
uming.ttc: "AR PL UMing HK" "Light"
uming.ttc: "AR PL UMing CN" "Light"

oleguer@imhotep:~$ FC_DEBUG=1 fc-match "Bitstream Vera Sans"
FC_DEBUG=1
FC_DEBUG=1
Match Pattern has 17 elts (size 32)
	family: "Arial"(w) "DejaVu Sans Condensed"(w) "Luxi Sans"(w) "Nimbus Sans L"(w)
"Bitstream Vera Sans"(s) "Arial"(w) "DejaVu Sans"(w) "Bitstream Vera Sans"(w)
"Verdana"(w) "Arial"(w) "Albany AMT"(w) "Luxi Sans"(w) "Nimbus Sans L"(w)
"Helvetica"(w) "Lucida Sans Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "AR
PL UMing HK"(w) "AR PL UMing CN"(w) "Waree"(w) "Loma"(w) "Garuda"(w) "Umpush"(w)
"Nachlieli"(w) "Lucida Sans Unicode"(w) "Yudit Unicode"(w) "Kerkis"(w) "ArmNet
Helvetica"(w) "Artsounk"(w) "BPG UTF8 M"(w) "Norasi"(w) "Saysettha Unicode"(w) "JG
Lao Old Arial"(w) "GF Zemen Unicode"(w) "Pigiarniq"(w) "B Davat"(w) "B Compset"(w)
"Kacst-Qr"(w) "Urdu Nastaliq Unicode"(w) "Raghindi"(w) "Mukti Narrow"(w)
"malayalam"(w) "Sampige"(w) "padmaa"(w) "Hapax Berbère"(w) "MS Gothic"(w) "UmePlus P
Gothic"(w) "SimSun"(w) "PMingLiu"(w) "AR PL ShanHeiSun Uni"(w) "AR PL New Sung"(w)
"MgOpen Modata"(w) "VL Gothic"(w) "IPAMonaGothic"(w) "IPAGothic"(w) "Sazanami
Gothic"(w) "Kochi Gothic"(w) "AR PL KaitiM GB"(w) "AR PL KaitiM Big5"(w) "AR PL
ShanHeiSun Uni"(w) "AR PL SungtiL GB"(w) "AR PL Mingti2L Big5"(w) "MS ゴシック"(w)
"ZYSong18030"(w) "TSCu_Paranar"(w) "UnDotum"(w) "Baekmuk Dotum"(w) "Baekmuk Gulim"(w)
"KacstQura"(w) "Lohit Bengali"(w) "Lohit Gujarati"(w) "Lohit Hindi"(w) "Lohit
Punjabi"(w) "Lohit Tamil"(w) "Lohit Malayalam"(w) "Lohit Kannada"(w) "Lohit
Telugu"(w) "Lohit Oriya"(w) "LKLUG"(w) "FreeSans"(w) "Arial Unicode MS"(w) "Arial
Unicode"(w) "Code2000"(w) "Code2001"(w) "sans-serif"(w) "Roya"(w) "Koodak"(w)
"Terafik"(w) "DejaVu Sans Condensed"(w) "Luxi Sans"(w) "Nimbus Sans L"(w) "sans-serif"(w)

Comment 94 by yusukes@chromium.org, Sep 09, 2009
oleguer, thanks for the info!

> oleguer@imhotep:/etc/fonts/conf.d$ grep -r weak `find \( ! -regex '.*/\..*' \) -type f`
> ..
> oleguer@imhotep:/etc/fonts/conf.d$ grep -r prepend `find \( ! -regex '.*/\..*' \)
-type f` 

Maybe "-type f" is not suitable since most of files in the directory are symlinks. If you simply use "grep same -r ." or something like that, some files should be listed. But anyway, the information you provided was sufficient, thanks.

> family: "Arial"(w) "DejaVu Sans Condensed"(w) "Luxi Sans"(w) "Nimbus Sans L"(w)
"Bitstream Vera Sans"(s)

Our font matching function expects that "Bitstream Vera Sans" is on the top of the list, but in fact "Arial (weak)" is there, probably due to your conf.d settings. And this might be the culprit of the error. I believe the matching function should be improved to support this case.

agl:
I think we should treat the A-B-A case as a "good match" as well: http://codereview.chromium.org/192062

    requested family: A
    post_config_family: B
    post_match_family: A

> So, how about skipping the strcasecmp check below when we request a font for
> BrowserUI?

This was a bad idea since we also have to handle font requests for web content area in the improved way above. Otherwise, oleguer can't use the Bitstream font in web content area.
Comment 95 by DizzyC81, Sep 10, 2009
I'm having the same problems as described above except I use 'Snap' font.
So i also ran 'FC_DEBUG=1 fc-match "Snap"' but for me 'Snap' is on top so maybe
that's not the problem after all?

I noticed though that the "Snap" font is the only one with 'strong' hinting i suppose
judging by the (s) following the font name. Could it be something related to the snap
font beeing a bitmap font? support for bitmap font is disabled by default in Ubuntu
so i had to enable it manualy.
Hope the info helps cause I'd reeeealy like to use chromium without having to change
my font.

If i can help in any whay please do tell.

Here's the output:

dizzyc@dizzyc-desktop:~$ FC_DEBUG=1 fc-match "Snap"
FC_DEBUG=1
FC_DEBUG=1
Match Pattern has 17 elts (size 32)
	family: "Snap"(s) "DejaVu Sans"(w) "Bitstream Vera Sans"(w) "Verdana"(w) "Arial"(w)
"Albany AMT"(w) "Luxi Sans"(w) "Nimbus Sans L"(w) "Helvetica"(w) "Lucida Sans
Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "AR PL UMing HK"(w) "AR PL UMing
CN"(w) "Waree"(w) "Loma"(w) "Garuda"(w) "Umpush"(w) "Nachlieli"(w) "Lucida Sans
Unicode"(w) "Yudit Unicode"(w) "Kerkis"(w) "ArmNet Helvetica"(w) "Artsounk"(w) "BPG
UTF8 M"(w) "Norasi"(w) "Saysettha Unicode"(w) "JG Lao Old Arial"(w) "GF Zemen
Unicode"(w) "Pigiarniq"(w) "B Davat"(w) "B Compset"(w) "Kacst-Qr"(w) "Urdu Nastaliq
Unicode"(w) "Raghindi"(w) "Mukti Narrow"(w) "malayalam"(w) "Sampige"(w) "padmaa"(w)
"Hapax Berbère"(w) "MS Gothic"(w) "UmePlus P Gothic"(w) "SimSun"(w) "PMingLiu"(w) "AR
PL ShanHeiSun Uni"(w) "AR PL New Sung"(w) "MgOpen Modata"(w) "VL Gothic"(w)
"IPAMonaGothic"(w) "IPAGothic"(w) "Sazanami Gothic"(w) "Kochi Gothic"(w) "AR PL
KaitiM GB"(w) "AR PL KaitiM Big5"(w) "AR PL ShanHeiSun Uni"(w) "AR PL SungtiL GB"(w)
"AR PL Mingti2L Big5"(w) "MS ゴシック"(w) "ZYSong18030"(w) "TSCu_Paranar"(w)
"UnDotum"(w) "Baekmuk Dotum"(w) "Baekmuk Gulim"(w) "KacstQura"(w) "Lohit Bengali"(w)
"Lohit Gujarati"(w) "Lohit Hindi"(w) "Lohit Punjabi"(w) "Lohit Tamil"(w) "Lohit
Malayalam"(w) "Lohit Kannada"(w) "Lohit Telugu"(w) "Lohit Oriya"(w) "LKLUG"(w)
"FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w) "Code2001"(w)
"sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w)
	slant: 0(i)(s)
	weight: 100(i)(s)
	width: 100(i)(s)
	size: 12(f)(s)
	pixelsize: 12.5(f)(s)
	hintstyle: 3(i)(s)
	hinting: FcTrue(s)
	verticallayout: FcFalse(s)
	autohint: FcFalse(s)
	globaladvance: FcTrue(s)
	dpi: 75(f)(s)
	scale: 1(f)(s)
	lang: "en-US"(s)
	fontversion: 2147483647(i)(s)
	embeddedbitmap: FcTrue(s)
	decorative: FcFalse(s)

Best score 0 0 0 200 101 0 250 0 0 2000 0 0 0 0 0 2.14748e+11Pattern has 17 elts
(size 17)
	family: "snap"(w)
	style: "Regular"(w)
	slant: 0(i)(w)
	weight: 80(i)(w)
	width: 100(i)(w)
	pixelsize: 10(f)(w)
	foundry: "artwiz"(w)
	antialias: FcFalse(w)
	file: "/home/dizzyc/.fonts/artwiz/snap.pcf"(w)
	index: 0(i)(w)
	outline: FcFalse(w)
	scalable: FcFalse(w)
	charset: 0000: 00000000 ffffffff ffffffff 7fffffff 00000000 00000000 00000000 00000000
(w)
	lang: fj|ho|ia|ie|io|nr|om|so|ss|st|sw|ts|xh|zu(w)
	fontversion: 0(i)(w)
	fontformat: "PCF"(w)
	decorative: FcFalse(w)

snap.pcf: "snap" "Regular"
Comment 96 by DizzyC81, Sep 10, 2009
I'm having the same problems as described above except I use 'Snap' font.
So i also ran 'FC_DEBUG=1 fc-match "Snap"' but for me 'Snap' is on top so maybe
that's not the problem after all?

I noticed though that the "Snap" font is the only one with 'strong' hinting i suppose
judging by the (s) following the font name. Could it be something related to the snap
font beeing a bitmap font? support for bitmap font is disabled by default in Ubuntu
so i had to enable it manualy.
Hope the info helps cause I'd reeeealy like to use chromium without having to change
my font.

If i can help in any whay please do tell.

Here's the output:

dizzyc@dizzyc-desktop:~$ FC_DEBUG=1 fc-match "Snap"
FC_DEBUG=1
FC_DEBUG=1
Match Pattern has 17 elts (size 32)
    family: "Snap"(s) "DejaVu Sans"(w) "Bitstream Vera Sans"(w) "Verdana"(w)
"Arial"(w) "Albany AMT"(w) "Luxi Sans"(w) "Nimbus Sans L"(w) "Helvetica"(w) "Lucida
Sans Unicode"(w) "BPG Glaho International"(w) "Tahoma"(w) "AR PL UMing HK"(w) "AR PL
UMing CN"(w) "Waree"(w) "Loma"(w) "Garuda"(w) "Umpush"(w) "Nachlieli"(w) "Lucida Sans
Unicode"(w) "Yudit Unicode"(w) "Kerkis"(w) "ArmNet Helvetica"(w) "Artsounk"(w) "BPG
UTF8 M"(w) "Norasi"(w) "Saysettha Unicode"(w) "JG Lao Old Arial"(w) "GF Zemen
Unicode"(w) "Pigiarniq"(w) "B Davat"(w) "B Compset"(w) "Kacst-Qr"(w) "Urdu Nastaliq
Unicode"(w) "Raghindi"(w) "Mukti Narrow"(w) "malayalam"(w) "Sampige"(w) "padmaa"(w)
"Hapax Berbère"(w) "MS Gothic"(w) "UmePlus P Gothic"(w) "SimSun"(w) "PMingLiu"(w) "AR
PL ShanHeiSun Uni"(w) "AR PL New Sung"(w) "MgOpen Modata"(w) "VL Gothic"(w)
"IPAMonaGothic"(w) "IPAGothic"(w) "Sazanami Gothic"(w) "Kochi Gothic"(w) "AR PL
KaitiM GB"(w) "AR PL KaitiM Big5"(w) "AR PL ShanHeiSun Uni"(w) "AR PL SungtiL GB"(w)
"AR PL Mingti2L Big5"(w) "MS ゴシック"(w) "ZYSong18030"(w) "TSCu_Paranar"(w)
"UnDotum"(w) "Baekmuk Dotum"(w) "Baekmuk Gulim"(w) "KacstQura"(w) "Lohit Bengali"(w)
"Lohit Gujarati"(w) "Lohit Hindi"(w) "Lohit Punjabi"(w) "Lohit Tamil"(w) "Lohit
Malayalam"(w) "Lohit Kannada"(w) "Lohit Telugu"(w) "Lohit Oriya"(w) "LKLUG"(w)
"FreeSans"(w) "Arial Unicode MS"(w) "Arial Unicode"(w) "Code2000"(w) "Code2001"(w)
"sans-serif"(w) "Roya"(w) "Koodak"(w) "Terafik"(w)
    slant: 0(i)(s)
    weight: 100(i)(s)
    width: 100(i)(s)
    size: 12(f)(s)
    pixelsize: 12.5(f)(s)
    hintstyle: 3(i)(s)
    hinting: FcTrue(s)
    verticallayout: FcFalse(s)
    autohint: FcFalse(s)
    globaladvance: FcTrue(s)
    dpi: 75(f)(s)
    scale: 1(f)(s)
    lang: "en-US"(s)
    fontversion: 2147483647(i)(s)
    embeddedbitmap: FcTrue(s)
    decorative: FcFalse(s)

Best score 0 0 0 200 101 0 250 0 0 2000 0 0 0 0 0 2.14748e+11Pattern has 17 elts
(size 17)
    family: "snap"(w)
    style: "Regular"(w)
    slant: 0(i)(w)
    weight: 80(i)(w)
    width: 100(i)(w)
    pixelsize: 10(f)(w)
    foundry: "artwiz"(w)
    antialias: FcFalse(w)
    file: "/home/dizzyc/.fonts/artwiz/snap.pcf"(w)
    index: 0(i)(w)
    outline: FcFalse(w)
    scalable: FcFalse(w)
    charset: 0000: 00000000 ffffffff ffffffff 7fffffff 00000000 00000000 00000000
00000000
(w)
    lang: fj|ho|ia|ie|io|nr|om|so|ss|st|sw|ts|xh|zu(w)
    fontversion: 0(i)(w)
    fontformat: "PCF"(w)
    decorative: FcFalse(w)

snap.pcf: "snap" "Regular"
Comment 97 by DizzyC81, Sep 10, 2009
PS: Could it be that a 'case sensitivity' problem. I noticed the output contains both
'snap' and 'Snap' variants.
Comment 98 by DizzyC81, Sep 10, 2009
PS: Could it be a 'case sensitivity' problem. I noticed the output contains both
'snap' and 'Snap' variants.
Comment 99 by yusukes@chromium.org, Sep 10, 2009
DizzyC81:
Thanks for the detailed info. 

> Could it be something related to the snap font beeing a bitmap font? support 
for bitmap font is disabled by default in Ubuntu so i had to enable it manualy.
> ...
> snap.pcf: "snap" "Regular"

Unfortunately Chromium does not support non-scalable font such as .pcf.
Please check  issue 15949 . 

Comment 100 by bugdroid1@chromium.org, Sep 10, 2009
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=25959 

------------------------------------------------------------------------
r25959 | yusukes@google.com | 2009-09-10 17:42:26 -0700 (Thu, 10 Sep 2009) | 10 lines
Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/skia/ext/SkFontHost_fontconfig_direct.cpp?r1=25959&r2=25958

Second fix for the  Issue 12530 . Modified Match() function so that it allows the following case:

  requested family: A
  post_config_family: B
  post_match_family: A

BUG=12530
TEST=none

Review URL: http://codereview.chromium.org/192062
------------------------------------------------------------------------

Comment 101 by yusukes@chromium.org, Sep 10, 2009
Landed in r25959.

oleguer,
Could you check if the second patch fixes your problem when a new Ubuntu 
package gets released?

Status: Fixed
Comment 102 by olegueret, Sep 14, 2009
yusukes,

I will check it when a package its available; latest build which includes fix is broken 
in launchpad (r26091) and the one available right now is too old (r25615)
Comment 103 by olegueret, Sep 15, 2009
yusukes,

I could finally try latest fix and it works great!
Now chromium loads fine with Bitstream Vera Sans & similar fonts.

Well done!

(tested with r26159) 
Comment 104 by yusukes@chromium.org, Sep 15, 2009
Thanks, olegueret!

Comment 105 by bugdroid1@chromium.org, Sep 18, 2009
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=26652 

------------------------------------------------------------------------
r26652 | yusukes@google.com | 2009-09-18 23:26:56 -0700 (Fri, 18 Sep 2009) | 11 lines
Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/app/gfx/font_skia.cc?r1=26652&r2=26651

Workaround for  Issue 15949 : cannot use the "WenQuanYi Bitmap Song" (chinese Fonts) as the system fonts with chrome

- Adding a font fallback code to Font::CreateFont() in font_skia.cc so that Chromium can startup even when a non-scalable font is selected as an application font. If the application font is non-scalable, Font::CreateFont() loads a _scalable_ "sans" font as a fallback.
  (Note: The function still never load non-scalable fonts.)
- Removed a comment for  issue 12530  since the issue has been fixed.

BUG=12530
BUG=15949
TEST=Download the snap.pcf font from http://artwizaleczapka.sourceforge.net/ and put it to ~/.fonts/. Remove temporarily /etc/fonts/conf.d/70-no-bitmaps.conf and run "fc-cache -f". Start /ust/bin/gnome-appearance-properties and select "snap" as your application font. Then start chromium and verify that it does not crash (by the CHECK failure) on startup.

Review URL: http://codereview.chromium.org/207009
------------------------------------------------------------------------

Sign in to add a comment