Opened 2 years ago

Closed 14 months ago

Last modified 9 months ago

#57249 closed defect (fixed)

FontForge crashing

Reported by: MaddTheSane (C.W. Betts) Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.5.4
Keywords: Cc:
Port: fontforge, pango

Description

Whenever I scroll quickly in FontForge, it crashes. And yes, the bounds error happens with the same index and bounds.

2018-10-04 11:38:28.847 fontforge[77733:12035210] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 34 beyond bounds [0 .. 33]'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff495da43d __exceptionPreprocess + 256
	1   libobjc.A.dylib                     0x00007fff754e7720 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff49619a38 -[CFPrefsConfigurationFileSource initWithConfigurationPropertyList:containingPreferences:] + 0
	3   CoreFoundation                      0x00007fff4952edf9 -[__NSSingleObjectSetI member:] + 0
	4   libpangocairo-1.0.0.dylib           0x000000010ca8444b pango_core_text_fontset_get_font_at + 62
	5   libpangocairo-1.0.0.dylib           0x000000010ca843e3 pango_core_text_fontset_foreach + 43
	6   libpango-1.0.0.dylib                0x000000010cac4148 get_shaper_and_font + 208
	7   libpango-1.0.0.dylib                0x000000010cac3486 itemize_state_process_run + 963
	8   libpango-1.0.0.dylib                0x000000010cac2d3f pango_itemize_with_base_dir + 110
	9   libpango-1.0.0.dylib                0x000000010cac8522 pango_layout_check_lines + 617
	10  libpango-1.0.0.dylib                0x000000010cacbed6 pango_layout_get_extents_internal + 47
	11  libpango-1.0.0.dylib                0x000000010cacc247 pango_layout_get_pixel_extents + 71
	12  libgdraw.5.dylib                    0x000000010bf37cfd _GXPDraw_DoText8 + 115
	13  libgdraw.5.dylib                    0x000000010bef38a4 GDrawGetText8Bounds + 70
	14  libfontforgeexe.2.dylib             0x000000010bcdc8d3 v_e_h + 3963
	15  libgdraw.5.dylib                    0x000000010bef0488 _GWidget_Container_eh + 239
	16  libgdraw.5.dylib                    0x000000010bf33c31 GXDrawSendExpose + 171
	17  libgdraw.5.dylib                    0x000000010bf306b0 GXDrawScroll + 269
	18  libfontforgeexe.2.dylib             0x000000010bcdb92b FVScroll + 195
	19  libgdraw.5.dylib                    0x000000010bf20300 GScrollBarChanged + 140
	20  libgdraw.5.dylib                    0x000000010bf1f8f6 gscrollbar_mouse + 645
	21  libgdraw.5.dylib                    0x000000010bef0945 _GWidget_Container_eh + 1452
	22  libgdraw.5.dylib                    0x000000010bf3587a dispatchEvent + 5421
	23  libgdraw.5.dylib                    0x000000010bf3180e GXDrawEventLoop + 73
	24  libfontforgeexe.2.dylib             0x000000010bd5fbae fontforge_main + 6476
	25  libdyld.dylib                       0x00007fff765b5085 start + 1
	26  ???                                 0x0000000000000002 0x0 + 2
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6

Version info:

$ port installed fontforge
The following ports are currently installed:
  fontforge @20170731_0+gui+python27 (active)

Change History (11)

comment:1 Changed 2 years ago by mf2k (Frank Schima)

Is this an upstream issue? If so, please file the bug report there and reference it in this ticket.

comment:2 Changed 2 years ago by MaddTheSane (C.W. Betts)

Filed upstream bug report for FontForge: https://github.com/fontforge/fontforge/issues/3343

Problem is, this might be a bug in pango instead.

comment:3 Changed 2 years ago by MaddTheSane (C.W. Betts)

It is a Pango bug. The Pango bug: https://gitlab.gnome.org/GNOME/pango/issues/352

comment:4 Changed 18 months ago by kencu (Ken)

That pango bug is now apparently fixed, per that pango issue you referenced; however the pango build has changed considerably recently, moved to meson, and has a much different build setup... for those reasons, our pango is a bit behind now.

Last edited 18 months ago by kencu (Ken) (previous) (diff)

comment:5 Changed 18 months ago by kencu (Ken)

see 58926 for a WIP to update pango -- we'll have to update glib first, though.

comment:6 Changed 18 months ago by kencu (Ken)

fontforge has updated to a newer version --- is this still an issue?

comment:7 Changed 18 months ago by MaddTheSane (C.W. Betts)

The bug is with Pango. That needs to be updated to fix the bug.

comment:8 Changed 18 months ago by mf2k (Frank Schima)

Cc: ryandesign added

Cc'ing pango maintainer.

comment:9 Changed 14 months ago by ryandesign (Ryan Schmidt)

Cc: ryandesign removed
Owner: set to ryandesign
Port: pango added
Status: newaccepted

Sorry, I missed the notification earlier. I'll fix this now by backporting the upstream pango fix.

comment:10 Changed 14 months ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: acceptedclosed

In fad1ef058d26d57f289951a3427f42d0e0498fd5/macports-ports (master):

pango, pango-devel: Fix crash

Fix a crash in pango_layout_get_pixel_extents.

Closes: #57249

comment:11 Changed 9 months ago by ryandesign (Ryan Schmidt)

In fad1ef058d26d57f289951a3427f42d0e0498fd5/macports-ports (dar, master, py38-reproject, revert-6945-rust-1.43.0, wireshark):

pango, pango-devel: Fix crash

Fix a crash in pango_layout_get_pixel_extents.

Closes: #57249

Note: See TracTickets for help on using tickets.