The Natty libfontconfig is crashing some Wine applications

Bug #783622 reported by Damjan Jovanovic on 2011-05-16
This bug affects 7 people
Affects Status Importance Assigned to Milestone
fontconfig (Ubuntu)

Bug Description

Binary package hint: fontconfig

Multiple Windows applications that used to work on Maverick are crashing on Natty. Stack traces show the crash happens in a function called from FcConfigSubstituteWithPat().

Using LD_PRELOAD to load the Maverick version of libfontconfig instead of the Natty one fixes the problem.

A verifiable test is to download and install then try run it. It will crash with the Natty libfontconfig but work with the Maverick one.

Note that this is the 32 bit library on x86_64, ie. its owning package is ia32-libs.

An example stack trace:

Unhandled exception: denormal float operand in 32-bit code (0x7e9d9310).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7e9d9310 ESP:00d6de60 EBP:00d6dec8 EFLAGS:00010202( R- -- I - - - )
 EAX:00000003 EBX:7e9ffff4 ECX:00000012 EDX:00000003
 ESI:00000003 EDI:00000003
Stack dump:
0x00d6de60: 00d6de98 00d6df24 7e9ffff4 7e9ffff4
0x00d6de70: 7d730140 7d77a650 00d6dec8 00000012
0x00d6de80: 00000000 00000014 f75fe3c0 00000003
0x00d6de90: 7d72d9f0 00000003 00000003 7d7304f0
0x00d6dea0: 00000003 00000003 7d72d9f0 00000003
0x00d6deb0: 00000001 7d77a528 7e9d929b 7e9ffff4
=>0 0x7e9d9310 in (+0x7310) (0x00d6dec8)
  1 0x7e9da382 FcConfigSubstituteWithPat+0x191() in (0x00d6df48)
  2 0x7e9da8e7 FcConfigSubstitute+0x26() in (0x00d6df68)
  3 0x7e96ef72 X11DRV_XRender_SelectFont+0xc41(physDev=0x1535d8, hfont=0xe98) [/home/user/wine/dlls/winex11.drv/xrender.c:935] in winex11 (0x00d6e108)
  4 0x7e965e05 X11DRV_SelectFont+0xee4(physDev=0x1535d8, hfont=0xe98, gdiFont=0x189c88) [/home/user/wine/dlls/winex11.drv/xfont.c:3241] in winex11 (0x00d6e558)
  5 0x7ec0c19f FONT_SelectObject+0x9e(handle=0xe98, hdc=0x660) [/home/user/wine/dlls/gdi32/font.c:546] in gdi32 (0x00d6e5c8)
  6 0x7ec22eeb SelectObject+0xba(hdc=0x660, hObj=0xe98) [/home/user/wine/dlls/gdi32/gdiobj.c:1112] in gdi32 (0x00d6e618)
  7 0x7e6d45fa SelectObject16+0x19(hdc=0x660, handle=0xe98) [/home/user/wine/dlls/gdi.exe16/gdi.c:1101] in gdi.exe16 (0x00d6e638)
  8 0x7e6d05da __i686.get_pc_thunk.bx+0xc82() in gdi.exe16 (0x00d6e648)
  9 0x7eadac9e __wine_call_from_16+0x75() in krnl386.exe16 (0x00d6e678)
  10 0x1227:0x213e (0x124f:0x4b6e)
  11 0x1227:0x20a9 (0x124f:0x4c7a)
  12 0x1227:0x1dde (0x124f:0x4c8c)
  13 0x1237:0x2af8 (0x124f:0x4c9c)
  14 0x1237:0x29a2 (0x124f:0x4cb0)
  15 0x123f:0x3aa9 (0x124f:0x4dd4)
  16 0x123f:0x2305 (0x124f:0x4df2)
  17 0x123f:0x0b32 (0x124f:0x4f64)
  18 0x1237:0x2533 (0x124f:0x507a)
  19 0x1237:0x6e26 (0x124f:0x5096)
  20 0x11df:0x0072 (0x124f:0x50a8)
  21 0x11df:0x0000 (0x124f:0x0000)
0x7e9d9310: fstpl 0xffffffe0(%ebp)

David Lerner (dslerner) wrote :

The problem can also be fixed by downloading the Natty i386 version of libfontconfig1, extracting, moving it into /usr/lib32, and running ldconfig. Adding to the ia32-libs package appears to be the appropriate fix.

Changed in fontconfig (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers