unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* DJGPP only dumps with USE_LISP_UNION_TYPE ??
@ 2004-11-07 10:13 Jan D.
  2004-11-07 10:50 ` Andreas Schwab
                   ` (2 more replies)
  0 siblings, 3 replies; 28+ messages in thread
From: Jan D. @ 2004-11-07 10:13 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 853 bytes --]

Hello.

I was trying to get Emacs to compile on djgpp 2.03.  But it crashed 
every time in the dump phase, at the first GC.  I tried different gcc 
versions (2.95, 3.22, 3.42), different binutils versions (2.11, 2.15), 
with and without optimizations, with and without debugging but it 
always crashed at the same spot.  Since it crashed in GC, I tried to 
set the USE_LISP_UNION_TYPE (found a couple of errors and checked them 
in), and to my surprise, I got a working Emacs.

Does this sound familiar to anyone?  Shouldn't with and without 
USE_LISP_UNION_TYPE be the same at runtime?  I was wondering if this 
could happen at other systems besides djgpp, and if there is some 
subtle Lisp_Object handling bug somewhere.  I've attached some 
debugging output.  If anyone has any idea and want more debugging done, 
I can provide it.

Thanks,

	Jan D.

[-- Attachment #2: symify.out --]
[-- Type: application/octet-stream, Size: 2099 bytes --]

stubedit temacs.exe minstack=100k
set LC_ALL=C; ./temacs -batch -l loadup dump
Loading loadup.el (source)...
Using load-path (../lisp)
Loading emacs-lisp/byte-run...
Loading emacs-lisp/backquote...
Loading subr...
Loading version.el (source)...
Loading widget...
Loading custom...
Loading emacs-lisp/map-ynp...
Loading env...
Loading cus-start...
Loading international/mule...
Exiting due to signal SIGABRT
Raised at eip=00168e5e
eax=002f7e5c ebx=00000120 ecx=00000000 edx=00000000 esi=00000054 edi=002dfa78
ebp=002f7f08 esp=002f7e58 program=D:\src\emacsCVS\src\temacs.exe
cs: sel=024f  base=02f30000  limit=003affff
ds: sel=0257  base=02f30000  limit=003affff
es: sel=0257  base=02f30000  limit=003affff
fs: sel=0227  base=00018030  limit=0000ffff
gs: sel=0277  base=00000000  limit=0010ffff
ss: sel=0257  base=02f30000  limit=003affff
App stack: [002f8a78..002dfa78]  Exceptn stack: [002df94c..002dda0c]

Call frame traceback EIPs:
  0x00168d84 ___djgpp_traceback_exit+48
  0x00168e5e _raise+90
  0x00152f3c _abort+55, line 5269 of msdos.c
  0x000de42c _mark_object+2599, line 5122 of alloc.c
  0x000de044 _mark_object+1599, line 4974 of alloc.c
  0x000dd401 _Fgarbage_collect+713, line 4458 of alloc.c
  0x000f946c _Feval+179, line 2015 of eval.c
  0x00114c1d _readevalloop+796, line 1376 of lread.c
  0x00113a8f _Fload+2532, line 914 of lread.c
  0x000f98b4 _Feval+1275, line 2126 of eval.c
  0x00114c1d _readevalloop+796, line 1376 of lread.c
  0x00113a8f _Fload+2532, line 914 of lread.c
  0x000f98b4 _Feval+1275, line 2126 of eval.c
  0x000784cb _top_level_2+20, line 1318 of keyboard.c
  0x000f8259 _internal_condition_case+243, line 1367 of eval.c
  0x0007857f _top_level_1+52, line 1326 of keyboard.c
  0x000f7cc1 _internal_catch+168, line 1128 of eval.c
  0x0007842e _command_loop+101, line 1283 of keyboard.c
  0x00077f3e _recursive_edit_1+118, line 981 of keyboard.c
  0x00078074 _Frecursive_edit+148, line 1043 of keyboard.c
  0x00076390 _main+3459, line 1740 of emacs.c
  0x0015fde8 ___crt1_startup+176
make.exe: *** [emacs] Error -1

[-- Attachment #3: debug.out --]
[-- Type: application/octet-stream, Size: 3710 bytes --]

#0  abort () at msdos.c:5258
#1  0x000de42c in mark_object (arg=-1) at alloc.c:5116
#2  0x000de044 in mark_object (arg=2985636) at alloc.c:4974
#3  0x000dd401 in Fgarbage_collect () at alloc.c:4458
#4  0x000f946c in Feval (form=4071341) at eval.c:2011
#5  0x00114c1d in readevalloop (readcharfun=3676001, stream=0x38c7c0,
    sourcename=4010275, evalfun=0xf93b9 <Feval>, printflag=0, unibyte=3592193,
    readfun=3592193) at lread.c:1376
#6  0x00113a8f in Fload (file=4010275, noerror=3592193, nomessage=3592193,
    nosuffix=3592193, must_suffix=3592193) at lread.c:914
#7  0x000f98b4 in Feval (form=4003557) at eval.c:2126
#8  0x00114c1d in readevalloop (readcharfun=3676001, stream=0x38c8a0,
    sourcename=3806867, evalfun=0xf93b9 <Feval>, printflag=0, unibyte=3592193,
    readfun=3592193) at lread.c:1376
#9  0x00113a8f in Fload (file=3806867, noerror=3592193, nomessage=3592193,
    nosuffix=3592193, must_suffix=3592193) at lread.c:914
#10 0x000f98b4 in Feval (form=3622853) at eval.c:2126
#11 0x000784cb in top_level_2 () at keyboard.c:1318
#12 0x000f8259 in internal_condition_case (bfun=0x784b7 <top_level_2>,
    handlers=3660233, hfun=0x78180 <cmd_error>) at eval.c:1367
#13 0x0007857f in top_level_1 () at keyboard.c:1326
#14 0x000f7cc1 in internal_catch (tag=3657545, func=0x7854b <top_level_1>,
    arg=3592193) at eval.c:1128
#15 0x0007842e in command_loop () at keyboard.c:1283
#16 0x00077f3e in recursive_edit_1 () at keyboard.c:981
#17 0x00078074 in Frecursive_edit () at keyboard.c:1042
#18 0x00076390 in main (argc=5, argv=0x365c80) at emacs.c:1738

#0  abort () at msdos.c:5258
5258      dos_ttcooked ();
(gdb) up
#1  0x000de42c in mark_object (arg=-1) at alloc.c:5116
5116          abort ();
(gdb) l
5111
5112        case Lisp_Int:
5113          break;
5114
5115        default:
5116          abort ();
5117        }
5118
5119    #undef CHECK_LIVE
5120    #undef CHECK_ALLOCATED
(gdb) p obj
$1 = -1
(gdb) up
#2  0x000de044 in mark_object (arg=2985636) at alloc.c:4974
4974                mark_object (ptr->contents[i]);
(gdb) p ptr->contents[i]
$1 = -1
(gdb) l
4969              VECTOR_MARK (ptr);    /* Else mark it */
4970              if (size & PSEUDOVECTOR_FLAG)
4971                size &= PSEUDOVECTOR_SIZE_MASK;
4972
4973              for (i = 0; i < size; i++) /* and then mark its elements */
4974                mark_object (ptr->contents[i]);
4975            }
4976          break;
4977
4978        case Lisp_Symbol:
(gdb) p i
$2 = 40
(gdb) p size
$3 = 3592193
(gdb) up
#3  0x000dd401 in Fgarbage_collect () at alloc.c:4458
4458        mark_object (*staticvec[i]);
(gdb) l
4453      /* clear_marks (); */
4454
4455      /* Mark all the special slots that serve as the roots of accessibility
.  */
4456
4457      for (i = 0; i < staticidx; i++)
4458        mark_object (*staticvec[i]);
4459
4460      for (bind = specpdl; bind != specpdl_ptr; bind++)
4461        {
4462          mark_object (bind->symbol);
(gdb) p i
$1 = 418


...

Breakpoint 2, staticpro (varaddress=0x2cae00) at alloc.c:4315
4315      if (staticidx >= NSTATICS)
(gdb) p staticidx
$1 = 419
(gdb) up
#1  0x0009dc23 in syms_of_buffer () at buffer.c:5192
5192      staticpro (&Vbuffer_local_symbols);
(gdb) l
5187      staticpro (&last_overlay_modification_hooks);
5188      last_overlay_modification_hooks
5189        = Fmake_vector (make_number (10), Qnil);
5190
5191      staticpro (&Vbuffer_defaults);
5192      staticpro (&Vbuffer_local_symbols);
5193      staticpro (&Qfundamental_mode);
5194      staticpro (&Qmode_class);
5195      staticpro (&QSFundamental);
5196      staticpro (&Vbuffer_alist);

[-- Attachment #4: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2004-11-27 22:54 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-07 10:13 DJGPP only dumps with USE_LISP_UNION_TYPE ?? Jan D.
2004-11-07 10:50 ` Andreas Schwab
2004-11-07 12:02   ` Jan D.
2004-11-07 22:03     ` Eli Zaretskii
2004-11-07 21:56 ` Eli Zaretskii
2004-11-07 23:47   ` Jan D.
2004-11-08  8:10     ` Eli Zaretskii
2004-11-08 12:56       ` Eli Zaretskii
2004-11-08 16:44       ` Eli Zaretskii
2004-11-08 20:40       ` Jan D.
2004-11-09  5:01         ` Eli Zaretskii
2004-11-09 10:25           ` Jan D.
2004-11-09 14:17             ` Stefan
2004-11-09 17:28               ` Jan D.
2004-11-10  4:42                 ` Eli Zaretskii
2004-11-10  8:12                   ` Jan D.
2004-11-10 21:05                     ` Eli Zaretskii
2004-11-10  4:36             ` Eli Zaretskii
2004-11-12 18:23               ` Eli Zaretskii
2004-11-14 10:17                 ` Jan D.
2004-11-14 20:33                   ` Eli Zaretskii
2004-11-27 12:36                     ` Eli Zaretskii
2004-11-27 16:31                       ` Jan D.
2004-11-27 16:33                         ` Eli Zaretskii
2004-11-27 18:19                         ` Eli Zaretskii
2004-11-27 22:54                           ` Jan D.
2004-11-11 20:03             ` Eli Zaretskii
2004-11-08 15:15 ` Stefan

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).