Bug 603302

Summary: bitmap-fangsongti-fonts is broken, causes freeze with 100% CPU usage
Product: [Fedora] Fedora Reporter: David <redhat>
Component: bitmap-fontsAssignee: Pravin Satpute <psatpute>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: fonts-bugs, jeff.raber, pnemade, psatpute
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-06-15 03:58:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David 2010-06-12 09:13:52 UTC
Description of problem:
When bitmap-fangsongti-fonts is installed, certain programs fail to start without any output on the console or in the GUI and eat 100% CPU.

Version-Release number of selected component (if applicable):
bitmap-fonts-compat-0.3-16.fc13.noarch
bitmap-fangsongti-fonts-0.3-16.fc13.noarch

How reproducible: perfect


Steps to Reproduce:
1. Install the two packages above from standard repositories (I don't think the empty compat package is required)
2. Install Skype 2.1.0.81 from skype.com
3. Attempt to run Skype

Actual results: 100% CPU usage, no Skype window appears, no console output

Expected results: Skype opens and displays a window.
---

1. Install the two packages above from standard repositories (I don't think the empty compat package is required)
2. Install Flash using the instructions for standard 32-bit Flash with nspluginwrapper ( https://fedoraproject.org/wiki/Flash#32_bit_wrapped_version )
3. Try to view something on Youtube using Firefox

Actual results: Where the youtube video should be, there is a gray area instead. Firefox is completely unresponsive for about 30 seconds. After this time, the video still doesn't work but Firefox recovers.


Expected results: A video plays


Additional info: In both repros above, one of the last lines of strace output included "/usr/share/fonts/bitmap/fangsongti24.pcf.gz" and in fact removing the packages above solved both problems.

Comment 1 Nicolas Mailhot 2010-06-12 14:22:24 UTC
This is almost certainly a bug in those closed-source apps. This font may not be as simple as others to handle but our apps seem to have no problem with it

Comment 2 David 2010-06-12 15:53:01 UTC
I'd prefer not to jump to conclusions without at least some investigation. I also have these installed and they work fine:

bitmap-lucida-typewriter-fonts-0.3-16.fc13.noarch
bitmap-console-fonts-0.3-16.fc13.noarch
bitmap-fixed-fonts-0.3-16.fc13.noarch

And also a bunch of assorted Chinese/Japanese fonts that aren't fangsongti.

Also, the GDB stack trace points to some QT calls.

Comment 3 Nicolas Mailhot 2010-06-12 16:46:15 UTC
Well, no one here can help you with flash or skype. And those fonts have been in Fedora for a *long* time.

If you want someone to look at it, at least reproduce with one Fedora app (not a proprietary blob)

cjk fonts often use unusual font format features and expose bugs in badly written apps.

Comment 4 David 2010-06-12 23:04:57 UTC
I admit that I haven't been able to reproduce in any OSS program. However, I've been using Fedora since FC 4 and this particular font package has never been a problem. I upgraded from 12 to 13 and only then did it start causing issues. Just because proprietary apps are being broken doesn't mean it shouldn't be fixed; Skype and Flash are possibly the two most popular proprietary apps on desktop Linux and an issue that completely breaks both of them should be at least looked into.

When I run Skype in gdb it gets stuck here. You can see that it is getting stuck in some code that isn't Skype code:

Program received signal SIGINT, Interrupt.
0x00a1648e in ?? () from /usr/lib/freetype-freeworld/libfreetype.so.6
(gdb) bt
#0  0x00a1648e in ?? () from /usr/lib/freetype-freeworld/libfreetype.so.6
#1  0x00a16eb4 in ?? () from /usr/lib/freetype-freeworld/libfreetype.so.6
#2  0x009bd423 in FT_Stream_Seek () from /usr/lib/freetype-freeworld/libfreetype.so.6
#3  0x009eba4a in ?? () from /usr/lib/freetype-freeworld/libfreetype.so.6
#4  0x009c18f5 in FT_Load_Glyph () from /usr/lib/freetype-freeworld/libfreetype.so.6
#5  0x0090a2dc in ?? () from /usr/lib/libfontconfig.so.1
#6  0x0090ac97 in ?? () from /usr/lib/libfontconfig.so.1
#7  0x0090ae1c in FcFreeTypeCharSetAndSpacing () from /usr/lib/libfontconfig.so.1
#8  0x0090c998 in FcFreeTypeQueryFace () from /usr/lib/libfontconfig.so.1
#9  0x0090d164 in FcFreeTypeQuery () from /usr/lib/libfontconfig.so.1
#10 0x00907ad5 in ?? () from /usr/lib/libfontconfig.so.1
#11 0x00907db5 in ?? () from /usr/lib/libfontconfig.so.1
#12 0x00907f19 in ?? () from /usr/lib/libfontconfig.so.1
#13 0x009038ce in ?? () from /usr/lib/libfontconfig.so.1
#14 0x00903b70 in FcConfigBuildFonts () from /usr/lib/libfontconfig.so.1
#15 0x0090d970 in FcInitLoadConfigAndFonts () from /usr/lib/libfontconfig.so.1
#16 0x0090da65 in FcInit () from /usr/lib/libfontconfig.so.1
#17 0xf6d80b06 in ?? () from /usr/lib/libQtGui.so.4
#18 0xf6d06e5b in QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) ()
   from /usr/lib/libQtGui.so.4
#19 0xf6d076c4 in QApplication::QApplication(int&, char**, int) () from /usr/lib/libQtGui.so.4
#20 0x082a5d7d in ?? ()
#21 0x0806f514 in ?? ()
#22 0x00733cc6 in __libc_start_main () from /lib/libc.so.6
#23 0x0806f251 in ?? ()

---

Similarly, Flash looks like this, again in freetype:

#0  0x00a16577 in ?? () from /usr/lib/freetype-freeworld/libfreetype.so.6
#1  0x00a16eb4 in ?? () from /usr/lib/freetype-freeworld/libfreetype.so.6
#2  0x009bd423 in FT_Stream_Seek () from /usr/lib/freetype-freeworld/libfreetype.so.6
#3  0x009eba4a in ?? () from /usr/lib/freetype-freeworld/libfreetype.so.6
#4  0x009c18f5 in FT_Load_Glyph () from /usr/lib/freetype-freeworld/libfreetype.so.6
#5  0x0090a2dc in ?? () from /usr/lib/libfontconfig.so.1
#6  0x0090ac97 in ?? () from /usr/lib/libfontconfig.so.1
#7  0x0090ae1c in FcFreeTypeCharSetAndSpacing () from /usr/lib/libfontconfig.so.1
#8  0x0090c998 in FcFreeTypeQueryFace () from /usr/lib/libfontconfig.so.1
#9  0x0090d164 in FcFreeTypeQuery () from /usr/lib/libfontconfig.so.1
#10 0x00907ad5 in ?? () from /usr/lib/libfontconfig.so.1
#11 0x00907db5 in ?? () from /usr/lib/libfontconfig.so.1
#12 0x00907f19 in ?? () from /usr/lib/libfontconfig.so.1
#13 0x009038ce in ?? () from /usr/lib/libfontconfig.so.1
#14 0x00903b70 in FcConfigBuildFonts () from /usr/lib/libfontconfig.so.1
#15 0x0090d970 in FcInitLoadConfigAndFonts () from /usr/lib/libfontconfig.so.1
#16 0x0090da65 in FcInit () from /usr/lib/libfontconfig.so.1
#17 0x012f4ac0 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#18 0x011e4c83 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#19 0x011e4e34 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#20 0x011e4f2b in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#21 0x0129c386 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#22 0x00fad817 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#23 0x00fadd2c in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#24 0x00fae8b8 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#25 0x00faf561 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#26 0x00fb2a63 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#27 0x010ac583 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#28 0x0118878e in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#29 0x01189028 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#30 0x0111a9f2 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#31 0x010654c1 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#32 0x010f611e in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#33 0x010f6539 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#34 0x010fd26d in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#35 0x0112d278 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#36 0x01190b1e in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#37 0x00e46d32 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#38 0x00e4c5c9 in ?? () from /usr/lib/mozilla/plugins/libflashplayer.so
#39 0x0804b196 in ?? ()
#40 0x08058632 in ?? ()
#41 0x08058960 in ?? ()
#42 0x0804af62 in ?? ()
#43 0x00af1525 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#44 0x00af5268 in ?? () from /lib/libglib-2.0.so.0
#45 0x00af57af in g_main_loop_run () from /lib/libglib-2.0.so.0
#46 0x03c7f5a9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#47 0x0804ec07 in ?? ()
#48 0x00479cc6 in __libc_start_main () from /lib/libc.so.6
#49 0x0804ad11 in ?? ()

Comment 5 David 2010-06-12 23:11:59 UTC
Also, freetype-freeworld (from rpmfusion, I think) may not be supported, but on a machine that has never had that package installed and uses default freetype, I get the same thing. Skype gets stuck here:

Program received signal SIGINT, Interrupt.
0x007c1375 in ?? () from /usr/lib/libfreetype.so.6
(gdb) bt
#0  0x007c1375 in ?? () from /usr/lib/libfreetype.so.6
#1  0x007c1da4 in ?? () from /usr/lib/libfreetype.so.6
#2  0x00768433 in FT_Stream_Seek () from /usr/lib/libfreetype.so.6
#3  0x0079691a in ?? () from /usr/lib/libfreetype.so.6
#4  0x0076c905 in FT_Load_Glyph () from /usr/lib/libfreetype.so.6
#5  0x009442dc in ?? () from /usr/lib/libfontconfig.so.1
#6  0x00944c97 in ?? () from /usr/lib/libfontconfig.so.1
#7  0x00944e1c in FcFreeTypeCharSetAndSpacing () from /usr/lib/libfontconfig.so.1
#8  0x00946998 in FcFreeTypeQueryFace () from /usr/lib/libfontconfig.so.1
#9  0x00947164 in FcFreeTypeQuery () from /usr/lib/libfontconfig.so.1
#10 0x00941ad5 in ?? () from /usr/lib/libfontconfig.so.1
#11 0x00941db5 in ?? () from /usr/lib/libfontconfig.so.1
#12 0x00941f19 in ?? () from /usr/lib/libfontconfig.so.1
#13 0x0093d8ce in ?? () from /usr/lib/libfontconfig.so.1
#14 0x0093db70 in FcConfigBuildFonts () from /usr/lib/libfontconfig.so.1
#15 0x00947970 in FcInitLoadConfigAndFonts () from /usr/lib/libfontconfig.so.1
#16 0x00947a65 in FcInit () from /usr/lib/libfontconfig.so.1
#17 0xf6dd4b06 in ?? () from /usr/lib/libQtGui.so.4
#18 0xf6d5ae5b in QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) () from /usr/lib/libQtGui.so.4
#19 0xf6d5b6c4 in QApplication::QApplication(int&, char**, int) () from /usr/lib/libQtGui.so.4
#20 0x082a5d7d in ?? ()
#21 0x0806f514 in ?? ()
#22 0x00aadcc6 in __libc_start_main () from /lib/libc.so.6
#23 0x0806f251 in ?? ()

Comment 6 Jeff Raber 2010-06-15 03:58:10 UTC
Thank you for the bug report. However, Fedora Project only ships and maintains Free and Open Source software. Issues such as these are beyond the control of Fedora developers. 

You may find assistance in the Fedora community support forums or mailing list, or you might consider using a commercially supported product. 

Closing as CANTFIX as we really cannot fix bugs in binary only programs.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers