← Back to team overview

ubuntu-elisp team mailing list archive

[Bug 1318690] [NEW] emacs aborts for ppc64el in 14.04

 

Public bug reported:

Using a fresh install of Ubuntu 14.04 and installing emacs produces an
emacs that fails relatively quickly during an editing session.  The
immediate symptom is "Fatal error 6: Aborted", without dumping core, and
leaving a companion thread behind in a wait state.

I normally use emacs -nw, and this is how I've observed the problem
directly.  I haven't found a way to get a stack trace using emacs -nw;
all I end up with is the trace for the companion thread.

If I don't use -nw, I can get an abort with backtrace to occur using
"gdb --args emacs foo.txt" (with emacs24-dbg installed).  Backtrace
follows:

#0  0x00003fffb5f40e88 in __GI_raise (sig=<optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00003fffb5f46c6c in __GI_abort () at abort.c:89
#2  0x00003fffb5f90b34 in __malloc_assert (
    assertion=0x3fffb60911c0 "(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offs"..., 
    file=0x3fffb6090790 "malloc.c", line=2372, 
    function=0x3fffb6092020 <__func__.12342> "sysmalloc") at malloc.c:293
#3  0x00003fffb5f95214 in sysmalloc (av=0x3fffb60ba760 <main_arena>, nb=80)
    at malloc.c:2369
#4  _int_malloc (av=0x3fffb60ba760 <main_arena>, bytes=65) at malloc.c:3800
#5  0x00003fffb5f98bbc in _int_realloc (nb=80, oldsize=48, oldp=0x10ee3ef0, 
    av=0x3fffb60ba760 <main_arena>) at malloc.c:4286
#6  __GI___libc_realloc (oldmem=0x10ee3f00, bytes=72) at malloc.c:3029
#7  0x00003fffb7019438 in g_realloc ()
   from /lib/powerpc64le-linux-gnu/libglib-2.0.so.0
#8  0x00003fffb712ef3c in ?? ()
   from /usr/lib/powerpc64le-linux-gnu/libgobject-2.0.so.0
#9  0x00003fffb7136f0c in g_signal_connect_data ()
   from /usr/lib/powerpc64le-linux-gnu/libgobject-2.0.so.0
#10 0x000000001013a4c0 in xg_create_one_menuitem (item=0x10e484f0, 
    select_cb=0x10091140 <menubar_selection_callback>, cl_data=0x10e42360, 
    group=0x3fffffffcef0, highlight_cb=0x10091060 <menu_highlight_callback>, 
    f=0x10c80770) at gtkutil.c:2488
#11 0x000000001013b11c in create_menus (data=<optimized out>, f=0x10c80770, 
    select_cb=0x10091140 <menubar_selection_callback>, 
    deactivate_cb=0x10090bc0 <popup_deactivate_callback>, 
    highlight_cb=0x10091060 <menu_highlight_callback>, 
    menu_bar_p=<optimized out>, add_tearoff_p=<optimized out>, 
    topmenu=<optimized out>, cl_data=0x10e42360, name=0x0, pop_up_p=false)
    at gtkutil.c:2622
#12 0x000000001013b154 in create_menus (data=<optimized out>, f=0x10c80770, 
    select_cb=0x10091140 <menubar_selection_callback>, 
    deactivate_cb=0x10090bc0 <popup_deactivate_callback>, 
    highlight_cb=0x10091060 <menu_highlight_callback>, 
    menu_bar_p=<optimized out>, add_tearoff_p=<optimized out>, 
    topmenu=<optimized out>, cl_data=0x10e42360, name=0x0, pop_up_p=false)
    at gtkutil.c:2633
#13 0x000000001013b154 in create_menus (data=<optimized out>, f=0x10c80770, 
    select_cb=0x10091140 <menubar_selection_callback>, 
    deactivate_cb=0x10090bc0 <popup_deactivate_callback>, 
    highlight_cb=0x10091060 <menu_highlight_callback>, 
    menu_bar_p=<optimized out>, add_tearoff_p=<optimized out>, 
    topmenu=<optimized out>, cl_data=0x10e42360, name=0x0, pop_up_p=false)
    at gtkutil.c:2633
#14 0x000000001013b154 in create_menus (data=<optimized out>, f=0x10c80770, 
    select_cb=0x10091140 <menubar_selection_callback>, 
    deactivate_cb=0x10090bc0 <popup_deactivate_callback>, 
    highlight_cb=0x10091060 <menu_highlight_callback>, menu_bar_p=false, 
    add_tearoff_p=true, topmenu=0x0, cl_data=0x10e42360, name=0x0, 
    pop_up_p=false) at gtkutil.c:2633
#15 0x000000001013eab8 in create_menus (name=<optimized out>, 
    cl_data=0x10e42360, topmenu=0x0, add_tearoff_p=<optimized out>, 
    menu_bar_p=<optimized out>, pop_up_p=<optimized out>, 
    highlight_cb=0x10091060 <menu_highlight_callback>, 
    deactivate_cb=0x10090bc0 <popup_deactivate_callback>, 
    select_cb=0x10091140 <menubar_selection_callback>, f=0x10c80770, 
    data=<optimized out>) at gtkutil.c:2633
#16 xg_create_widget (type=<optimized out>, name=<optimized out>, 
    f=0x10c80770, val=<optimized out>, 
    select_cb=0x10091140 <menubar_selection_callback>, 
    deactivate_cb=0x10090bc0 <popup_deactivate_callback>, 
    highlight_cb=0x10091060 <menu_highlight_callback>) at gtkutil.c:2691
#17 0x0000000010092620 in set_frame_menubar (f=0x10c80770, 
    first_time=<optimized out>, deep_p=true) at xmenu.c:1186
#18 0x000000001012af74 in Fx_create_frame (parms=278938710) at xfns.c:3393
#19 0x000000001020e0cc in Ffuncall (nargs=2, args=<optimized out>)
    at eval.c:2778
#20 0x000000001026d7e0 in exec_byte_code (bytestr=<optimized out>, 
    vector=70368744167592, maxdepth=<optimized out>, args_template=271597120, 
    nargs=4611686018695757824, args=0x4000000000300000) at bytecode.c:900
#21 0x0000000010214920 in funcall_lambda (fun=272261749, nargs=1, 
    arg_vector=0x3fffffffdc20) at eval.c:3010
#22 0x000000001020dd50 in Ffuncall (nargs=2, args=0x3fffffffdc18)
    at eval.c:2839
#23 0x000000001026d7e0 in exec_byte_code (bytestr=<optimized out>, 
    vector=70368744168472, maxdepth=<optimized out>, args_template=271597120, 
    nargs=4611686018695757824, args=0x4000000000300000) at bytecode.c:900
#24 0x0000000010214920 in funcall_lambda (fun=272904229, nargs=1, 
    arg_vector=0x3fffffffdf90) at eval.c:3010
#25 0x000000001020dd50 in Ffuncall (nargs=2, args=0x3fffffffdf88)
    at eval.c:2839
#26 0x000000001026d7e0 in exec_byte_code (bytestr=<optimized out>, 
    vector=70368744169352, maxdepth=<optimized out>, args_template=271597120, 
    nargs=4611686018695757824, args=0x4000000000300000) at bytecode.c:900
#27 0x0000000010214920 in funcall_lambda (fun=272899141, nargs=0, 
    arg_vector=0x3fffffffe310) at eval.c:3010
#28 0x000000001020dd50 in Ffuncall (nargs=1, args=0x3fffffffe308)
    at eval.c:2839
#29 0x000000001026d7e0 in exec_byte_code (bytestr=<optimized out>, 
    vector=70368744170248, maxdepth=<optimized out>, args_template=271597120, 
    nargs=4611686018695757824, args=0x4000000000300000) at bytecode.c:900
#30 0x0000000010214700 in funcall_lambda (fun=272298637, nargs=0, 
    arg_vector=0x3fffffffe6e8) at eval.c:2944
#31 0x000000001020dd50 in Ffuncall (nargs=1, args=0x3fffffffe6e0)
    at eval.c:2839
#32 0x000000001026d7e0 in exec_byte_code (bytestr=<optimized out>, 
    vector=70368744171232, maxdepth=<optimized out>, args_template=271597120, 
    nargs=4611686018695757824, args=0x4000000000300000) at bytecode.c:900
#33 0x0000000010214700 in funcall_lambda (fun=272295517, nargs=0, 
    arg_vector=0x3fffffffe8e0) at eval.c:2944
#34 0x0000000010214df0 in apply_lambda (fun=272295517, args=<optimized out>)
    at eval.c:2887
#35 0x0000000010212278 in eval_sub (form=275494662) at eval.c:2218
#33 0x0000000010214700 in funcall_lambda (fun=272295517, nargs=0, 
    arg_vector=0x3fffffffe8e0) at eval.c:2944
#34 0x0000000010214df0 in apply_lambda (fun=272295517, args=<optimized out>)
    at eval.c:2887
#35 0x0000000010212278 in eval_sub (form=275494662) at eval.c:2218
#36 0x0000000010213488 in Feval (form=275494662, lexical=<optimized out>)
    at eval.c:2005
#37 0x000000001014e270 in top_level_2 () at keyboard.c:1177
#38 0x000000001020cd44 in internal_condition_case (
    bfun=0x1014e240 <top_level_2>, handlers=275319474, 
    hfun=0x10152810 <cmd_error>) at eval.c:1289
#39 0x000000001014e210 in top_level_1 (ignore=<optimized out>)
    at keyboard.c:1185
#40 0x000000001020cbd0 in internal_catch (tag=<optimized out>, 
    func=0x1014e150 <top_level_1>, arg=275267794) at eval.c:1060
#41 0x0000000010156be0 in command_loop () at keyboard.c:1146
#42 recursive_edit_1 () at keyboard.c:779
#43 0x0000000010156dec in Frecursive_edit () at keyboard.c:843
#44 0x0000000010017d78 in main (argc=<optimized out>, argv=<optimized out>)
    at emacs.c:1528


I think it likely that similar malloc issues are causing the aborts I see using -nw.

I recall seeing the same issues with the emacs that used to ship with
SLES10 or SLES11 for powerpc64 (big endian).  I was able to build emacs
from source there; I haven't tried that on Ubuntu 14.04 yet.

As another data point, emacs built and worked fine on a recent trial
build of Fedora for ppc64el, so it doesn't appear to be an upstream
issue.  I've been told there weren't any special workarounds needed to
build it.

Also, I tried uninstalling emacs24 and associated packages and
installing emacs23, which requires build from source.  All of the
associated packages build and install ok, but emacs23 fails to build.
The symptom is the same:  Fatal error 6: Aborted.

** Affects: emacs24 (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: crash emacs ppc64el

-- 
You received this bug notification because you are a member of Ubuntu
Emacs Lisp, which is subscribed to emacs24 in Ubuntu.
https://bugs.launchpad.net/bugs/1318690

Title:
  emacs aborts for ppc64el in 14.04

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/emacs24/+bug/1318690/+subscriptions


Follow ups

References