[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Pkg-fonts-devel] Bug#656359: Bug#656359: fontforge: Segfault when pressing modifier/arrow keys if more than 4 points are selected



On 01/18/2012 01:33 PM, Theppitak Karoonboonyanan wrote:
> Package: fontforge
> Version: 0.0.20110222-6
> Severity: grave
> 
> Fontforge consistently crashes (segmentation fault) when pressing any
> modifier key (Ctrl, Alt or Shift) or arrow key if more than 4 points are
> currently selected. This is annoying for font editing, as all keyboard
> shortcuts become virtually crippled. And the crash can cause the loss of
> unsaved data.
> 
> Steps to reproduce:
> - Start fontforge and create a new font.
> - Randomly choose a first glyph to edit.
> - Draw splines with at least 5 points.
> - Select up to 4 points and press a modifier or arrow key. It won't crash.
> - Select at least 5 points and press a modifier or arrow key. It will
>   always crash.

I can reproduce this on an i386 system with the same version of
fontforge. :(

When trying to get a backtrace with fontforge-dbg 0.0.20110222-6
installed, i get the following error message (twice) from gdb:

warning: the debug information found in
"/usr/lib/debug//usr/bin/fontforge" does not match "/usr/bin/fontforge"
(CRC mismatch).

Pressing ahead anyway, i can trigger the segfault, and i get this
(partially-mangled) backtrace:

xb7c7ec4c in CVLayer (cv=0x86a3858) at cvundoes.c:552
552	cvundoes.c: No such file or directory.
	in cvundoes.c
(gdb) bt
#0  0xb7c7ec4c in CVLayer (cv=0x86a3858) at cvundoes.c:552
#1  0x0808faf0 in ?? ()
#2  0xb7b97518 in GMenuSearchShortcut (gw=0x85f70f0, mi=<optimized out>,
event=
    0xbfffe8c8, call_moveto=1) at gmenu.c:951
#3  0xb7b9bc5c in GMenuBarCheckKey (g=0x85f7200, event=0xbfffe8c8)
    at gmenu.c:1500
#4  0xb7b6ce4d in _GWidget_TopLevel_Key (top=<optimized out>, ew=0x85fd7f0,
    event=0xbfffe8c8) at gcontainer.c:498
#5  0xb7b6e1a7 in _GWidget_Container_eh (gw=0x85fd7f0, event=0xbfffe8c8)
    at gcontainer.c:337
#6  0xb7bcbe74 in dispatchEvent (gdisp=<optimized out>, event=0xbfffea7c)
    at gxdraw.c:3869
#7  0xb7bcd21c in GXDrawEventLoop (gd=0x8439f48) at gxdraw.c:3968
#8  0xb7b7097b in GDrawEventLoop (gdisp=<optimized out>) at gdraw.c:748
#9  0x08061f5a in ?? ()
#10 0xb6bcbe46 in __libc_start_main (main=0x80611b0, argc=1, ubp_av=
    0xbffff864, init=0x81c8660, fini=0x81c8650, rtld_fini=0xb7ff1310,
    stack_end=0xbffff85c) at libc-start.c:228
#11 0x08062cd1 in ?? ()
Backtrace stopped: Not enough registers or memory available to unwind
further
(gdb)

hope this is helpful in debugging,

	--dkg

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: