unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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).