GNOME Bugzilla – Bug 103634
Crash from gucharmap 0.2
Last modified: 2004-12-22 21:47:04 UTC
Package: pango Severity: normal Version: GNOME2.1.90 0.2 Synopsis: Crash from gucharmap 0.2 Bugzilla-Product: pango Bugzilla-Component: general BugBuddy-GnomeVersion: 2.0 (2.1.90) Description: Scrolling around in gucharmap 0.2 (http://gucharmap.sourceforge.net/) got this crash. It looks like it may just be a matter of passing the text in the backtrace to the Hebrew shaper, so going ahead and reporting to pango. Debugging Information: Backtrace was generated from '/unst2/bin/gucharmap' [New Thread 8192 (LWP 29909)] 0x420ae169 in wait4 () from /lib/i686/libc.so.6
+ Trace 32788
Thread 1 (Thread 8192 (LWP 29909))
------- Bug moved to this database by unknown@bugzilla.gnome.org 2003-01-15 23:48 ------- Reassigning to the default owner of the component, otaylor@redhat.com.
Of course, bugzilla completely ate "the text in the backtrace" :-/ I think it's safe to assume it's one of the Hebrew codepoints.
Any idea of what font it is using for Hebrew?
I have the Microsoft fonts installed at home, probably if fonts.conf from 8.0 defines one of those to be in "Sans" then that would be the one used. Or it's possible I changed the font from Sans to Andale Mono or something. jrb could not reproduce on his non-Microsoft-fonts machine.
I can't reproduce individually selecting each of the Windows XP Hebrew fonts. I'm afraid you're going to have to debug this one, or at least figure out the font. (If you look at a FT_Face structure, the filename will be in there.)
Hmm, with Arioso I get a slightly different crash (Arabic shaper), don't know if this is related:
+ Trace 33264
*** Bug 107590 has been marked as a duplicate of this bug. ***
The arabic-shaper crash is, I think, utterly unrelated (perhaps a dup ... looks familar) Bug 107590 has a nice small reproducer for the hebrew engine crash. (At least the back trace looks the same) Seems to crash before it even does anything with the font, so the particular font shouldn't matter.
I found that that the reason for the crash is the use of lookup tables for determining character classes and composabilities. Unfortunately the table lookups didn't take into consideration the "second" range of Hebrew character sat U+F1?? and therefore there was a crash due to lookup way beyond the array size. In the patch that I am providing here, I solve the crashing problem. The patch still doesn't solve the rendering issue between the F1?? charactes and punctuation mark. But that's just a visual problem, that is less urgent.
Created attachment 14874 [details] [review] Fixes the crash of the Hebrew module for the U+F1?? character range.
Wow, that is hacky ;-) If you want to go ahead and commit to the pango-1-2 and HEAD branches of Pango, that would be great. As mentioned in comments in bug 89449, the right fix from my perspective is to decompose as the first step so that the precomposed compatibility forms go through the same code path as the normal versions.
The patch http://bugzilla.gnome.org/showattachment.cgi?attach_id=14874 was commited to the the HEAD and the pango-1-2 branches.
Closing, since I think bug 89449 covers "doing it right" sufficiently. Thanks.
*** Bug 113332 has been marked as a duplicate of this bug. ***