[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pdumper on Solaris 10
From: |
Eli Zaretskii |
Subject: |
Re: pdumper on Solaris 10 |
Date: |
Wed, 11 Dec 2024 19:43:14 +0200 |
> Date: Wed, 11 Dec 2024 14:13:11 +0000
> From: Pip Cet <pipcet@protonmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>, stefankangas@gmail.com, luangruo@yahoo.com,
> ali_gnu2@emvision.com, emacs-devel@gnu.org
>
> Pip Cet <pipcet@protonmail.com> writes:
> > Gerd Möllmann <gerd.moellmann@gmail.com> writes:
> >> Eli Zaretskii <eliz@gnu.org> writes:
> >>> That's not what Gerd says, AFAIU. But if you are right, then how
> >>> about making the WIDE_EMACS_INT configuration on the igc branch use
> >>> USE_LSB_TAG in the HAVE_MPS code branch? I can volunteer to test such
> >>> a build, if that would help.
> >
> > Thanks for the offer. I definitely think we should move away from
> > USE_LSB_TAG=0 as much as possible, and if the only place where such a
> > change would not be vetoed is scratch/igc + WIDE_EMACS_INT, we can at
> > least fix it there. If any issues arise, of course, it will be more
> > difficult to ascertain whether they were caused by the USE_LSB_TAG
> > change or the IGC changes themselves.
> >
> > So I'll push that change in a bit, unless someone objects.
>
> Just pushed it to the scratch/igc branch. It shouldn't have any effect
> on ordinary 64-bit builds; some of the code is to cater to the
> hypothetical big-endian 32-bit use case, and technically the x86 MPS
> weak pointer "optimization" could bite us again, but recent GCC does not
> generate the precise instructions that MPS emulates, so I'll risk it.
The "normal" (i.e. without WIDE_EMACS_INT) 32-bit MS-Windows build is
now broken:
CCLD temacs.exe
GEN ../etc/DOC
/bin/mkdir -p ../etc
make -C ../lisp update-subdirs
make[3]: Entering directory `/d/gnu/git/emacs/feature/lisp'
make[3]: Leaving directory `/d/gnu/git/emacs/feature/lisp'
cp -f temacs.exe bootstrap-emacs.exe
rm -f bootstrap-emacs.pdmp
./temacs --batch -l loadup --temacs=pbootstrap \
--bin-dest '/d/usr/bin/' --eln-dest '/d/usr/lib/emacs/31.0.50/'
Loading loadup.el (source)...
Dump mode: pbootstrap
Using load-path (d:/gnu/git/emacs/feature/lisp
d:/gnu/git/emacs/feature/lisp/emacs-lisp
d:/gnu/git/emacs/feature/lisp/progmodes d:/gnu/git/emacs/feature/lisp/language
d:/gnu/git/emacs/feature/lisp/international
d:/gnu/git/emacs/feature/lisp/textmodes d:/gnu/git/emacs/feature/lisp/vc)
Loading emacs-lisp/debug-early...
Loading emacs-lisp/byte-run...
Loading emacs-lisp/backquote...
Loading subr...
lisp.h:1273: Emacs fatal error: assertion failed: !FIXNUM_OVERFLOW_P (n)
Backtrace:
0124c3b2
Makefile:1018: recipe for target `bootstrap-emacs.pdmp' failed
make[2]: *** [bootstrap-emacs.pdmp] Error 3
Below I show the backtrace and some data from GDB.
Does such a build work on GNU/Linux?
Let me know if I can provide more data for debugging this.
Thread 1 hit Breakpoint 1, terminate_due_to_signal (sig=sig@entry=22,
backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:432
432 {
(gdb) bt
#0 terminate_due_to_signal (sig=sig@entry=22,
backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:432
#1 0x00b1b53a in die (
msg=msg@entry=0x10e4889 <i_fwd+849> "!FIXNUM_OVERFLOW_P (n)",
file=file@entry=0x10e478d <i_fwd+597> "lisp.h", line=line@entry=1273)
at alloc.c:8377
#2 0x00bd7830 in make_fixnum (n=<optimized out>) at lisp.h:1273
#3 0x00bdaf04 in make_fixnum (n=<optimized out>) at lisp.h:1273
#4 weak_hash_table_entry (entry=...) at igc.c:4111
#5 0x00b514e9 in WEAK_HASH_INDEX (h=<optimized out>, idx=<optimized out>)
at fns.c:5487
#6 0x00b52c4b in weak_hash_lookup_with_hash (h=h@entry=0xb0542b8,
key=key@entry=XIL(0xb059b43), hash=hash@entry=make_fixnum(14948))
at fns.c:5722
#7 0x00b60f85 in Fputhash (key=XIL(0xb059b43), value=XIL(0xb059cfb),
table=XIL(0xb0542bd)) at fns.c:6555
#8 0x00b9bc8a in exec_byte_code (fun=<optimized out>, args_template=771,
args_template@entry=0, nargs=<optimized out>, nargs@entry=0,
args=<optimized out>, args@entry=0x0) at lisp.h:791
#9 0x00b9e082 in Fbyte_code (bytestr=<optimized out>, vector=XIL(0xb059e9d),
maxdepth=make_fixnum(4)) at bytecode.c:325
#10 0x00b4be63 in eval_sub (form=form@entry=XIL(0xb059c6b)) at eval.c:2610
#11 0x00b87f70 in readevalloop (readcharfun=readcharfun@entry=XIL(0x60a0),
infile0=infile0@entry=0x767f048,
sourcename=sourcename@entry=XIL(0xb059a34),
printflag=printflag@entry=false, unibyte=unibyte@entry=XIL(0),
readfun=readfun@entry=XIL(0), start=start@entry=XIL(0),
end=<optimized out>, end@entry=XIL(0)) at lread.c:2540
#12 0x00b889e5 in Fload (file=XIL(0xb0598fc), noerror=XIL(0),
nomessage=XIL(0), nosuffix=XIL(0), must_suffix=<optimized out>)
at lisp.h:1226
#13 0x00b4be1a in eval_sub (form=form@entry=XIL(0xb0598eb)) at eval.c:2618
#14 0x00b87f70 in readevalloop (readcharfun=readcharfun@entry=XIL(0x60a0),
infile0=infile0@entry=0x767f638,
sourcename=sourcename@entry=XIL(0xb04a314),
printflag=printflag@entry=false, unibyte=unibyte@entry=XIL(0),
readfun=readfun@entry=XIL(0), start=start@entry=XIL(0),
end=<optimized out>, end@entry=XIL(0)) at lread.c:2540
#15 0x00b889e5 in Fload (file=XIL(0xb049f84), noerror=XIL(0),
nomessage=XIL(0), nosuffix=XIL(0), must_suffix=<optimized out>)
at lisp.h:1226
#16 0x00b4be1a in eval_sub (form=form@entry=XIL(0xb049fab)) at eval.c:2618
#17 0x00b4dd99 in Feval (form=XIL(0xb049fab), lexical=lexical@entry=XIL(0x20))
at eval.c:2463
#18 0x00aa69a1 in top_level_2 () at lisp.h:1226
#19 0x00b4613b in internal_condition_case (
bfun=bfun@entry=0xaa6943 <top_level_2>, handlers=handlers@entry=XIL(0x60),
hfun=hfun@entry=0xab0496 <cmd_error>) at eval.c:1618
#20 0x00aa70b0 in top_level_1 (ignore=XIL(0)) at lisp.h:1226
#21 0x00b46055 in internal_catch (tag=tag@entry=XIL(0xc540),
func=func@entry=0xaa7087 <top_level_1>, arg=arg@entry=XIL(0))
at eval.c:1297
#22 0x00aa675f in command_loop () at lisp.h:1226
#23 0x00ab0054 in recursive_edit_1 () at keyboard.c:760
#24 0x00ab0342 in Frecursive_edit () at keyboard.c:843
#25 0x00cf4375 in main (argc=<optimized out>, argv=<optimized out>)
at emacs.c:2646
(gdb) up
#1 0x00b1b53a in die (
msg=msg@entry=0x10e4889 <i_fwd+849> "!FIXNUM_OVERFLOW_P (n)",
file=file@entry=0x10e478d <i_fwd+597> "lisp.h", line=line@entry=1273)
at alloc.c:8377
8377 terminate_due_to_signal (SIGABRT, INT_MAX);
(gdb)
#2 0x00bd7830 in make_fixnum (n=<optimized out>) at lisp.h:1273
1273 eassert (!FIXNUM_OVERFLOW_P (n));
(gdb)
#3 0x00bdaf04 in make_fixnum (n=<optimized out>) at lisp.h:1273
1273 eassert (!FIXNUM_OVERFLOW_P (n));
(gdb)
#4 weak_hash_table_entry (entry=...) at igc.c:4111
4111 return make_fixnum (entry.intptr >> 1);
(gdb) p entry
$1 = {
intptr = 4294967295,
fixnum = make_fixnum(6)
}
(gdb) up
#5 0x00b514e9 in WEAK_HASH_INDEX (h=<optimized out>, idx=<optimized out>)
at fns.c:5487
5487 return XFIXNUM (weak_hash_table_entry (h->strong->index[idx]));
(gdb) up
#6 0x00b52c4b in weak_hash_lookup_with_hash (h=h@entry=0xa8542b8,
key=key@entry=XIL(0xa859b43), hash=hash@entry=make_fixnum(14948))
at fns.c:5722
5722 for (ptrdiff_t i = WEAK_HASH_INDEX (h, start_of_bucket);
(gdb) up
#7 0x00b60f85 in Fputhash (key=XIL(0xa859b43), value=XIL(0xa859cfb),
table=XIL(0xa8542bd)) at fns.c:6555
6555 ptrdiff_t i = weak_hash_lookup_with_hash (wh, key, hash);
- Re: Gap buffer problem?, (continued)
- Re: Gap buffer problem?, Gerd Möllmann, 2024/12/11
- Re: pdumper on Solaris 10, Gerd Möllmann, 2024/12/10
- Re: pdumper on Solaris 10, Pip Cet, 2024/12/10
- Re: pdumper on Solaris 10, Eli Zaretskii, 2024/12/10
- Re: pdumper on Solaris 10, Gerd Möllmann, 2024/12/10
- Re: pdumper on Solaris 10, Pip Cet, 2024/12/10
- Re: pdumper on Solaris 10, Gerd Möllmann, 2024/12/10
- Re: pdumper on Solaris 10, Pip Cet, 2024/12/10
- Re: pdumper on Solaris 10, Gerd Möllmann, 2024/12/10
- Re: pdumper on Solaris 10, Pip Cet, 2024/12/11
- Re: pdumper on Solaris 10,
Eli Zaretskii <=
- Re: pdumper on Solaris 10, Eli Zaretskii, 2024/12/14
- Re: pdumper on Solaris 10, Pip Cet, 2024/12/15
- Re: pdumper on Solaris 10, Eli Zaretskii, 2024/12/15
- Re: pdumper on Solaris 10, Pip Cet, 2024/12/15
- Re: pdumper on Solaris 10, Eli Zaretskii, 2024/12/15
- Re: pdumper on Solaris 10, John ff, 2024/12/15
- Re: pdumper on Solaris 10, Paul Eggert, 2024/12/17
- Re: pdumper on Solaris 10, Pip Cet, 2024/12/17
- Re: pdumper on Solaris 10, Paul Eggert, 2024/12/17
- Re: pdumper on Solaris 10, Eli Zaretskii, 2024/12/17