Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Aug 2010 18:21:08 +0200
From:      Fabian Keil <freebsd-listen@fabiankeil.de>
To:        freebsd-current@FreeBSD.org
Subject:   emacs aborting on exit with recent lib/libc/stdlib/atexit.c changes
Message-ID:  <20100827182108.12764ff4@r500.local>

next in thread | raw e-mail | index | archive | help
--Sig_/gaK_zXOLYEbRERvZmi8AKtL
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

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@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 condition=
s.
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=20
[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=3DCould not find the frame base =
for "Fkill_emacs".
) at emacs.c:2146
#5  0x0000000000600ec0 in Ffuncall (nargs=3D1, args=3D0x7fffffffc880) at ev=
al.c:3024
#6  0x0000000000658d47 in Fbyte_code (bytestr=3D8602321, vector=3D8602357, =
maxdepth=3D20) at bytecode.c:680
#7  0x00000000006017e6 in funcall_lambda (fun=3D8602229, nargs=3D0, arg_vec=
tor=3D0x7fffffffcdc8) at eval.c:3211
#8  0x00000000006011e0 in Ffuncall (nargs=3D1, args=3D0x7fffffffcdc0) at ev=
al.c:3070
#9  0x0000000000658d47 in Fbyte_code (bytestr=3D9558105, vector=3D9558141, =
maxdepth=3D20) at bytecode.c:680
#10 0x00000000006017e6 in funcall_lambda (fun=3D9558029, nargs=3D1, arg_vec=
tor=3D0x7fffffffd358) at eval.c:3211
#11 0x00000000006011e0 in Ffuncall (nargs=3D2, args=3D0x7fffffffd350) at ev=
al.c:3070
#12 0x00000000005fb954 in Fcall_interactively (function=3D11961778, record_=
flag=3D11544578, keys=3D20138021) at callint.c:869
#13 0x0000000000600f36 in Ffuncall (nargs=3D4, args=3D0x7fffffffd760) at ev=
al.c:3030
#14 0x00000000006008fd in call3 (fn=3D11756290, arg1=3D11961778, arg2=3D115=
44578, arg3=3D20138021) at eval.c:2850
#15 0x000000000056b7ac in Fcommand_execute (cmd=3D11961778, record_flag=3D1=
1544578, keys=3D20138021, special=3D11544674) at keyboard.c:10507
#16 0x000000000055cc69 in read_char (commandflag=3D1, nmaps=3D2, maps=3D0x7=
fffffffdb70, prev_event=3D11544578, used_mouse_menu=3D0x7fffffffded4, end_t=
ime=3D0x0)
    at keyboard.c:3166
#17 0x000000000056880e in read_key_sequence (keybuf=3D0x7fffffffe280, bufsi=
ze=3D30, prompt=3D11544578, dont_downcase_last=3D0, can_return_switch_frame=
=3D1,=20
    fix_current_buffer=3D1) at keyboard.c:9512
#18 0x0000000000558a33 in command_loop_1 () at keyboard.c:1643
#19 0x00000000005fe0aa in internal_condition_case (bfun=3D0x5586a0 <command=
_loop_1>, handlers=3D11629954, hfun=3D0x557f90 <cmd_error>) at eval.c:1490
#20 0x000000000055836a in command_loop_2 () at keyboard.c:1360
#21 0x00000000005fda2c in internal_catch (tag=3D11621170, func=3D0x558350 <=
command_loop_2>, arg=3D11544578) 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=3D1, argv=3D0x7fffffffe840) 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

--Sig_/gaK_zXOLYEbRERvZmi8AKtL
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (FreeBSD)

iEYEARECAAYFAkx35fYACgkQBYqIVf93VJ38hwCfS2sxelA9Z5QMQGgB3ehG8U4C
pxgAoIvbl7mSYMNhb/Nm+ksljZsJ7Izp
=iTzG
-----END PGP SIGNATURE-----

--Sig_/gaK_zXOLYEbRERvZmi8AKtL--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100827182108.12764ff4>