Opened 5 years ago

Closed 5 years ago

#60122 closed defect (fixed)

XEphem 3.7.7 runtime error with MacOS 10.15.3

Reported by: SpikeLightfoot Owned by: kencu (Ken)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: xephem

Description

XEphem install and build via Macports works fine and yields no compile/link errors, but yields the following error at runtime:

% xephem
Building shell
Reading X resources
Checking args
Checking colormap
Building icon
Building main window system
Connecting actions
Building main menu bar
Warning: Fatal Error: 
_XmGetDefaultDisplay cannot be used prior to VendorS.Initialize, returns NULL
Segmentation fault
% 

Downloading the source file directly from http://www.clearskyinstitute.com, on the other hand, compiles successfully and runs without the above error. I believe (not the expert here) the same libraries are linked in each case, but the Macports executable fails.

Change History (5)

comment:1 Changed 5 years ago by kencu (Ken)

same on 10.14:

Process:               xephem [20881]
Path:                  /opt/local/bin/xephem
Identifier:            xephem
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        bash [20318]
Responsible:           xephem [20881]
User ID:               501

Date/Time:             2020-02-23 15:10:50.491 -0800
OS Version:            Mac OS X 10.14.6 (18G3020)
Report Version:        12
Anonymous UUID:        634B7103-0C6F-212F-7C32-6CA9B0415D80


Time Awake Since Boot: 490000 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000100
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [20881]

VM Regions Near 0x100:
--> 
    __TEXT                 000000010c626000-000000010c78a000 [ 1424K] r-x/rwx SM=COW  /opt/local/bin/xephem

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libX11.6.dylib                	0x000000010cbb591a XDisplayKeycodes + 4
1   libXm.4.dylib                 	0x000000010c95ea16 _XmInitModifiers + 74
2   libXm.4.dylib                 	0x000000010c94b470 GrabKeyWithLockMask + 40
3   libXm.4.dylib                 	0x000000010c94b3b8 GrabKeyOnAssocWidgets + 90
4   libXm.4.dylib                 	0x000000010c949ef1 _AddToKeyboardList + 367
5   libXm.4.dylib                 	0x000000010c949ff3 AddToKeyboardList + 243
6   libXm.4.dylib                 	0x000000010c949bc1 _XmRC_ProcessSingleWidget + 389
7   libXm.4.dylib                 	0x000000010c8cb38e Initialize + 2334
8   libXt.6.dylib                 	0x000000010cb2d61f CallInitialize + 160
9   libXt.6.dylib                 	0x000000010cb2ca6e xtCreate + 515
10  libXt.6.dylib                 	0x000000010cb2c78a _XtCreateWidget + 419
11  libXt.6.dylib                 	0x000000010cb2cd87 XtCreateWidget + 177
12  libXm.4.dylib                 	0x000000010c8cd8c9 create + 847
13  libXm.4.dylib                 	0x000000010c8cdd55 XmCreateMenuBar + 68
14  xephem                        	0x000000010c710f02 main + 1330
15  libdyld.dylib                 	0x00007fff6ce753d5 start + 1

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x00007ffee35d6cd4  rcx: 0x0000000000000000  rdx: 0x00007ffee35d6cd0
  rdi: 0x0000000000000000  rsi: 0x00007ffee35d6ccc  rbp: 0x00007ffee35d6cb0  rsp: 0x00007ffee35d6cb0
   r8: 0x00000000000130a8   r9: 0x00007fffa3369048  r10: 0x000000010c86c570  r11: 0x000000010cbb5916
  r12: 0x0000000000000000  r13: 0x00007ffee35d6cd0  r14: 0x00007ff501504a80  r15: 0x00007ffee35d6ccc
  rip: 0x000000010cbb591a  rfl: 0x0000000000010206  cr2: 0x0000000000000100
  
Logical CPU:     0
Error Code:      0x00000004
Trap Number:     14

For a try, rebuilding openmotif did not help.

comment:2 Changed 5 years ago by kencu (Ken)

looks like xephem ships with an included static copy of motif. Unfortunately you can't just use that with MacPorts, as it doesn't work with our newer libpng...

So port will need surgery. In the meantime, it installs very easily manually from the original sources, as you said, ignoring MacPorts -- at least you're not DOA.

comment:3 Changed 5 years ago by jmroot (Joshua Root)

Port: xephem added

Previous discussion which didn't result in a ticket: https://lists.macports.org/pipermail/macports-users/2018-October/045824.html

As mentioned there, this seems to be related to the libXt/motif transition away from flat namespace.

comment:4 Changed 5 years ago by kencu (Ken)

workaround, using bundled motif (and bundled static libpng which it requires):

<https://github.com/macports/macports-ports/pull/6448>

Last edited 5 years ago by kencu (Ken) (previous) (diff)

comment:5 Changed 5 years ago by kencu (Ken)

Owner: set to kencu
Resolution: fixed
Status: newclosed

In e6768f27fc43101a68a4fb27644b51d717371e46/macports-ports (master):

xephem: use bundled motif

the current openmotif in MacPorts uses a two-level namespace
which causes some ports to fail to run

use the bundled motif library (and the bundled libpng)
until xephem is updated to work with the current openmotif

closes: #60122

Note: See TracTickets for help on using tickets.