Subject: Re: bug#7098: Emacs24 crash with segmentation fault

From: Thierry Volpiatto <[email-masked]>
Date: Sat, 18 Dec 2010 10:16:10 +0100

Thierry Volpiatto <[email-masked]> writes:

> Hi Eli,
>
> Eli Zaretskii <[email-masked]> writes:
>
>>> From: Thierry Volpiatto <[email-masked]>
>>> Cc: [email-masked],  [email-masked]
>>> Date: Thu, 16 Dec 2010 19:43:09 +0100
>>> 
>>> > Do the crashes go away if you compile without optimizations?
>>> Don't know, never tried.
>>> What do i have to disable (or change) in my make.conf?
>>> 
>>> Actually i have:
>>> 
>>> CFLAGS="-O3 -march=i686 -pipe"
>>
>> Try
>>
>>   CFLAGS="-O0 -pipe"
>
> I have compiled emacs24 with this value of CFLAGS and it seem to work
> fine.
> I have then recompiled with -g option added (CFLAGS="-O0 -g -pipe") and i had no crashes.
> I continue running Emacs in gdb and will tell you if something occur.

First crash since yesterday when closing w3m:

Program received signal SIGSEGV, Segmentation fault.
0x081903b7 in mark_object (arg=172893790) at alloc.c:5577
5577          FLOAT_MARK (XFLOAT (obj));
(gdb) bt full
#0  0x081903b7 in mark_object (arg=172893790) at alloc.c:5577
        obj = <value optimized out>
#1  0x081905a5 in mark_object (arg=172490834) at alloc.c:5460
        ptr = 0xa480050
        obj = <value optimized out>
#2  0x08190e74 in mark_maybe_pointer () at alloc.c:4127
        obj = 13
        m = <value optimized out>
#3  mark_memory () at alloc.c:4177
        p = <value optimized out>
        pp = 0xbfffdd30
#4  mark_stack () at alloc.c:4410
        j = {o = 0, j = {{__jmpbuf = {0, 1074266114, 0, -1073752632, -1696438098, 1465006529}, __mask_was_saved = 0, __saved_mask = {__val = {0, 138120960,
                  138722072, 3221214616, 135857517, 138491786, 77, 249, 167087104, 140743645, 3221214600, 248, 138456792, 138120960, 172343424, 728,
                  2624551902, 138469578, 69, 3221226518, 138456064, 138921598, 0, 3221214632, 0, 138501272, 0, 3221214664, 135494133, 138469578, 159486224,
                  3221356668}}}}}
        stack_grows_down_p = 0
        end = 0xbfffe588
#5  0x0819164a in Fgarbage_collect () at alloc.c:4992
        bind = <value optimized out>
        catch = <value optimized out>
        handler = <value optimized out>
        stack_top_variable = 8 '\b'
        i = <value optimized out>
        message_p = 0
        total = {138129968, -1073752380, 1, 138604712, 138818168, 138469602, 138818168, -1073752328}
        t1 = {tv_sec = 1292663088, tv_usec = 883100}
        t2 = {tv_sec = -1073752068, tv_usec = -1073752384}
#6  0x081dea63 in Fbyte_code (bytestr=148241241, vector=149386573, maxdepth=20) at bytecode.c:714
        op = 13
        stack = {pc = 0x8e2b679 "A", top = 0xbfffd6bc, bottom = 0xbfffd6c0, byte_string = 148241241, byte_string_start = 0x8e2b644 "\b;\203W",
          constants = 149386573, next = 0xbfffd8a4}
        top = 0xbfffd6bc
        result = <value optimized out>
#7  0x081a6eb4 in funcall_lambda (fun=<value optimized out>, nargs=<value optimized out>, arg_vector=0xd) at eval.c:3174
        val = <value optimized out>
        syms_left = 138469578
        next = <value optimized out>
        i = 1
        optional = 1
        rest = 0
#8  0x081a71d3 in Ffuncall (nargs=2, args=0xbfffd840) at eval.c:3047
        fun = 0
        original_fun = 148731514
        funcar = <value optimized out>
        numargs = 1
        val = <value optimized out>
        backtrace = {next = 0xbfffd97c, function = 0xbfffd840, args = 0xbfffd844, nargs = 1, evalargs = 0 '\000', debug_on_exit = 0 '\000'}
        internal_args = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        i = <value optimized out>
#9  0x081de821 in Fbyte_code (bytestr=149867225, vector=149173205, maxdepth=24) at bytecode.c:679
        op = <value optimized out>
        stack = {pc = 0x8eafd41 "\210\323c\210\202k", top = 0xbfffd844, bottom = 0xbfffd840, byte_string = 149867225,
          byte_string_start = 0x8eafcc4 "\b\205", <incomplete sequence \304>, constants = 149173205, next = 0xbfffda34}
        top = 0xbfffd840
        result = <value optimized out>
#10 0x081a6eb4 in funcall_lambda (fun=<value optimized out>, nargs=<value optimized out>, arg_vector=0xd) at eval.c:3174
        val = <value optimized out>
        syms_left = 138469578
        next = <value optimized out>
        i = 4
        optional = 1
        rest = 0
#11 0x081a71d3 in Ffuncall (nargs=5, args=0xbfffd9c0) at eval.c:3047
        fun = 0
        original_fun = 149240410
        funcar = <value optimized out>
        numargs = 4
        val = <value optimized out>
        backtrace = {next = 0xbfffdb0c, function = 0xbfffd9c0, args = 0xbfffd9c4, nargs = 4, evalargs = 0 '\000', debug_on_exit = 0 '\000'}
        internal_args = <value optimized out>
        i = <value optimized out>
#12 0x081de821 in Fbyte_code (bytestr=148572073, vector=148573725, maxdepth=36) at bytecode.c:679
        op = <value optimized out>
        stack = {pc = 0x8eaf072 "\210)\307\020\331\332!\207", top = 0xbfffd9d0, bottom = 0xbfffd9c0, byte_string = 148572073,
          byte_string_start = 0x8eaf010 "\b\205i", constants = 148573725, next = 0xbfffdba4}
        top = 0xbfffd9c0
        result = <value optimized out>
#13 0x081a6eb4 in funcall_lambda (fun=<value optimized out>, nargs=<value optimized out>, arg_vector=0xd) at eval.c:3174
        val = <value optimized out>
        syms_left = 138469578
        next = <value optimized out>
        i = 0
        optional = 0
        rest = 0
#14 0x081a71d3 in Ffuncall (nargs=1, args=0xbfffdb50) at eval.c:3047
        fun = 0
        original_fun = 148566434
        funcar = <value optimized out>
        numargs = 0
        val = <value optimized out>
        backtrace = {next = 0xbfffdc7c, function = 0xbfffdb50, args = 0xbfffdb54, nargs = 0, evalargs = 0 '\000', debug_on_exit = 0 '\000'}
        internal_args = <value optimized out>
        i = <value optimized out>
#15 0x081de821 in Fbyte_code (bytestr=148535169, vector=149018877, maxdepth=16) at bytecode.c:679
        op = <value optimized out>
        stack = {pc = 0x8daeea7 "\210\330 \210\016\036\203w", top = 0xbfffdb50, bottom = 0xbfffdb50, byte_string = 148535169,
          byte_string_start = 0x8daee3c "\306\307!\310\030\306\307!)\031\211\032G\tGU\204\035", constants = 149018877, next = 0x0}
---Type <return> to continue, or q <return> to quit---
        top = 0xbfffdb50
        result = <value optimized out>
#16 0x081a6eb4 in funcall_lambda (fun=<value optimized out>, nargs=<value optimized out>, arg_vector=0xd) at eval.c:3174
        val = <value optimized out>
        syms_left = 138469578
        next = <value optimized out>
        i = 1
        optional = 1
        rest = 0
#17 0x081a71d3 in Ffuncall (nargs=2, args=0xbfffdd10) at eval.c:3047
        fun = 0
        original_fun = 147285242
        funcar = <value optimized out>
        numargs = 1
        val = <value optimized out>
        backtrace = {next = 0xbfffdeac, function = 0xbfffdd10, args = 0xbfffdd14, nargs = 1, evalargs = 0 '\000', debug_on_exit = 0 '\000'}
        internal_args = <value optimized out>
        i = <value optimized out>
#18 0x081a3f97 in Fcall_interactively (function=147285242, record_flag=138469578, keys=138498805) at callint.c:849
        val = <value optimized out>
        specs = 138469578
        filter_specs = <value optimized out>
        teml = <value optimized out>
        up_event = 138469578
        enable = 0
        next_event = <value optimized out>
        prefix_arg = <value optimized out>
        string = <value optimized out>
        tem = <value optimized out>
        i = 2
        j = <value optimized out>
        foo = 0
        prompt1 = '\000' <repeats 99 times>
        arg_from_tty = 0
        key_count = <value optimized out>
        record_then_fail = <value optimized out>
        save_this_command = 147285242
        save_last_command = 148953410
        save_this_original_command = 147285242
        save_real_this_command = 147285242
#19 0x081a73a3 in Ffuncall (nargs=4, args=0xbfffdef0) at eval.c:2996
        fun = <value optimized out>
        original_fun = <value optimized out>
        funcar = <value optimized out>
        numargs = 3
        val = <value optimized out>
        backtrace = {next = 0x0, function = 0xbfffdef0, args = 0xbfffdef4, nargs = 3, evalargs = 0 '\000', debug_on_exit = 0 '\000'}
        internal_args = 0xbfffdef4
        i = 8192
---Type <return> to continue, or q <return> to quit---
#20 0x081a7651 in call3 (fn=138595418, arg1=147285242, arg2=138469578, arg3=138469578) at eval.c:2820
        ret_ungc_val = 0
        args = {138595418, 147285242, 138469578, 138469578}
#21 0x08147d2a in command_loop_1 () at keyboard.c:1720
        cmd = <value optimized out>
        keybuf = {324, 388, 460, 40, -1233865128, -1073750066, 138469578, 138469578, -1073749992, 135530045, 164367918, -1073750066, -1073749960,
          -1208044282, 0, 0, 0, 0, 0, 0, -1073750052, -1090461936, 0, 134545408, 138469578, 138793242, -1073750016, 0, 23, 138867080}
        i = <value optimized out>
        prev_modiff = 2058
        prev_buffer = 0xa0cc560
#22 0x081a5a61 in internal_condition_case (bfun=0x81479b0 <command_loop_1>, handlers=138500586, hfun=0x8140560 <cmd_error>) at eval.c:1460
        val = 0
        c = {tag = 138469578, val = 138469578, next = 0xbfffe158, gcpro = 0x0, jmp = {{__jmpbuf = {138867080, 138867080, 138867096, -1073749736,
                -1702115154, 1375718337}, __mask_was_saved = 0, __saved_mask = {__val = {1, 3087005920, 0, 0, 0, 0, 3221217084, 3065770045, 0, 0,
                  3221217552, 3221217484, 3221217496, 3059482612, 3087005920, 0, 3059417090, 3086946160, 134550982, 3067322984, 3087003588, 3065326024, 40,
                  3221217272, 3086923014, 3221217296, 3059465684, 3065343484, 3067323048, 3221217824, 110932256, 3087003588}}}}, backlist = 0x0,
          handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0}
        h = {handler = 138500586, var = 138469578, chosen_clause = 138469602, tag = 0xbfffe034, next = 0x0}
#23 0x08140205 in command_loop_2 (ignore=138469578) at keyboard.c:1321
        val = 0
#24 0x081a5b41 in internal_catch (tag=138497034, func=0x81401e0 <command_loop_2>, arg=138469578) at eval.c:1204
        c = {tag = 138497034, val = 138469578, next = 0x0, gcpro = 0x0, jmp = {{__jmpbuf = {138867080, 138867080, 138867096, -1073749464, -1702295378,
                1375581121}, __mask_was_saved = 0, __saved_mask = {__val = {3221217812, 3221217960, 135528306, 3221217824, 0 <repeats 12 times>,
                  3065760510, 0, 0, 0, 3065760510, 0, 0, 0, 138489328, 1, 138142272, 0, 14, 3221217916, 138638154, 138638152}}}}, backlist = 0x0,
          handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0}
#25 0x081403b1 in command_loop () at keyboard.c:1300
No locals.
#26 0x0814073b in recursive_edit_1 () at keyboard.c:923
        val = <value optimized out>
#27 0x08140862 in Frecursive_edit () at keyboard.c:985
        buffer = 138469578
#28 0x08136956 in main (argc=<value optimized out>, argv=<value optimized out>) at emacs.c:1716
        dummy = -1073748552
        stack_bottom_variable = 8 '\b'
        do_initial_setlocale = 138867080
        skip_args = 0
        rlim = {rlim_cur = 8388608, rlim_max = 18446744073709551615}
        no_loadup = 0
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0xbfffe588 "\270\345\377\277\351\236 \b\004\003ɶ\364\377ȶ\300\345\377\277\364\377ȶ"

-- 
A+ Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997