* Question about dumping and initialization
@ 2013-03-14 11:13 Jérémie Courrèges-Anglas
2013-03-14 21:16 ` Paul Eggert
0 siblings, 1 reply; 4+ messages in thread
From: Jérémie Courrèges-Anglas @ 2013-03-14 11:13 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1567 bytes --]
Hi folks,
I'm currently trying to make Emacs use my system's malloc to build 24.3
(my system is OpenBSD). In order to achieve this, I force
system_malloc=yes in the configure script; the build fails right at
./temacs startup time.
Suspecting a problem with malloc randomization (which is on for all
executables on OpenBSD), I #define USE_LSB_TAG 1, hoping to avoid
pointer mangling. This works rather well and leads to temacs dumping
successfully.
Sadly the produced bootstrap-emacs isn't usable and fails with segfaults
in alloc.c. I'm 99% sure that those segfaults are due to file-global
variables that either:
- aren't reset by temacs at dump time or
- aren't properly re-initialized the dumped bootstrap-emacs executable
(I've used a hack to make emacs reset some of those variables at
startup; each time I re-initialized a new variable, the dumped
executable could run a bit longer. The first variable that needed this
treatment was src/alloc.c:float_free_list).
I don't know much about Emacs internals but I'd rather go with the
second reason. I've tested a bit temacs (CANNOT_DUMP=yes in
src/Makefile) and even though it is of course very slow at startup
time, it seems rather stable so far. Thus I think I'm on the right
road.
So, has any of you already met this problem, and if so, could you please
give me hints about where I should look next?
Thank you for your attention,
--
Jérémie Courrèges-Anglas - Emacs OpenBSD port maintainer
GPG Key fingerprint: 61DB D9A0 00A4 67CF 2A90 8961 6191 8FBF 06A1 1494
[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Question about dumping and initialization
2013-03-14 11:13 Question about dumping and initialization Jérémie Courrèges-Anglas
@ 2013-03-14 21:16 ` Paul Eggert
2013-03-14 22:36 ` Jérémie Courrèges-Anglas
0 siblings, 1 reply; 4+ messages in thread
From: Paul Eggert @ 2013-03-14 21:16 UTC (permalink / raw)
To: emacs-devel
Can you reproduce the problem on GNU/Linux?
Make the same change to 'configure', then run
something like this:
emacs_cv_var_doug_lea_malloc=no ./configure
MALLOC_PERTURB_=23 make
This tries to set up the same sort of environment, with
address space randomization and everything. If this fails in
a similar way, it might be easier to debug than the OpenBSD
port would be. And if it doesn't fail it's an indication that
the problem might be more on the OpenBSD side than in the Emacs
side.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Question about dumping and initialization
2013-03-14 21:16 ` Paul Eggert
@ 2013-03-14 22:36 ` Jérémie Courrèges-Anglas
2013-03-15 1:35 ` Paul Eggert
0 siblings, 1 reply; 4+ messages in thread
From: Jérémie Courrèges-Anglas @ 2013-03-14 22:36 UTC (permalink / raw)
To: Paul Eggert; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1722 bytes --]
Paul Eggert <eggert@cs.ucla.edu> writes:
> Can you reproduce the problem on GNU/Linux?
> Make the same change to 'configure', then run
> something like this:
>
> emacs_cv_var_doug_lea_malloc=no ./configure
> MALLOC_PERTURB_=23 make
Ah, didn't know about MALLOC_PERTURB_, thanks. You're reminding me that
I also have strict malloc settings on OpenBSD (ln -s S /etc/malloc.conf).
Anyway, I have followed your instructions and I get a segfault as soon
as the build process fires bootstrap-emacs on Debian Squeeze (amd64).
I have attached the gdb backtrace for both OpenBSD and Debian at the end
of this mail. Similarly, temacs (appears to) run fine since a few
minutes.
Perhaps should I add that those two tests were launched with:
$ ./configure --without-x --without-dbus --without-gconf \
--without-gsettings && make
$
and
$ emacs_cv_var_doug_lea_malloc=no ./configure --without-x \
--without-dbus --without-gconf --without-gsettings && MALLOC_PERTURB_=23
$
respectively - but I don't think that changes much in the end.
> This tries to set up the same sort of environment, with
> address space randomization and everything. If this fails in
> a similar way, it might be easier to debug than the OpenBSD
> port would be. And if it doesn't fail it's an indication that
> the problem might be more on the OpenBSD side than in the Emacs
> side.
OK. I hadn't thought about trying on other OSes
By the way, to makes things a bit clearer: I want to try to make it work
with the system allocator for no other reason than "I feel it should
work". Emacs works fine for me as is and you folks probably have other
fish to fry. But if people have some hints and/or want to help
debugging this, I'd be glad of course.
[-- Attachment #2: emacs-btfull-debian.txt --]
[-- Type: text/plain, Size: 27344 bytes --]
Program terminated with signal 11, Segmentation fault.
#0 0x00002ba94458febb in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:41
41 ../nptl/sysdeps/unix/sysv/linux/pt-raise.c: Aucun fichier ou dossier de ce type.
in ../nptl/sysdeps/unix/sysv/linux/pt-raise.c
(gdb) bt full
#0 0x00002ba94458febb in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:41
No locals.
#1 0x00000000004847e5 in terminate_due_to_signal (sig=11, backtrace_limit=40) at emacs.c:344
No locals.
#2 0x000000000049d0fe in handle_fatal_signal (sig=28750) at sysdep.c:1638
No locals.
#3 0x000000000049de83 in deliver_thread_signal (sig=11) at sysdep.c:1614
old_errno = 0
#4 deliver_fatal_thread_signal (sig=11) at sysdep.c:1650
No locals.
#5 <signal handler called>
No symbol table info available.
#6 0x00002ba944a9213c in malloc_consolidate (av=0x2ba944d7de40) at malloc.c:5145
fb = 0x2ba944d7de58
maxfb = 0x2ba944d7de90
p = 0x133dcb0
nextp = 0x133e1c0
unsorted_bin = 0x2ba944d7de98
first_unsorted = <value optimized out>
nextchunk = 0x133e1c0
size = 1296
nextsize = 64
prevsize = <value optimized out>
bck = 0xb933e0
fwd = 0x2aaaabc67e98
__func__ = "malloc_consolidate"
#7 0x00002ba944a94594 in _int_malloc (av=0x2ba944d7de40, bytes=32808) at malloc.c:4373
nb = 32816
idx = 12137440
bin = 0x133e1c0
victim = 0x2ba944d7de40
size = <value optimized out>
victim_index = <value optimized out>
remainder = <value optimized out>
remainder_size = <value optimized out>
block = <value optimized out>
bit = <value optimized out>
map = <value optimized out>
fwd = <value optimized out>
bck = <value optimized out>
errstr = <value optimized out>
__func__ = "_int_malloc"
#8 0x00002ba944a96c70 in *__GI___libc_malloc (bytes=32808) at malloc.c:3661
---Type <return> to continue, or q <return> to quit---
ar_ptr = 0x2ba944d7de40
victim = 0x0
__func__ = "__libc_malloc"
#9 0x00002ba944abcb11 in __alloc_dir (fd=3, close_fd=true, statp=0x0) at ../sysdeps/unix/opendir.c:186
allocation = 32768
dirp = <value optimized out>
#10 0x00000000004bdd2f in directory_files_internal (directory=<value optimized out>, full=<value optimized out>, match=35006193, nosort=<value optimized out>,
attrs=<value optimized out>, id_format=<value optimized out>) at dired.c:169
d = <value optimized out>
directory_nbytes = 11403218
list = 5033523
dirfilename = 20042177
bufp = 0xac0b98
needsep = <value optimized out>
dp = <value optimized out>
#11 0x00000000004f8973 in Ffuncall (nargs=<value optimized out>, args=<value optimized out>) at eval.c:2789
fun = <value optimized out>
original_fun = <value optimized out>
funcar = <value optimized out>
numargs = 3
val = <value optimized out>
backtrace = {next = 0x7fff87023ad0, function = 11572482, args = 0x7fff870239f8, nargs = 3, debug_on_exit = 0}
internal_args = 0x7fff87023920
i = 20177344
#12 0x000000000052dbbd in exec_byte_code (bytestr=<value optimized out>, vector=<value optimized out>, maxdepth=<value optimized out>,
args_template=<value optimized out>, nargs=48006004465216, args=0x2ba944d7de58) at bytecode.c:900
targets = {0x52dcdb, 0x52fd91, 0x52fd96, 0x52f96d, 0x52dc28, 0x52dc28, 0x52f972, 0x52f9b5, 0x52f928, 0x52f92d, 0x52f932, 0x52f93d, 0x52da92, 0x52da98, 0x52dd19,
0x52f945, 0x52de9d, 0x52dea2, 0x52dea7, 0x52deb5, 0x52daea, 0x52daf0, 0x52deed, 0x52dec5, 0x52df69, 0x52df6e, 0x52df73, 0x52df7d, 0x52db5a, 0x52db60,
0x52df2c, 0x52df41, 0x52dfc2, 0x52dfc7, 0x52dfcc, 0x52dfd5, 0x52db98, 0x52dba0, 0x52df85, 0x52df9a, 0x52e022, 0x52e027, 0x52e02c, 0x52e035, 0x52dbe0,
0x52dbe0, 0x52dfe5, 0x52dffa, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52e88c, 0x52e907, 0x52e942, 0x52e97d,
0x52e9b8, 0x52ddee, 0x52de2a, 0x52e9fc, 0x52ddad, 0x52de5c, 0x52ea31, 0x52ea63, 0x52ea95, 0x52ead6, 0x52eb0a, 0x52eb87, 0x52ebb2, 0x52ebe4, 0x52ec1d,
0x52ec48, 0x52ec73, 0x52eca5, 0x52ecd7, 0x52ed09, 0x52ed42, 0x52ed76, 0x52edaa, 0x52ee27, 0x52ee63, 0x52ee9f, 0x52ef3d, 0x52ef6f, 0x52efa1, 0x52efd3,
0x52f005, 0x52f039, 0x52f06e, 0x52f0a2, 0x52f0d6, 0x52f10a, 0x52f1a4, 0x52dce7, 0x52f1dd, 0x52f208, 0x52f281, 0x52f2ba, 0x52f2f3, 0x52f31e, 0x52f34a,
0x52f376, 0x52f3a6, 0x52dcdb, 0x52f3d8, 0x52f404, 0x52f430, 0x52f45c, 0x52f488, 0x52f4b4, 0x52dce7, 0x52dcdb, 0x52f4df, 0x52f50b, 0x52f536, 0x52f561,
0x52f593, 0x52f5c5, 0x52f5f0, 0x52f6c0, 0x52f6f2, 0x52f724, 0x52f756, 0x52f782, 0x52dcdb, 0x52e25a, 0x52e074, 0x52dd2e, 0x52e11a, 0x52e1db, 0x52e3d2,
0x52e758, 0x52e797, 0x52df02, 0x52e2a5, 0x52e2d7, 0x52e338, 0x52e36a, 0x52e3a1, 0x52e7bb, 0x52e7f4, 0x52e838, 0x52e045, 0x52f7ad, 0x52f7e6, 0x52f811,
0x52f83c, 0x52f867, 0x52f892, 0x52f8c4, 0x52f8f6, 0x52fb17, 0x52fb49, 0x52fb8b, 0x52fbbd, 0x52fbef, 0x52fc1a, 0x52fc4c, 0x52fc7e, 0x52fcb9, 0x52fcf4,
0x52f13e, 0x52f172, 0x52fd28, 0x52fd5c, 0x52dcdb, 0x52e490, 0x52e523, 0x52e59b, 0x52e643, 0x52e6b5, 0x52eb3e, 0x52edde, 0x52f238, 0x52fa08, 0x52fa4b,
0x52dcdb, 0x52dcdb, 0x52fa9e, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52fae8 <repeats 64 times>}
op = <value optimized out>
stack = {pc = 0x210e42f "\207", byte_string = 34920337, byte_string_start = 0x210e428 "\301\302\002!\303\300#\207", constants = 17650245, next = 0x7fff87023e40}
top = 0x7fff870239f0
result = <value optimized out>
---Type <return> to continue, or q <return> to quit---
#13 0x00000000004f87cd in Ffuncall (nargs=<value optimized out>, args=0x10d5270) at eval.c:2839
fun = 48006004465216
original_fun = 17650293
funcar = 20177344
numargs = 1
val = <value optimized out>
backtrace = {next = 0x7fff87023d30, function = 17650293, args = 0x7fff87023b48, nargs = 1, debug_on_exit = 0}
internal_args = <value optimized out>
i = <value optimized out>
#14 0x00000000004fa0da in call1 (fn=<value optimized out>, arg1=<value optimized out>) at eval.c:2572
ret_ungc_val = 20177344
args = {17650293, 20037713}
#15 0x000000000050081b in mapcar1 (leni=29, vals=0x7fff87023bb0, fn=17650293, seq=65) at fns.c:2321
tail = 34821942
dummy = <value optimized out>
i = 4
#16 0x0000000000500be6 in Fmapcar (function=17650293, sequence=65) at fns.c:2391
len = <value optimized out>
leni = 29
ret = <value optimized out>
#17 0x00000000004f899a in Ffuncall (nargs=<value optimized out>, args=<value optimized out>) at eval.c:2781
fun = <value optimized out>
original_fun = <value optimized out>
funcar = <value optimized out>
numargs = 2
val = <value optimized out>
backtrace = {next = 0x7fff87023ee0, function = 11543714, args = 0x7fff87023dd0, nargs = 2, debug_on_exit = 0}
internal_args = 0x7fff87023dd0
i = 20177344
#18 0x000000000052dbbd in exec_byte_code (bytestr=<value optimized out>, vector=<value optimized out>, maxdepth=<value optimized out>,
args_template=<value optimized out>, nargs=48006004465216, args=0x2ba944d7de58) at bytecode.c:900
targets = {0x52dcdb, 0x52fd91, 0x52fd96, 0x52f96d, 0x52dc28, 0x52dc28, 0x52f972, 0x52f9b5, 0x52f928, 0x52f92d, 0x52f932, 0x52f93d, 0x52da92, 0x52da98, 0x52dd19,
0x52f945, 0x52de9d, 0x52dea2, 0x52dea7, 0x52deb5, 0x52daea, 0x52daf0, 0x52deed, 0x52dec5, 0x52df69, 0x52df6e, 0x52df73, 0x52df7d, 0x52db5a, 0x52db60,
0x52df2c, 0x52df41, 0x52dfc2, 0x52dfc7, 0x52dfcc, 0x52dfd5, 0x52db98, 0x52dba0, 0x52df85, 0x52df9a, 0x52e022, 0x52e027, 0x52e02c, 0x52e035, 0x52dbe0,
0x52dbe0, 0x52dfe5, 0x52dffa, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52e88c, 0x52e907, 0x52e942, 0x52e97d,
0x52e9b8, 0x52ddee, 0x52de2a, 0x52e9fc, 0x52ddad, 0x52de5c, 0x52ea31, 0x52ea63, 0x52ea95, 0x52ead6, 0x52eb0a, 0x52eb87, 0x52ebb2, 0x52ebe4, 0x52ec1d,
0x52ec48, 0x52ec73, 0x52eca5, 0x52ecd7, 0x52ed09, 0x52ed42, 0x52ed76, 0x52edaa, 0x52ee27, 0x52ee63, 0x52ee9f, 0x52ef3d, 0x52ef6f, 0x52efa1, 0x52efd3,
0x52f005, 0x52f039, 0x52f06e, 0x52f0a2, 0x52f0d6, 0x52f10a, 0x52f1a4, 0x52dce7, 0x52f1dd, 0x52f208, 0x52f281, 0x52f2ba, 0x52f2f3, 0x52f31e, 0x52f34a,
0x52f376, 0x52f3a6, 0x52dcdb, 0x52f3d8, 0x52f404, 0x52f430, 0x52f45c, 0x52f488, 0x52f4b4, 0x52dce7, 0x52dcdb, 0x52f4df, 0x52f50b, 0x52f536, 0x52f561,
0x52f593, 0x52f5c5, 0x52f5f0, 0x52f6c0, 0x52f6f2, 0x52f724, 0x52f756, 0x52f782, 0x52dcdb, 0x52e25a, 0x52e074, 0x52dd2e, 0x52e11a, 0x52e1db, 0x52e3d2,
0x52e758, 0x52e797, 0x52df02, 0x52e2a5, 0x52e2d7, 0x52e338, 0x52e36a, 0x52e3a1, 0x52e7bb, 0x52e7f4, 0x52e838, 0x52e045, 0x52f7ad, 0x52f7e6, 0x52f811,
0x52f83c, 0x52f867, 0x52f892, 0x52f8c4, 0x52f8f6, 0x52fb17, 0x52fb49, 0x52fb8b, 0x52fbbd, 0x52fbef, 0x52fc1a, 0x52fc4c, 0x52fc7e, 0x52fcb9, 0x52fcf4,
0x52f13e, 0x52f172, 0x52fd28, 0x52fd5c, 0x52dcdb, 0x52e490, 0x52e523, 0x52e59b, 0x52e643, 0x52e6b5, 0x52eb3e, 0x52edde, 0x52f238, 0x52fa08, 0x52fa4b,
---Type <return> to continue, or q <return> to quit---
0x52dcdb, 0x52dcdb, 0x52fa9e, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52fae8 <repeats 64 times>}
op = <value optimized out>
stack = {pc = 0x210e2c8 "\"\306\331 Ɖ\030\332\333!\203K", byte_string = 34919649, byte_string_start = 0x210e290 "\306\307 \211\203\034", constants = 17637837,
next = 0x7fff870241e0}
top = 0x7fff87023dc8
result = <value optimized out>
#19 0x00000000004f87cd in Ffuncall (nargs=<value optimized out>, args=0x10d2380) at eval.c:2839
fun = 48006004465216
original_fun = 13508626
funcar = 20177344
numargs = 29
val = <value optimized out>
backtrace = {next = 0x7fff870240f0, function = 13508626, args = 0x7fff87023f58, nargs = 29, debug_on_exit = 0}
internal_args = <value optimized out>
i = <value optimized out>
#20 0x00000000004fa2e4 in Fapply (nargs=<value optimized out>, args=0x7fff87024178) at eval.c:2312
i = <value optimized out>
numargs = <value optimized out>
spread_arg = 11403218
funcall_args = 0x7fff87023f50
fun = <value optimized out>
retval = <value optimized out>
sa_must_free = false
#21 0x00000000004f8a21 in Ffuncall (nargs=<value optimized out>, args=<value optimized out>) at eval.c:2759
fun = <value optimized out>
original_fun = 11538418
funcar = <value optimized out>
numargs = 2
val = <value optimized out>
backtrace = {next = 0x7fff87024280, function = 11538418, args = 0x7fff87024178, nargs = 2, debug_on_exit = 0}
internal_args = <value optimized out>
i = <value optimized out>
#22 0x000000000052dbbd in exec_byte_code (bytestr=<value optimized out>, vector=<value optimized out>, maxdepth=<value optimized out>,
args_template=<value optimized out>, nargs=48006004465216, args=0x2ba944d7de58) at bytecode.c:900
targets = {0x52dcdb, 0x52fd91, 0x52fd96, 0x52f96d, 0x52dc28, 0x52dc28, 0x52f972, 0x52f9b5, 0x52f928, 0x52f92d, 0x52f932, 0x52f93d, 0x52da92, 0x52da98, 0x52dd19,
0x52f945, 0x52de9d, 0x52dea2, 0x52dea7, 0x52deb5, 0x52daea, 0x52daf0, 0x52deed, 0x52dec5, 0x52df69, 0x52df6e, 0x52df73, 0x52df7d, 0x52db5a, 0x52db60,
0x52df2c, 0x52df41, 0x52dfc2, 0x52dfc7, 0x52dfcc, 0x52dfd5, 0x52db98, 0x52dba0, 0x52df85, 0x52df9a, 0x52e022, 0x52e027, 0x52e02c, 0x52e035, 0x52dbe0,
0x52dbe0, 0x52dfe5, 0x52dffa, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52e88c, 0x52e907, 0x52e942, 0x52e97d,
0x52e9b8, 0x52ddee, 0x52de2a, 0x52e9fc, 0x52ddad, 0x52de5c, 0x52ea31, 0x52ea63, 0x52ea95, 0x52ead6, 0x52eb0a, 0x52eb87, 0x52ebb2, 0x52ebe4, 0x52ec1d,
0x52ec48, 0x52ec73, 0x52eca5, 0x52ecd7, 0x52ed09, 0x52ed42, 0x52ed76, 0x52edaa, 0x52ee27, 0x52ee63, 0x52ee9f, 0x52ef3d, 0x52ef6f, 0x52efa1, 0x52efd3,
0x52f005, 0x52f039, 0x52f06e, 0x52f0a2, 0x52f0d6, 0x52f10a, 0x52f1a4, 0x52dce7, 0x52f1dd, 0x52f208, 0x52f281, 0x52f2ba, 0x52f2f3, 0x52f31e, 0x52f34a,
0x52f376, 0x52f3a6, 0x52dcdb, 0x52f3d8, 0x52f404, 0x52f430, 0x52f45c, 0x52f488, 0x52f4b4, 0x52dce7, 0x52dcdb, 0x52f4df, 0x52f50b, 0x52f536, 0x52f561,
0x52f593, 0x52f5c5, 0x52f5f0, 0x52f6c0, 0x52f6f2, 0x52f724, 0x52f756, 0x52f782, 0x52dcdb, 0x52e25a, 0x52e074, 0x52dd2e, 0x52e11a, 0x52e1db, 0x52e3d2,
---Type <return> to continue, or q <return> to quit---
0x52e758, 0x52e797, 0x52df02, 0x52e2a5, 0x52e2d7, 0x52e338, 0x52e36a, 0x52e3a1, 0x52e7bb, 0x52e7f4, 0x52e838, 0x52e045, 0x52f7ad, 0x52f7e6, 0x52f811,
0x52f83c, 0x52f867, 0x52f892, 0x52f8c4, 0x52f8f6, 0x52fb17, 0x52fb49, 0x52fb8b, 0x52fbbd, 0x52fbef, 0x52fc1a, 0x52fc4c, 0x52fc7e, 0x52fcb9, 0x52fcf4,
0x52f13e, 0x52f172, 0x52fd28, 0x52fd5c, 0x52dcdb, 0x52e490, 0x52e523, 0x52e59b, 0x52e643, 0x52e6b5, 0x52eb3e, 0x52edde, 0x52f238, 0x52fa08, 0x52fa4b,
0x52dcdb, 0x52dcdb, 0x52fa9e, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52fae8 <repeats 64 times>}
op = <value optimized out>
stack = {pc = 0x210e56d "\207", byte_string = 34921857, byte_string_start = 0x210e508 "\b\204^", constants = 17641685, next = 0x7fff870243d0}
top = 0x7fff87024170
result = <value optimized out>
#23 0x00000000004f87cd in Ffuncall (nargs=<value optimized out>, args=0x10d2400) at eval.c:2839
fun = 48006004465216
original_fun = 13508674
funcar = 20177344
numargs = 0
val = <value optimized out>
backtrace = {next = 0x7fff87024470, function = 13508674, args = 0x7fff87024370, nargs = 0, debug_on_exit = 0}
internal_args = <value optimized out>
i = <value optimized out>
#24 0x000000000052dbbd in exec_byte_code (bytestr=<value optimized out>, vector=<value optimized out>, maxdepth=<value optimized out>,
args_template=<value optimized out>, nargs=48006004465216, args=0x2ba944d7de58) at bytecode.c:900
targets = {0x52dcdb, 0x52fd91, 0x52fd96, 0x52f96d, 0x52dc28, 0x52dc28, 0x52f972, 0x52f9b5, 0x52f928, 0x52f92d, 0x52f932, 0x52f93d, 0x52da92, 0x52da98, 0x52dd19,
0x52f945, 0x52de9d, 0x52dea2, 0x52dea7, 0x52deb5, 0x52daea, 0x52daf0, 0x52deed, 0x52dec5, 0x52df69, 0x52df6e, 0x52df73, 0x52df7d, 0x52db5a, 0x52db60,
0x52df2c, 0x52df41, 0x52dfc2, 0x52dfc7, 0x52dfcc, 0x52dfd5, 0x52db98, 0x52dba0, 0x52df85, 0x52df9a, 0x52e022, 0x52e027, 0x52e02c, 0x52e035, 0x52dbe0,
0x52dbe0, 0x52dfe5, 0x52dffa, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52e88c, 0x52e907, 0x52e942, 0x52e97d,
0x52e9b8, 0x52ddee, 0x52de2a, 0x52e9fc, 0x52ddad, 0x52de5c, 0x52ea31, 0x52ea63, 0x52ea95, 0x52ead6, 0x52eb0a, 0x52eb87, 0x52ebb2, 0x52ebe4, 0x52ec1d,
0x52ec48, 0x52ec73, 0x52eca5, 0x52ecd7, 0x52ed09, 0x52ed42, 0x52ed76, 0x52edaa, 0x52ee27, 0x52ee63, 0x52ee9f, 0x52ef3d, 0x52ef6f, 0x52efa1, 0x52efd3,
0x52f005, 0x52f039, 0x52f06e, 0x52f0a2, 0x52f0d6, 0x52f10a, 0x52f1a4, 0x52dce7, 0x52f1dd, 0x52f208, 0x52f281, 0x52f2ba, 0x52f2f3, 0x52f31e, 0x52f34a,
0x52f376, 0x52f3a6, 0x52dcdb, 0x52f3d8, 0x52f404, 0x52f430, 0x52f45c, 0x52f488, 0x52f4b4, 0x52dce7, 0x52dcdb, 0x52f4df, 0x52f50b, 0x52f536, 0x52f561,
0x52f593, 0x52f5c5, 0x52f5f0, 0x52f6c0, 0x52f6f2, 0x52f724, 0x52f756, 0x52f782, 0x52dcdb, 0x52e25a, 0x52e074, 0x52dd2e, 0x52e11a, 0x52e1db, 0x52e3d2,
0x52e758, 0x52e797, 0x52df02, 0x52e2a5, 0x52e2d7, 0x52e338, 0x52e36a, 0x52e3a1, 0x52e7bb, 0x52e7f4, 0x52e838, 0x52e045, 0x52f7ad, 0x52f7e6, 0x52f811,
0x52f83c, 0x52f867, 0x52f892, 0x52f8c4, 0x52f8f6, 0x52fb17, 0x52fb49, 0x52fb8b, 0x52fbbd, 0x52fbef, 0x52fc1a, 0x52fc4c, 0x52fc7e, 0x52fcb9, 0x52fcf4,
0x52f13e, 0x52f172, 0x52fd28, 0x52fd5c, 0x52dcdb, 0x52e490, 0x52e523, 0x52e59b, 0x52e643, 0x52e6b5, 0x52eb3e, 0x52edde, 0x52f238, 0x52fa08, 0x52fa4b,
0x52dcdb, 0x52dcdb, 0x52fa9e, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52fae8 <repeats 64 times>}
op = <value optimized out>
stack = {
pc = 0xccb99f "\210\202\201\003\016A❃V\001\331\026B\343\344\003\206P\001\n\211A\022@!!\210\202\201\003\016A坃\220\001\346\347\003\206h\001\n\211A\022@!!\262\t\006\a\203\203\001\006\a\006\t\006\tAB\241\210\006\aA\262\b\202\201\003\006\b\016CB\211\026C\262\b\202\201\003\016A蝃\270\001\347\002\206\241\001\n\211A\022@!\346\001!\351\001!\203\256\001\211\262\002\352\002\314\331#\266\003\202\201\003\016A띃\330\001\347\002\206\311\001\n\211A\022@!\346\001!\352\001\314ى$\266\003\202\201\003\016A욃\001\002\331\026B\001\206\353\001\n\211A\022@\262\t\006\b;\204\367\001\332\355!\210\356\347\006\n!!\210\202"..., byte_string = 12730433,
byte_string_start = 0xccb868 "\306 \210\b\203\021", constants = 13414813, next = 0x7fff87024590}
top = 0x7fff87024368
result = <value optimized out>
#25 0x00000000004f87cd in Ffuncall (nargs=<value optimized out>, args=0xccb4b0) at eval.c:2839
fun = 48006004465216
---Type <return> to continue, or q <return> to quit---
original_fun = 13291250
funcar = 20177344
numargs = 1
val = <value optimized out>
backtrace = {next = 0x7fff87024630, function = 13291250, args = 0x7fff870244f0, nargs = 1, debug_on_exit = 0}
internal_args = <value optimized out>
i = <value optimized out>
#26 0x000000000052dbbd in exec_byte_code (bytestr=<value optimized out>, vector=<value optimized out>, maxdepth=<value optimized out>,
args_template=<value optimized out>, nargs=48006004465216, args=0x2ba944d7de58) at bytecode.c:900
targets = {0x52dcdb, 0x52fd91, 0x52fd96, 0x52f96d, 0x52dc28, 0x52dc28, 0x52f972, 0x52f9b5, 0x52f928, 0x52f92d, 0x52f932, 0x52f93d, 0x52da92, 0x52da98, 0x52dd19,
0x52f945, 0x52de9d, 0x52dea2, 0x52dea7, 0x52deb5, 0x52daea, 0x52daf0, 0x52deed, 0x52dec5, 0x52df69, 0x52df6e, 0x52df73, 0x52df7d, 0x52db5a, 0x52db60,
0x52df2c, 0x52df41, 0x52dfc2, 0x52dfc7, 0x52dfcc, 0x52dfd5, 0x52db98, 0x52dba0, 0x52df85, 0x52df9a, 0x52e022, 0x52e027, 0x52e02c, 0x52e035, 0x52dbe0,
0x52dbe0, 0x52dfe5, 0x52dffa, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52e88c, 0x52e907, 0x52e942, 0x52e97d,
0x52e9b8, 0x52ddee, 0x52de2a, 0x52e9fc, 0x52ddad, 0x52de5c, 0x52ea31, 0x52ea63, 0x52ea95, 0x52ead6, 0x52eb0a, 0x52eb87, 0x52ebb2, 0x52ebe4, 0x52ec1d,
0x52ec48, 0x52ec73, 0x52eca5, 0x52ecd7, 0x52ed09, 0x52ed42, 0x52ed76, 0x52edaa, 0x52ee27, 0x52ee63, 0x52ee9f, 0x52ef3d, 0x52ef6f, 0x52efa1, 0x52efd3,
0x52f005, 0x52f039, 0x52f06e, 0x52f0a2, 0x52f0d6, 0x52f10a, 0x52f1a4, 0x52dce7, 0x52f1dd, 0x52f208, 0x52f281, 0x52f2ba, 0x52f2f3, 0x52f31e, 0x52f34a,
0x52f376, 0x52f3a6, 0x52dcdb, 0x52f3d8, 0x52f404, 0x52f430, 0x52f45c, 0x52f488, 0x52f4b4, 0x52dce7, 0x52dcdb, 0x52f4df, 0x52f50b, 0x52f536, 0x52f561,
0x52f593, 0x52f5c5, 0x52f5f0, 0x52f6c0, 0x52f6f2, 0x52f724, 0x52f756, 0x52f782, 0x52dcdb, 0x52e25a, 0x52e074, 0x52dd2e, 0x52e11a, 0x52e1db, 0x52e3d2,
0x52e758, 0x52e797, 0x52df02, 0x52e2a5, 0x52e2d7, 0x52e338, 0x52e36a, 0x52e3a1, 0x52e7bb, 0x52e7f4, 0x52e838, 0x52e045, 0x52f7ad, 0x52f7e6, 0x52f811,
0x52f83c, 0x52f867, 0x52f892, 0x52f8c4, 0x52f8f6, 0x52fb17, 0x52fb49, 0x52fb8b, 0x52fbbd, 0x52fbef, 0x52fc1a, 0x52fc4c, 0x52fc7e, 0x52fcb9, 0x52fcf4,
0x52f13e, 0x52f172, 0x52fd28, 0x52fd5c, 0x52dcdb, 0x52e490, 0x52e523, 0x52e59b, 0x52e643, 0x52e6b5, 0x52eb3e, 0x52edde, 0x52f238, 0x52fa08, 0x52fa4b,
0x52dcdb, 0x52dcdb, 0x52fa9e, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52fae8 <repeats 64 times>}
op = <value optimized out>
stack = {pc = 0xc8797c "\210\016H\203\240\005\201\300", byte_string = 12867089,
byte_string_start = 0xc873e8 "\306 \020\307\021\n\023\307\024\310\311!\211\307=\204\060", constants = 13292941, next = 0x7fff87024710}
top = 0x7fff870244e8
result = <value optimized out>
#27 0x00000000004f87cd in Ffuncall (nargs=<value optimized out>, args=0xcadbd8) at eval.c:2839
fun = 48006004465216
original_fun = 13136194
funcar = 20177344
numargs = 0
val = <value optimized out>
backtrace = {next = 0x7fff87024860, function = 13136194, args = 0x7fff870246b8, nargs = 0, debug_on_exit = 0}
internal_args = <value optimized out>
i = <value optimized out>
#28 0x000000000052dbbd in exec_byte_code (bytestr=<value optimized out>, vector=<value optimized out>, maxdepth=<value optimized out>,
args_template=<value optimized out>, nargs=48006004465216, args=0x2ba944d7de58) at bytecode.c:900
targets = {0x52dcdb, 0x52fd91, 0x52fd96, 0x52f96d, 0x52dc28, 0x52dc28, 0x52f972, 0x52f9b5, 0x52f928, 0x52f92d, 0x52f932, 0x52f93d, 0x52da92, 0x52da98, 0x52dd19,
0x52f945, 0x52de9d, 0x52dea2, 0x52dea7, 0x52deb5, 0x52daea, 0x52daf0, 0x52deed, 0x52dec5, 0x52df69, 0x52df6e, 0x52df73, 0x52df7d, 0x52db5a, 0x52db60,
0x52df2c, 0x52df41, 0x52dfc2, 0x52dfc7, 0x52dfcc, 0x52dfd5, 0x52db98, 0x52dba0, 0x52df85, 0x52df9a, 0x52e022, 0x52e027, 0x52e02c, 0x52e035, 0x52dbe0,
0x52dbe0, 0x52dfe5, 0x52dffa, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52e88c, 0x52e907, 0x52e942, 0x52e97d,
0x52e9b8, 0x52ddee, 0x52de2a, 0x52e9fc, 0x52ddad, 0x52de5c, 0x52ea31, 0x52ea63, 0x52ea95, 0x52ead6, 0x52eb0a, 0x52eb87, 0x52ebb2, 0x52ebe4, 0x52ec1d,
---Type <return> to continue, or q <return> to quit---
0x52ec48, 0x52ec73, 0x52eca5, 0x52ecd7, 0x52ed09, 0x52ed42, 0x52ed76, 0x52edaa, 0x52ee27, 0x52ee63, 0x52ee9f, 0x52ef3d, 0x52ef6f, 0x52efa1, 0x52efd3,
0x52f005, 0x52f039, 0x52f06e, 0x52f0a2, 0x52f0d6, 0x52f10a, 0x52f1a4, 0x52dce7, 0x52f1dd, 0x52f208, 0x52f281, 0x52f2ba, 0x52f2f3, 0x52f31e, 0x52f34a,
0x52f376, 0x52f3a6, 0x52dcdb, 0x52f3d8, 0x52f404, 0x52f430, 0x52f45c, 0x52f488, 0x52f4b4, 0x52dce7, 0x52dcdb, 0x52f4df, 0x52f50b, 0x52f536, 0x52f561,
0x52f593, 0x52f5c5, 0x52f5f0, 0x52f6c0, 0x52f6f2, 0x52f724, 0x52f756, 0x52f782, 0x52dcdb, 0x52e25a, 0x52e074, 0x52dd2e, 0x52e11a, 0x52e1db, 0x52e3d2,
0x52e758, 0x52e797, 0x52df02, 0x52e2a5, 0x52e2d7, 0x52e338, 0x52e36a, 0x52e3a1, 0x52e7bb, 0x52e7f4, 0x52e838, 0x52e045, 0x52f7ad, 0x52f7e6, 0x52f811,
0x52f83c, 0x52f867, 0x52f892, 0x52f8c4, 0x52f8f6, 0x52fb17, 0x52fb49, 0x52fb8b, 0x52fbbd, 0x52fbef, 0x52fc1a, 0x52fc4c, 0x52fc7e, 0x52fcb9, 0x52fcf4,
0x52f13e, 0x52f172, 0x52fd28, 0x52fd5c, 0x52dcdb, 0x52e490, 0x52e523, 0x52e59b, 0x52e643, 0x52e6b5, 0x52eb3e, 0x52edde, 0x52f238, 0x52fa08, 0x52fa4b,
0x52dcdb, 0x52dcdb, 0x52fa9e, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52dcdb, 0x52fae8 <repeats 64 times>}
op = <value optimized out>
stack = {pc = 0xc80b45 "\210)\210\351\352\353\"\210\354\321\355\"\211;\203\256", byte_string = 12891393, byte_string_start = 0xc80ab0 "\b\203\b",
constants = 13133813, next = 0x0}
top = 0x7fff870246b0
result = <value optimized out>
#29 0x00000000004f7890 in apply_lambda (fun=13134229, args=<value optimized out>) at eval.c:2887
args_left = 11403218
i = <value optimized out>
numargs = 0
arg_vector = 0x7fff87024780
tem = <value optimized out>
sa_must_free = false
#30 0x00000000004f7b73 in eval_sub (form=4611686018428436480) at eval.c:2218
fun = 20177344
val = <value optimized out>
original_fun = 13073522
original_args = 11403218
funcar = 12137440
backtrace = {next = 0x0, function = 13073522, args = 0x7fff87024780, nargs = 0, debug_on_exit = 0}
#31 0x00000000004f9936 in Feval (form=12309142, lexical=<value optimized out>) at eval.c:2005
No locals.
#32 0x00000000004f7423 in internal_condition_case (bfun=<value optimized out>, handlers=<value optimized out>, hfun=<value optimized out>) at eval.c:1289
val = 20177344
c = {tag = 11403218, val = 11403218, next = 0x7fff87024a90, gcpro = 0x0, jmp = {{__jmpbuf = {15391968, -6964255210143123409, 11403218, 140735458462856, 4000,
4294967295, 6964518967505418287, -6964254408377141201}, __mask_was_saved = 0, __saved_mask = {__val = {48006008787184, 48006000973232, 48006000930816,
1, 4294967295, 4000, 1, 7931136, 0, 4000, 4294967295, 0, 48005985920786, 1, 0, 4000}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0,
pdlcount = 2, poll_suppress_count = 0, interrupt_input_blocked = 0, byte_stack = 0x0}
h = {handler = 11471026, var = 11403218, chosen_clause = 11403218, tag = 0x7fff87024910, next = 0x0}
#33 0x000000000048c6d6 in top_level_1 (ignore=<value optimized out>) at keyboard.c:1185
No locals.
#34 0x00000000004f753a in internal_catch (tag=<value optimized out>, func=<value optimized out>, arg=<value optimized out>) at eval.c:1060
c = {tag = 11466818, val = 11403218, next = 0x0, gcpro = 0x0, jmp = {{__jmpbuf = {15391968, -6964255210143123409, 11403218, 140735458462856, 4000, 4294967295,
6964518967566235695, -6964254408328775633}, __mask_was_saved = 0, __saved_mask = {__val = {48006001414479, 5709909, 11589858, 11403218, 112,
48006004465304, 48006004465320, 8036614, 100, 30070217072, 48006004465264, 144, 30064771072, 0, 100, 48006004465216}}}}, backlist = 0x0,
handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 0, interrupt_input_blocked = 0, byte_stack = 0x0}
---Type <return> to continue, or q <return> to quit---
#35 0x000000000048c4ca in command_loop () at keyboard.c:1146
No locals.
#36 recursive_edit_1 () at keyboard.c:779
val = <value optimized out>
#37 0x000000000048c604 in Frecursive_edit () at keyboard.c:843
buffer = 11403218
#38 0x0000000000483c3b in main (argc=0, argv=0x7fff87024da8) at emacs.c:1528
dummy = 0
stack_bottom_variable = 0 '\000'
do_initial_setlocale = <value optimized out>
dumping = <value optimized out>
skip_args = 2
rlim = {rlim_cur = 18446744073709551615, rlim_max = 18446744073709551615}
no_loadup = false
junk = 0x0
dname_arg = 0x0
ch_to_dir = 0x7fff87024ee8 "\021g\002\207\377\177"
(gdb)
[-- Attachment #3: emacs-btfull-openbsd.txt --]
[-- Type: text/plain, Size: 445 bytes --]
Program received signal SIGSEGV, Segmentation fault.
make_float (float_value=0) at alloc.c:2285
2285 float_free_list = float_free_list->u.chain;
(gdb) bt full
#0 make_float (float_value=0) at alloc.c:2285
val = 1417791768
#1 0x0811ac8e in init_alloc () at alloc.c:6480
No locals.
#2 0x080c3f08 in main (argc=8, argv=0xcfbe4ff8) at emacs.c:1136
buf = "�"
f = Variable "f" is not available.
(gdb)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Question about dumping and initialization
2013-03-14 22:36 ` Jérémie Courrèges-Anglas
@ 2013-03-15 1:35 ` Paul Eggert
0 siblings, 0 replies; 4+ messages in thread
From: Paul Eggert @ 2013-03-15 1:35 UTC (permalink / raw)
To: emacs-devel
My guess is that the address-space randomizer in OpenBSD
has state that needs to be reinitialized after a dump,
much as the Doug Lea allocator needs reinitialization
(see DOUG_LEA_MALLOC-related code). You can verify this
guess by trying that Debian Squeeze build again, but edit
config.h by hand to #define DOUG_LEA_MALLOC 1 before building;
if this works, that's a hint.
You'll have to look at the OpenBSD source to figure it out,
though, I expect. This stuff mutated quite a bit in OpenBSD 4.4,
according to the manual.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-03-15 1:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-14 11:13 Question about dumping and initialization Jérémie Courrèges-Anglas
2013-03-14 21:16 ` Paul Eggert
2013-03-14 22:36 ` Jérémie Courrèges-Anglas
2013-03-15 1:35 ` Paul Eggert
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).