AnsweredAssumed Answered

Fontconfig problem

Question asked by 3DeeMoN on Oct 7, 2015
Latest reply on Feb 4, 2016 by 3DeeMoN

Hi! I'm writing UI based on Qt-4.8.5 from buildroot and I want to use truetype fonts in my application. I enabled fontconfig package in buildroot.

 

When I boot target and run "fc-cache" command I get error below. Why this happens and how should I use TTF in my application?

 

/usr/lib/fonts: Illegal use of supervisor resource

5 - Attempted to use a Supervisor register or instruction from User mode.

5  Supervisor resources are registers and instructions that are reserved

5  for Supervisor use: Supervisor only registers, all MMRs, and Supervisor

5  only instructions.

Deferred Exception context

CURRENT PROCESS:

COMM=fc-cache PID=346  CPU=0

TEXT = 0x05e50000-0x05e52b88        DATA = 0x04090b88-0x04090fd8

BSS = 0x04090fd8-0x05e60000  USER-STACK = 0x05e7fe60

 

 

return address: [0x05e06256]; contents of:

0x05e06230: 0x05e06240: 0x05e06250: 0x05e06260:

CPU: 0 PID: 346 Comm: fc-cache Not tainted 3.10.10-ADI-2014R1 #21

task: 05ad0040 ti: 05cbe000 task.ti: 05cbe000

Compiled for cpu family 0x27fe (Rev 0), but running on:0x0000 (Rev 0)

ADSP-BF609-0.0 500(MHz CCLK) 125(MHz SCLK) (mpu off)

Linux version 3.10.10-ADI-2014R1 (paintedman@paintedman-VB) (gcc version 4.3.5 (ADI-2014R1-RC2) ) #21 Wed Oct 7 15:49:23 MSK 2015

 

 

SEQUENCER STATUS:              Not tainted

SEQSTAT: 0006002e  IPEND: 0008  IMASK: ffff  SYSCFG: 2806

  EXCAUSE  : 0x2e

  physical IVG3 asserted : <0xffa00744> { _trap + 0x0 }

RETE: <0x00000000> /* Maybe null pointer? */

RETN: <0x05cc0000> [ klogd + 0x0 ]

RETX: <0x00000480> /* Maybe fixed code section */

RETS: <0x05e061ea> [ /usr/lib/libfontconfig.so.1.3.0 + 0x61ea ]

PC  : <0x05e06256> [ /usr/lib/libfontconfig.so.1.3.0 + 0x6256 ]

DCPLB_FAULT_ADDR: <0xfffffffc> /* core mmrs */

ICPLB_FAULT_ADDR: <0x05e06256> [ /usr/lib/libfontconfig.so.1.3.0 + 0x6256 ]

PROCESSOR STATE:

R0 : ffffffff    R1 : 00005250    R2 : 00000001    R3 : 00000001

R4 : 05e43ea4    R5 : 05e7fe64    R6 : 00000002    R7 : 05e7ff63

P0 : 000000c0    P1 : 05b147ac    P2 : ffffffff    P3 : 05e41710

P4 : 05e41710    P5 : 05e7ff0c    FP : 05e7fb20    SP : 05cbff24

LB0: 05a8523f    LT0: 05a8523e    LC0: 00000000

LB1: 05b262bb    LT1: 05b26278    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 05c5f883    I0 : 00000001

B1 : 00000000    L1 : 00000000    M1 : 00000004    I1 : 00000003

B2 : 00000001    L2 : 00000000    M2 : 00000000    I2 : 0000003e

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 00000000

A0.w: 00000058  A0.x: 00000000  A1.w: 00000058  A1.x: 00000000

USP : 05e7fac4  ASTAT: 02003046

 

 

Hardware Trace:

  0 Target : <0x00003c04> { _trap_c + 0x0 }

    Source : <0xffa006d8> { _exception_to_level5 + 0xa0 } JUMP.L

  1 Target : <0xffa00638> { _exception_to_level5 + 0x0 }

    Source : <0xffa004f2> { _bfin_return_from_exception + 0x6 } RTX

  2 Target : <0xffa004ec> { _bfin_return_from_exception + 0x0 }

    Source : <0xffa00590> { _ex_trap_c + 0x70 } JUMP.S

  3 Target : <0xffa00520> { _ex_trap_c + 0x0 }

    Source : <0xffa0076e> { _trap + 0x2a } JUMP (P4)

  4 Target : <0xffa00744> { _trap + 0x0 }

      FAULT : <0x05e06256> [ /usr/lib/libfontconfig.so.1.3.0 + 0x6256 ] R0 = [P2]

    Source : <0x05e06254> [ /usr/lib/libfontconfig.so.1.3.0 + 0x6254 ] W[P5 + 7] = R2

  5 Target : <0x05e06254> [ /usr/lib/libfontconfig.so.1.3.0 + 0x6254 ]

    Source : <0x05e061f0> [ /usr/lib/libfontconfig.so.1.3.0 + 0x61f0 ] IF !CC JUMP pcrel

  6 Target : <0x05e061ea> [ /usr/lib/libfontconfig.so.1.3.0 + 0x61ea ]

    Source : <0x05b10d7e> [ /lib/libuClibc-0.9.33.2.so + 0x10d7e ] RTS

  7 Target : <0x05b10d76> [ /lib/libuClibc-0.9.33.2.so + 0x10d76 ]

    Source : <0x05b10da2> [ /lib/libuClibc-0.9.33.2.so + 0x10da2 ] JUMP.S

  8 Target : <0x05b10d9a> [ /lib/libuClibc-0.9.33.2.so + 0x10d9a ]

    Source : <0x05b147ba> [ /lib/libuClibc-0.9.33.2.so + 0x147ba ] RTS

  9 Target : <0x05b147ac> [ /lib/libuClibc-0.9.33.2.so + 0x147ac ]

    Source : <0x05b0d08a> [ /lib/libuClibc-0.9.33.2.so + 0xd08a ] JUMP (P1)

  10 Target : <0x05b0d082> [ /lib/libuClibc-0.9.33.2.so + 0xd082 ]

    Source : <0x05b10d96> [ /lib/libuClibc-0.9.33.2.so + 0x10d96 ] CALL pcrel

  11 Target : <0x05b10d96> [ /lib/libuClibc-0.9.33.2.so + 0x10d96 ]

    Source : <0x05b10d72> [ /lib/libuClibc-0.9.33.2.so + 0x10d72 ] IF !CC JUMP pcrel

  12 Target : <0x05b10d6a> [ /lib/libuClibc-0.9.33.2.so + 0x10d6a ]

    Source : <0xffa00b94> { __common_int_entry + 0xcc } RTI

  13 Target : <0xffa00b32> { __common_int_entry + 0x6a }

    Source : <0xffa00dce> { _evt_system_call + 0x66 } JUMP.S

  14 Target : <0xffa00dce> { _evt_system_call + 0x66 }

    Source : <0xffa00832> { _system_call + 0xba } RTS

  15 Target : <0xffa0082e> { _system_call + 0xb6 }

    Source : <0xffa0081e> { _system_call + 0xa6 } IF !CC JUMP pcrel

Userspace Stack

Stack info:

SP: [0x05e7fac4] <0x05e7fac4> [ fc-cache + 0x1fac4 ]

FP: (0x05e7fb3c)

Memory from 0x05e7fac0 to 05e80000

05e7fac0:05e7fae0:05e7fb00:05e7fb20:05e7fb40:05e7fb60:05e7fb80:05e7fba0:05e7fbc0:05e7fbe0:05e7fc00:05e7fc20:05e7fc40:05e7fc60:05e7fc80:05e7fca0:05e7fcc0:05e7fce0:05e7fd00:05e7fd20:05e7fd40:05e7fd60:05e7fd80:05e7fda0:05e7fdc0:05e7fde0:05e7fe00:05e7fe20:05e7fe40:05e7fe60:05e7fe80:05e7fea0:05e7fec0:05e7fee0:05e7ff00:05e7ff20:05e7ff40:05e7ff60:05e7ff80:05e7ffa0:05e7ffc0:05e7ffe0:Return addresses in stack:

  frame  1 : <0x05e05ab2> [ /usr/lib/libfontconfig.so.1.3.0 + 0x5ab2 ]

    address : <0x05b38170> [ /lib/libuClibc-0.9.33.2.so + 0x38170 ]

  frame  5 : <0x05b3cfcc> [ /lib/libuClibc-0.9.33.2.so + 0x3cfcc ]

    address : <0x05e7ff6c> [ fc-cache + 0x1ff6c ]

    address : <0x05e7ffd6> [ fc-cache + 0x1ffd6 ]

ILL

 

Maybe I have to start fc-cache on my host? So which files I should put on my target? Or maybe I enlarge stack? So where is the fdpichdr utility?

Outcomes