Opened 15 months ago

#67783 new defect

ghemical @3.0.0: segmentation fault on launch

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: monterey Cc:
Port: ghemical

Description

ghemical @3.0.0 crashes immediately on launch for me on macOS Monterey:

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   ???                           	               0x0 ???
1   libpango-1.0.0.dylib          	       0x1047d7f7c pango_font_get_hb_font + 77
2   libpango-1.0.0.dylib          	       0x1047f46a5 pango_shape_internal + 307
3   libpango-1.0.0.dylib          	       0x1047f4529 pango_shape + 35
4   libpangox-1.0.0.dylib         	       0x103facd05 itemize_string_foreach + 312
5   libpangox-1.0.0.dylib         	       0x103fac911 pango_x_font_get_metrics + 148
6   ghemical                      	       0x103c921f4 pangofont_wcl::ogl_InitPangoFont(char const*) + 252
7   ghemical                      	       0x103c94253 oglview_wcl::InitGL() + 295
8   liboglappth.2.dylib           	       0x1041e0c3f base_wcl::LinkWnd(base_wnd*) + 131
9   ghemical                      	       0x103c7caab project::AddGraphicsClient(custom_camera*, bool) + 455
10  ghemical                      	       0x103cb184e gtk_project::DoSafeStart() + 18
11  ghemical                      	       0x103cae460 gtk_app::gtk_app() + 1828
12  ghemical                      	       0x103caf264 gtk_app::GetAppX() + 66
13  ghemical                      	       0x103cb44a4 main + 364
14  dyld                          	       0x10cbf652e start + 462

We haven't been able to build ghemical for years because it depends on gtkglext which depends on pangox-compat which did not build with current pango (#64228) until I fixed it today by adapting patches used by other package managers. However, the ghemical crash within a pango function called from a pangox-compat function suggests our patched pangox-compat may not be fully functional. Or it could indicate a problem with the way ghemical is calling pangox-compat, or an incompatibility between ghemical, which is old, and our pango port, which has been updated many times since ghemical was released.

The backtrace looks similar to the one reported in Debian bug 996006. There are some differences in the chain of functions called but they begin and end in the same place and the difference may be caused by differences in the pango or harfbuzz versions used. It's not clear to me what fixed their problem however. There is a reference there to Debian bug 958017 but that seems to have been caused by a mismatch of pango libraries due to the Debian practice of publishing the individual pango libraries in separate packages; that can't occur in MacPorts since all pango libraries are published in the single pango port.

I am using harfbuzz-devel @7.3.0_0 while harfbuzz remains at @6.0.0_1. I haven't tested whether the problem is specific to this newer version of harfbuzz. We haven't updated harfbuzz to newer versions because of build failures on older versions of macOS.

Both pangox-compat and gtkglext have been discontinued by their developers; they will not fix bugs or release new versions. ghemical would be wise to migrate away from these libraries.

Unless the project has moved somewhere else, ghemical 3.0.0, released in 2011, appears to be the latest version. The ghemical mailing lists received their latest posts in 2011. The ghemical homepage hasn't been updated since 2006 and says the latest version is 2.0.0. So this software may be long abandoned and we should remove it and its dependencies libghemical and liboglappth unless we can find a fix for this issue.

Change History (0)

Note: See TracTickets for help on using tickets.