Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4390699

T2K bus error rasterising font.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 1.4.0
    • client-libs
    • None
    • 2d
    • sparc
    • solaris_7

      On Solaris 7, merlin-beta crashes when rasterising a font loaded through
      the Font.createFont API.
      This is probably nothing to do with createFont(), its more likely a bug in T2K
      that this font happens to trip over.
      On NT the problem manifests not as a crash, but drawString just shows the
      missing glyph character.
      The same program and font works fine on 1.3 so its likely a bug in the hinting
      code.
      I've attached the test program and the TrueType font which caused the problem.
      Here's the Solaris 7 stack dump from dbx.

      t@16 (l@8) signal BUS (invalid address alignment) in fnt_PushSomeBytes at line 1135 in file "Fnt.c"
       1135 CHECK_PUSH( gs, stack, GETBYTE( instr ));
      (/opt/SUNWspro/bin/../WS5.0/bin/sparcv9/dbx) where
      current thread: t@16
      =>[1] fnt_PushSomeBytes(gs = 0xf4500370, count = 11), line 1135 in "Fnt.c"
        [2] fnt_NPUSHB(gs = 0xf4500370), line 1181 in "Fnt.c"
        [3] fnt_InnerExecute(gs = 0xf4500370, ptr = 0x25bed4 "@^L^U^T^Q^H^G^F^E^D^C^B^A", eptr = 0x25bfb5 "Z\xf0\xab"), line 681 in "FntUtilities.c"
        [4] fnt_Execute(elements = 0xf4500484, globalGS = 0x25c5b4, ptr = 0x25bed4 "@^L^U^T^Q^H^G^F^E^D^C^B^A", eptr = 0x25bfb5 "Z\xf0\xab", TraceFunc = (nil), context = 0x25af14, hasStyleCoord = '\0', hasVariantCVT = '\0', hintingACompositGlyph = '\0'), line 831 in "FntUtilities.c"
        [5] RunFontProgram(key = 0xf450063c, traceFunc = (nil)), line 183 in "InterpreterGlue.c"
        [6] CreateGlyphElement(glyphIndex = 36, anOutline = 0x2660b8, t2kGlyph = 0x257dd4, key = 0xf450063c, useHints = '\001'), line 62 in "HintGlyph.c"
        [7] TTScalerHintGlyph(theGlyphT2K = 0x257dd4, aT2KScaler = 0x25c014, scHintPtrVoid = 0xf4500760, applyStyle = 1), line 282 in "HintGlyph.c"
        [8] T2K_RenderGlyphInternal(t = 0x25c014, code = 36, xFracPenDelta = '\0', yFracPenDelta = '\0', greyScaleLevel = '\0', cmd = '\v', hintingComposite = 0), line 1258 in "t2k.c"
        [9] T2K_RenderGlyph(t = 0x25c014, code = 36, xFracPenDelta = '\0', yFracPenDelta = '\0', greyScaleLevel = '\0', cmd = '\v', errCode = 0xf4500918), line 1735 in "t2k.c"
        [10] t2kScalerContext::GenerateMetricsWithImage(this = 0x25a480, glyphID = 36U, glyph = 0x25de40, advance = 0x25de54), line 539 in "t2kScalerContext.cpp"
        [11] hsGGlyphStrike::GetMetricsWithImage(this = 0x25a3e0, index = 36U, glyph = 0xf4500a80, advance = 0xf4500a78, refcheck = 0xf4500a97 ""), line 320 in "hsGGlyphCache.cpp"
        [12] Strike::getMetricsWithImage(this = 0x257e38, glyphCode = 36, glyphRef = STRUCT, advXY = STRUCT, refcheck = 0xf4500a97 ""), line 259 in "Strike.cpp"
        [13] GlyphVector::positionAndGetImages(this = 0x256d38, x = 106.5, y = 125.5), line 763 in "GlyphVector.cpp"
        [14] Java_sun_awt_font_GlyphList_setupStringData(env = 0x255180, gList = 0xf4500c1c, string = 0xf4500c18, font = 0xf4500c14, x = 106.0, y = 125.0, renderMat = 0xf4500c08, isAA = '\0', useFract = '\0'), line 83 in "GlyphList.cpp"

            igor Igor Nekrestyanov (Inactive)
            prr Philip Race
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: