emacs aborting on exit with recent lib/libc/stdlib/atexit.c changes

From: Fabian Keil <freebsd-listen_at_fabiankeil.de>
Date: Fri, 27 Aug 2010 18:21:08 +0200
The recent lib/libc/stdlib/atexit.c changes broke emacs (23.2_2,2) for me.
It aborts on exit (C-x C-c) after receiving SIGBUS:

fk_at_r500 ~ $gdb emacs
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
(gdb) run
Starting program: /usr/local/bin/emacs 
[New LWP 100281]
[New Thread 1260600 (LWP 100281)]

Program received signal SIGBUS, Bus error.
[Switching to Thread 1260600 (LWP 100281)]
0x00000008045c432d in __elf_phdr_match_addr () from /lib/libc.so.7
(gdb) where
#0  0x00000008045c432d in __elf_phdr_match_addr () from /lib/libc.so.7
#1  0x0000000803038abb in __pthread_cxa_finalize () from /lib/libthr.so.3
#2  0x00000008045bdfa7 in __cxa_finalize () from /lib/libc.so.7
#3  0x00000008045682c7 in exit () from /lib/libc.so.7
#4  0x0000000000556817 in Fkill_emacs (arg=Could not find the frame base for "Fkill_emacs".
) at emacs.c:2146
#5  0x0000000000600ec0 in Ffuncall (nargs=1, args=0x7fffffffc880) at eval.c:3024
#6  0x0000000000658d47 in Fbyte_code (bytestr=8602321, vector=8602357, maxdepth=20) at bytecode.c:680
#7  0x00000000006017e6 in funcall_lambda (fun=8602229, nargs=0, arg_vector=0x7fffffffcdc8) at eval.c:3211
#8  0x00000000006011e0 in Ffuncall (nargs=1, args=0x7fffffffcdc0) at eval.c:3070
#9  0x0000000000658d47 in Fbyte_code (bytestr=9558105, vector=9558141, maxdepth=20) at bytecode.c:680
#10 0x00000000006017e6 in funcall_lambda (fun=9558029, nargs=1, arg_vector=0x7fffffffd358) at eval.c:3211
#11 0x00000000006011e0 in Ffuncall (nargs=2, args=0x7fffffffd350) at eval.c:3070
#12 0x00000000005fb954 in Fcall_interactively (function=11961778, record_flag=11544578, keys=20138021) at callint.c:869
#13 0x0000000000600f36 in Ffuncall (nargs=4, args=0x7fffffffd760) at eval.c:3030
#14 0x00000000006008fd in call3 (fn=11756290, arg1=11961778, arg2=11544578, arg3=20138021) at eval.c:2850
#15 0x000000000056b7ac in Fcommand_execute (cmd=11961778, record_flag=11544578, keys=20138021, special=11544674) at keyboard.c:10507
#16 0x000000000055cc69 in read_char (commandflag=1, nmaps=2, maps=0x7fffffffdb70, prev_event=11544578, used_mouse_menu=0x7fffffffded4, end_time=0x0)
    at keyboard.c:3166
#17 0x000000000056880e in read_key_sequence (keybuf=0x7fffffffe280, bufsize=30, prompt=11544578, dont_downcase_last=0, can_return_switch_frame=1, 
    fix_current_buffer=1) at keyboard.c:9512
#18 0x0000000000558a33 in command_loop_1 () at keyboard.c:1643
#19 0x00000000005fe0aa in internal_condition_case (bfun=0x5586a0 <command_loop_1>, handlers=11629954, hfun=0x557f90 <cmd_error>) at eval.c:1490
#20 0x000000000055836a in command_loop_2 () at keyboard.c:1360
#21 0x00000000005fda2c in internal_catch (tag=11621170, func=0x558350 <command_loop_2>, arg=11544578) at eval.c:1226
#22 0x0000000000558320 in command_loop () at keyboard.c:1339
#23 0x0000000000557a85 in recursive_edit_1 () at keyboard.c:954
#24 0x0000000000557c45 in Frecursive_edit () at keyboard.c:1016
#25 0x00000000005560b8 in main (argc=1, argv=0x7fffffffe840) at emacs.c:1833

Reverting to lib/libc/stdlib/atexit.c 1.9 gets it working again,
using 1.11 brings back the crashes. I didn't csup between those
versions and thus don't have 1.10 in git, but given that it's a
style change it shouldn't matter.

I'm using amd64 and so far I only noticed the problem with emacs.

Is anyone else seeing this?

Fabian

Received on Fri Aug 27 2010 - 14:35:51 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:06 UTC