Glynn Clements <glynn(a)sensei.co.uk> writes:
Using `gnuclient -nw <filename>' kills XEmacs, but only
when started
from the WM. If it is started from an xterm or the console, it works
fine.
Which OS... Linux probably? (judging from the libs)
(Could you please recreate using an XEmacs with "-g"? (even nicer
would be if libgpm.so and/or glibc were also "-g" compiled).
(gdb) where
#0 0x403ad4b1 in ?? () from /lib/libc.so.6
#1 0xbfffce34 in ?? ()
#2 0x403323bd in ?? () from /usr/lib/libgpm.so.1
#3 0xd0000 in ?? ()
Cannot access memory at address 0x1000d.
(is this in a signal handler?)
It is crashing in libgpm (maybe in a signal handler). the gpm code
cannot handle what we do with it (see the PROBLEMS file), so maybe
this just another symptom.
However I am not sure we are doing everything correctly when creating
tty devices.
make-device(tty "/dev/ttyp4" (terminal-type
"xterm" controlling-process 2825))
Somebody on Digital Unix reported this:
# (unwind-protect ...)
make-device(tty "/dev/ttyp4" (terminal-type "vt100"
controlling-process 1069))
# bind (controlling-process terminal-type tty)
make-tty-device("/dev/ttyp4" "vt100" 1069)
apply(make-tty-device ("/dev/ttyp4" "vt100" 1069))
# bind (dest-frame new-frame old-device-num quick view flags list type)
gnuserv-edit-files((tty "/dev/ttyp4" "vt100" 1069) nil)
With the following C part
(gdb) where
#0 0x3ff82067a10 in __kill ()
#1 0x120086950 in fatal_error_signal (sig=-2113585884) at emacs.c:220
#2 <signal handler called>
#3 0x120191690 in _free_internal (ptr=0x3ffc062e0a0 "") at gmalloc.c:789
#4 0x120191b54 in free (ptr=0x3ffc062e0a0 "") at gmalloc.c:950
#5 0x3ff8082a260 in setupterm ()
#6 0x3ff80825d54 in tgetent ()
#7 0x1200b2504 in init_tty_for_redisplay (d=0x140648000,
etc.
There is also another guy having weird buffering problems between
gnuserv and XEmacs IF AND ONLY IF he starts XEmacs from his
windowmanager.
Weird...
Jan