XMATROOT%DDATHD21.BITNET@MITVMA.MIT.EDU (10/28/88)
If were are running emacs-18.51 under X-Windows (A.03.02) on a hp9000/318 (hpux 6.2) the system crashes reporting a bus error and stops. The error accurs in routine init_sys_modes at the statement ioctl(0, TIOCGETP, &old_gtty); It seems to be a bug in hpux or X-Windows. Does anybody know a fix of that bug ? Klaus-Thomas Schleicher Inst. Numerical Analysis TH Darmstadt FRG xmatroot@ddathd21.bitnet
pnr@hupu.hut.fi (Pekka Nikander) (10/29/88)
In article <8810280957.AA08915@prep.ai.mit.edu> XMATROOT%DDATHD21.BITNET@MITVMA.MIT.EDU writes: If were are running emacs-18.51 under X-Windows (A.03.02) on a hp9000/318 (hpux 6.2) the system crashes reporting a bus error and stops. It seems to be a bug in hpux or X-Windows. Does anybody know a fix of that bug ? A fried of mine noticed the same bug in their system a few weeks ago. They had 6.2 and an unofficial beta release of X.11 from HP, and I am not very sure if I am really allowed to speak about this. However, since we are in Finland, I have a strong feeling that their bug reports have newer reached HP labs over there in the states. And obviously the bug seems to be in the official release as well. I am not sure about all the versions of the various programs my friend is using, but I think he is running HP-UX 6.2 on HP-9000/350 with X11R2. The Gnu Emacs is 18.52. I am not sure if he has the X11 fixes, but I think so. I was debugging the system with my friend then, but unfortunately I don't remember the very details any more. The bug seems to be in Unix domain sockets. When we tried to run Emacs under X with the DISPLAY environment variable set to "unix:0.0" the system crashed. However, when we changed the DISPLAY to "<host>:0.0", everything started to work fine. I think this might help with You, too. HOWEVER, there is a another bug: The HP-UX 6.2 C-compiler seems to be a bit brain damaged. When compiled with 6.2 compiler the emacs did not update the cursor position properly. This seemed to be caused by some code in function compute_motion in file src/indent.c. When this file was compiled with the new 6.2 compiler, the cursor updating did not work. However, when compiled with the earlier 6.0 compiler, everything seems to work fine. The problem seems to be around the following lines: if (HPOS (cpos) >= width && (HPOS (cpos) > width || (pos < NumCharacters && CharAt (pos + 1) != '\n'))) For some reason the code generated by the new compiler clears the uppermost bits of the cpos variable when evaluating this condition clause. The earlier compiler's code doesn't. Then there is still one problem unresolved: The emacs dumps core when collecting garbage when started under X. Without X it works just fine. If you happen to have lots of free memory (my friend does), you can just increase the value of the lisp variable "gc-cons-threshold" to e.g. 1 million and you can work rather long before emacs collects garbage. This of course does not help with direct calls to (garbage-collect), but this can be (partially) avoided by redefining the function. Neither my friend nor I have had time to dig up what causes this bug; recompiling all the code with 6.0 compiler does not help. --Pekka Nikander Helsinki University of Technology, Finland Internet: <pnr@hupu.hut.fi> Otakaari Bitnet: pnr@fingate.bitnet 02150 ESPOO UUCP: uunet!mcvax!santra!pnr