On Thu, 2002-04-18 at 02:52, Stephen J. Turnbull wrote:
Can anybody check this for XEmacs 21.[45]?
----
From: Zube <Zube(a)cs.colostate.edu>
Subject: Solaris 7 107081-45 (motif runtime) kills xemacs dead
Date: 17 Apr 2002 17:12:50 -0600
As a public service, I thought I might warn everyone that the installation
of 107081-45 (Motif 1.2.7 and 2.1.1: Runtime Library Patch for Solaris 7)
caused my built-from-source xemacs 2.1.14 to die in the following way
(truss output):
Incurred fault #6, FLTBOUNDS %pc = 0xFEBB6F3C
siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
Received signal #11, SIGSEGV [caught]
siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
Removing the patch fixed the problem. The problem does not occur
with 107081-43.
For the really zealous student of reverse engineering, you can:
truss -S segv -t!all xemacs [options]
This will cause truss to run xemacs showing none of the sys calls... but
it will stop the process on a segv.
You can then use /usr/proc/bin/pstack on the process (which will yield a
stack trace for each lwp).
You can also use /usr/proc/bin/pmap to get all the mappings for the
process. Using this data, you can determine what file contains the code
at the %pc address (sounds like it's expected to be libXm.so.X). Now if
you're really keen, you can dis(1) the shared object and map the %pc to
an actual instruction.
In any case, you should have enough information make a kickass bug
report.
(You can use /usr/proc/bin/prun to resume a process thus stopped)
-g