Mail Archives: djgpp/1998/07/29/07:05:29
Greetings,
I have a problem in running fsdb immediately after exiting from
emacs (19.34 latest binaries from simtel) and *only* after exiting from
emacs. I have a plain DOS 6.22 machine (comspec=4dos.com). fsdb myprog.exe
crashes even before the fsdb screen comes up with the following traceback:
-----------------------------------------------------------
Cannot continue from exception, exiting due to signal 0123
General Protection Fault at eip=00012360
eax=0000007c ebx=00000004 ecx=fffffffc edx=06a2fcef esi=00000048 edi=00069270
ebp=0006920c esp=00069204 program=D:\DJGPP\BIN\FSDB.EXE
cs: sel=00a7 base=10000000 limit=0009ffff
ds: sel=00af base=10000000 limit=0009ffff
es: sel=00af base=10000000 limit=0009ffff
fs: sel=00cf base=00016300 limit=000040ff
gs: sel=00bf base=00000000 limit=ffffffff
ss: sel=00af base=10000000 limit=0009ffff
Call frame traceback EIPs:
0x00012360 0x12360
0x00011e4d 0x11e4d
0x00007569 0x7569
0x00008126 0x8126
0x0000a348 0xa348
0x0000186f 0x186f
0x00011862 0x11862
-----------------------------------------------------------
I discovered quite by accident that if I run info (infolines=43)
before running fsdb (but after exiting from emacs) fsdb starts up
smoothly and continues as expected. Suspecting that this might be a
screen issue, I changed my emacs setting from mode4350 to plain mode
25, but the problem persists.
I then tried to rebuild fsdb with -g for a more meaningful traceback
using makefile.cws in the directory src/debug/fsdb/ which failed due
to the presence of a statement
xorl %%al, %%al
in fullscr.c, which I corrected after which fsdb.exe got built. Using
this "newfsdb myprog.exe" after exiting emacs gives the following
traceback:
------------------------------------------------------------
Cannot continue from exception, exiting due to signal 0123
General Protection Fault at eip=00013748
eax=0000007c ebx=00000004 ecx=fffffffc edx=06d27c0c esi=00000048 edi=0006c306
ebp=0006c1e8 esp=0006c1e0
program=E:\PROGRAMS\ASM\NEWFSDB.EXE
cs: sel=00a7 base=10000000 limit=0009ffff
ds: sel=00af base=10000000 limit=0009ffff
es: sel=00af base=10000000 limit=0009ffff
fs: sel=00cf base=00016300 limit=000040ff
gs: sel=00bf base=00000000 limit=ffffffff
ss: sel=00af base=10000000 limit=0009ffff
Call frame traceback EIPs:
0x00013748 _malloc+192
0x00013229 _xmalloc+21
0x000080a5 _initdisplay+133, line 2147 of fullscr.c
0x00008c90 _initialize+364, line 2431 of fullscr.c
0x0000aec8 _debugger+52, line 3456 of fullscr.c
0x000020af _main+503, line 139 of ed.c
0x00012c5a ___crt1_startup+454
-----------------------------------------------------------
I hope that I have done nothing silly.
I am adding here the relevant part of my _emacs file:
-------------------------------------------------------
(setq load-path (cons "~/site-lisp" load-path))
(setq enable-local-eval t)
(setq column-number-mode t)
;;; Work in 80x50 screen size, but switch back to 80x25
;;; before exiting and when suspending Emacs.
;
;(setq screen-dimensions-25x80 3)
;(setq screen-dimensions-50x80 85)
(mode4350)
;
(defun my-exit-stuff ()
"My own exit routine. Currently just switches to the 25x80 mode."
(mode25))
(add-hook 'kill-emacs-hook 'my-exit-stuff)
;
(add-hook 'suspend-hook 'mode25)
(add-hook 'suspend-resume-hook 'mode4350)
------------------------------------------------------
I would be happy to supply any other relevant information that might
help.
Many thanks in advance
Gurunandan
- Raw text -