Package: emacs;
Reported by: Magnus Henoch <mange <at> freemail.hu>
Date: Thu, 16 Oct 2008 21:30:03 UTC
Severity: normal
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Magnus Henoch <mange <at> freemail.hu> To: 1186 <at> debbugs.gnu.org Subject: bug#1186: 23.0.60; Abort trap when loading dbus in tty Date: Wed, 22 Oct 2008 00:09:52 +0200
With more debugging and less optimization I get: xd_read_message: Event received: DBUS_MESSAGE_TYPE_SIGNAL 2 org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus NameAcquired (:1.10) Breakpoint 1, abort () at /media/e/src/emacs/src/emacs.c:424 xd_retrieve_arg: s :1.10 424 kill (getpid (), SIGABRT); (gdb) bt full #0 abort () at /media/e/src/emacs/src/emacs.c:424 No locals. #1 0x01a566cc in Fsignal (error_symbol=30504705, data=45395581) at /media/e/src/emacs/src/eval.c:1651 allhandlers = (struct handler *) 0xffffc408 conditions = -277077180 string = -277132056 real_error_symbol = 190 bp = (struct backtrace *) 0x25d9273 #2 0x01a56ab4 in xsignal (error_symbol=30504705, data=45395581) at /media/e/src/emacs/src/eval.c:1750 No locals. #3 0x01a56b18 in xsignal1 (error_symbol=30504705, arg=39686771) at /media/e/src/emacs/src/eval.c:1767 No locals. #4 0x01986158 in xd_initialize (bus=30504729) at /media/e/src/emacs/src/dbusbind.c:688 s = "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection w"... connection = (DBusConnection *) 0x0 derror = { name = 0x0, message = 0x0, dummy1 = 1, dummy2 = 0, dummy3 = 0, dummy4 = 0, dummy5 = 0, padding1 = 0xffffb850 } #5 0x01990700 in xd_read_message (bus=30504729) at /media/e/src/emacs/src/dbusbind.c:1406 args = 1 key = -277295760 value = -17088 gcpro1 = { next = 0xef7be218, var = 0xffffbcf0, nvars = 463 } event = { kind = ASCII_KEYSTROKE_EVENT, code = -277076012, part = 4017890868, modifiers = 844, x = -277072772, y = 0, timestamp = 35845376, padding = {0xffffc440, 0xef7e087c}, frame_or_window = -17168, arg = -17120 } connection = (DBusConnection *) 0xffffbcb0 dmessage = (DBusMessage *) 0xef7e0434 iter = { dummy1 = 0xef79d290, dummy2 = 0x1, dummy3 = 4017891284, dummy4 = -277076428, dummy5 = 844, dummy6 = -277072772, dummy7 = -17136, dummy8 = -16992, dummy9 = -277295760, dummy10 = -276954060, dummy11 = -17120, pad1 = -17088, pad2 = -277296100, pad3 = 0x1db1e84 } dtype = 0 mtype = 0 serial = 31137664 uname = 0x222f400 "" path = 0xef78cc1c "\201>\200\034\200\t" interface = 0xffffbcb0 "\377\377\275@\357x\315p" member = 0xffffbc90 "\377\377\274\260\357x\314\034\002\"\364" __PRETTY_FUNCTION__ = "xd_read_message" #6 0x01a5645c in internal_condition_case_1 (bfun=0x19906d8 <xd_read_message>, arg=30504729, handlers=30236913, hfun=0x1a5f30c <Fidentity>) at /media/e/src/emacs/src/eval.c:1559 val = 1224624586 c = { tag = 30173185, val = 30173185, next = 0xffffd07c, gcpro = 0x0, jmp = {26854, 0, 28547652, -15808, 27616204, 1140850722, 29912704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -268525568, -268480888, -10572, -10556, 1084, 28614684, -15808, -15600, 27492528, 56, -15664, -15632, 25218740, 30504753, 30422018, -15600, 25691128, 44756499, 30173185, 30173185, 30173185, 30173185, 8, -277952056, 25216028, 30312960, -15600, -15568, 47, 31141084, 47, 31141084, 45699347, 45699347, 48, -15456, 45699395, 30504753, 45126837, 30591093, 4, -15444, -15504, 30173185, 30173233, 30393233, -15472, -15376, 27631012, 30173185, 2, 44756499, 30173185, 30173185, 30173185, 30173185, 27487208, 1, 2, 30173185, 2, 45395677, -15456, -14224, 1084, 30389826, -15440, -14912, 27616348, 30173185, 30173185, 30173185, -12164, 45395653, -1, -1, 1084, -15440, -15392, -14864, 27616348, 30173185}, backlist = 0x0, handlerlist = 0xffffd238, lisp_eval_depth = 0, pdlcount = 3, poll_suppress_count = 0, interrupt_input_blocked = 0, byte_stack = 0x0 } h = { handler = 30236913, var = 30173185, chosen_clause = 1140850722, tag = 0xffffc24c, next = 0xffffd238 } #7 0x01991b4c in xd_read_queued_messages () at /media/e/src/emacs/src/dbusbind.c:1557 No locals. #8 0x019a5100 in gobble_input (expected=0) at /media/e/src/emacs/src/keyboard.c:6898 No locals. #9 0x019a5080 in get_input_pending (addr=0x1c7ff80, flags=0) at /media/e/src/emacs/src/keyboard.c:6886 No locals. #10 0x019ae444 in detect_input_pending () at /media/e/src/emacs/src/keyboard.c:10506 No locals. #11 0x01ac850c in wait_reading_process_output (time_limit=30, microsecs=0, read_kbd=-1, do_display=1, wait_for_cell=30173185, wait_proc=0x0, just_wait_proc=0) at /media/e/src/emacs/src/process.c:4768 timeout_reduced_for_timers = 1 channel = 0 nfds = 0 Available = { fds_bits = {32, 0, 0, 0, 0, 0, 0, 0} } Connecting = { fds_bits = {0, 0, 0, 0, 0, 0, 0, 0} } check_connect = 0 check_delay = 0 no_avail = 0 xerrno = 31015172 proc = 31015172 timeout = { tv_sec = 0, tv_usec = 478075 } end_time = { tv_sec = 1224625086, tv_usec = 548939 } wait_channel = -1 got_some_input = 0 count = 2 #12 0x0181883c in sit_for (timeout=240, reading=1, do_display=1) at /media/e/src/emacs/src/dispnew.c:6637 sec = 30 usec = 0 #13 0x0199c5fc in read_char (commandflag=1, nmaps=2, maps=0xffffcbf0, prev_event=30173185, used_mouse_menu=0xffffcd2c, end_time=0x0) at /media/e/src/emacs/src/keyboard.c:2892 tem0 = -13984 timeout = 30 delay_level = 4 buffer_size = 1 c = 30173185 count = -13984 jmpcount = 2 local_getcjmp = {0, 92, 28547652, -14464, 26853240, 1140850722, 29912704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -268525568, -268480888, -10572, -10556, 1084, 28614684, -14464, 25363576, 40201745, 30173185, 0, 0, -13984, 30311936, 1, 1, 0, 0, -14096, 27485028, 39284552, 111, 29, 1, 192, -14144, -13872, 3, 114, 3, 111, 51, 80, 111, 29, 0, 30327458, -14096, -14016, 28165756, 39284552, 111, 29, 51, 39284552, 39284552, -13936, 3, 114, 3, 111, 51, 80, 30212100, -13968, 27712484, 1, -14016, -13968, 28165756, 1, 30212100, 1, 51, 39284552, 39284552, 1, 191, 191, -13968, -13856, 28167456, 30212100, 51, -13888, 51, 0, 0, 191, 1, 51, 50} save_jump = {0 <repeats 100 times>} key_already_recorded = 0 tem = 0 save = 1 previous_echo_area_message = 30173185 also_record = 30173185 reread = 0 gcpro1 = { next = 0x1cc6801, var = 0x0, nvars = -13680 } gcpro2 = { next = 0xffffcb50, var = 0xffffcbb0, nvars = 1084 } polling_stopped_here = 0 orig_kboard = (struct kboard *) 0x1cfec80 #14 0x019aab40 in read_key_sequence (keybuf=0xffffcf1c, bufsize=30, prompt=30173185, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at /media/e/src/emacs/src/keyboard.c:9343 interrupted_kboard = (KBOARD *) 0x1cfec80 interrupted_frame = (struct frame *) 0x1ce8a00 key = 30419017 used_mouse_menu = 0 echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 local_first_binding = 0 from_string = 30173185 count = 2 t = 0 echo_start = 0 keys_start = 0 nmaps = 2 nmaps_allocated = 2 defs = (Lisp_Object * volatile) 0xffffcbd0 submaps = (Lisp_Object * volatile) 0xffffcbf0 orig_local_map = 45203885 orig_keymap = 30173185 localized_local_map = 0 first_binding = 0 first_unbound = 31 mock_input = 0 fkey = { parent = 30589669, map = 30589669, start = 0, end = 0 } keytran = { parent = 30162813, map = 30162813, start = 0, end = 0 } indec = { parent = 30589677, map = 30589677, start = 0, end = 0 } shift_translated = 0 delayed_switch_frame = 30173185 original_uppercase = -12944 original_uppercase_position = -1 dummyflag = 0 starting_buffer = (struct buffer *) 0x1cd0000 fake_prefixed_keys = 30173185 gcpro1 = { next = 0xffffcd20, var = 0xffffcd50, nvars = 27485092 } #15 0x01998398 in command_loop_1 () at /media/e/src/emacs/src/keyboard.c:1621 cmd = 30233201 lose = 27632324 nonundocount = 0 keybuf = {216, 960, 27632004, 0, 30173185, -12384, 30173185, 0, 5, -12400, -268475116, 1936863091, -12464, -12384, 26950560, 28861500, 30173185, 1, 30593101, 0, -12512, -12512, 30589061, 30173185, 30938893, 0, 1084, 7, -12400, -12208} i = 2 prev_modiff = 11 prev_buffer = (struct buffer *) 0x1cd0000 already_adjusted = 0 #16 0x01a562b0 in internal_condition_case (bfun=0x1997f44 <command_loop_1>, handlers=30236913, hfun=0x1997528 <cmd_error>) at /media/e/src/emacs/src/eval.c:1511 val = 30593101 c = { tag = 30173185, val = 30173185, next = 0xffffd2a8, gcpro = 0x0, jmp = {0, -12032, 28547652, -12176, 27615784, 1140850754, 29912704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -268525568, -268480888, -10572, -10556, 1084, 28614684, -12176, -283565024, 30406681, -268440400, -12032, -11952, 27633564, -268440400, 0, 1, 1, 1, 30238745, 30173185, 30173185, 28829076, 1, -11836, 71, 736, -283565024, -11856, -283570416, -268440400, -11952, 30173185, 27631548, 603996226, 30173185, -11796, 1, 660, 30238537, 30173209, 0, 0, -11836, 1, 26649, 0, 30173185, 1, -11836, 0, 327, 30312964, 30406681, 0, -11824, -11280, 28029200, 1124476, -269972992, 30173185, 30312964, -268480888, -11824, -11280, 28326540, 31460352, 166, 1, 30312960, 152, 1, -283551692, -2097152, 5, -11776, -11712, 28326712, 0, 10, -11664, -2097152, 152}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 0, interrupt_input_blocked = 0, byte_stack = 0x0 } h = { handler = 30236913, var = 30173185, chosen_clause = -11632, tag = 0xffffd07c, next = 0x0 } #17 0x01997a74 in command_loop_2 () at /media/e/src/emacs/src/keyboard.c:1338 val = -18416 #18 0x01a55b2c in internal_catch (tag=30232985, func=0x1997a40 <command_loop_2>, arg=30173185) at /media/e/src/emacs/src/eval.c:1247 c = { tag = 30232985, val = 30173185, next = 0x0, gcpro = 0x0, jmp = {30655520, 30097208, 28547652, -11616, 27613964, 1140850754, 29912704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -268525568, -268480888, -10572, -10556, 1084, 28614684, -11616, 30173185, -11844, 12, 28830880, 135, 0, 29710790, 0, -11840, 28830859, 29710778, 28830876, 0, 0, 30097258, 28830859, 28830876, 16, 0, 0, 31459072, 1, 30097214, 30655531, 0, -11280, 1, -11344, 63, 30173185, 30800896, 0, -11360, -11328, 28319404, 1207959553, 1, -11296, 28331568, -277763640, 0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 0, interrupt_input_blocked = 0, byte_stack = 0x0 } h = { handler = 30236913, var = 30173185, chosen_clause = -11632, tag = 0xffffd07c, next = 0x0 } #17 0x01997a74 in command_loop_2 () at /media/e/src/emacs/src/keyboard.c:1338 val = -18416 #18 0x01a55b2c in internal_catch (tag=30232985, func=0x1997a40 <command_loop_2>, arg=30173185) at /media/e/src/emacs/src/eval.c:1247 c = { tag = 30232985, val = 30173185, next = 0x0, gcpro = 0x0, jmp = {30655520, 30097208, 28547652, -11616, 27613964, 1140850754, 29912704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -268525568, -268480888, -10572, -10556, 1084, 28614684, -11616, 30173185, -11844, 12, 28830880, 135, 0, 29710790, 0, -11840, 28830859, 29710778, 28830876, 0, 0, 30097258, 28830859, 28830876, 16, 0, 0, 31459072, 1, 30097214, 30655531, 0, -11280, 1, -11344, 63, 30173185, 30800896, 0, -11360, -11328, 28319404, 1207959553, 1, -11296, 28331568, -277763640, 0, ---Type <return> to continue, or q <return> to quit--- -11232, -277867900, 0, 30173185, 30312964, 30312964, -11840, 12, -11136, 30406681, 30097208, -11280, -11088, 27633564, 30448289, 30212096, -11184, 30422210, 30173185, 2, -11168, 30173185, 28830836, -11232, -11136, 27487208, 0, 30173185, 0, 2, 30212096, 1, 1, 30311960}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 0, interrupt_input_blocked = 0, byte_stack = 0x0 } #19 0x019979f0 in command_loop () at /media/e/src/emacs/src/keyboard.c:1317 No locals. #20 0x01996e34 in recursive_edit_1 () at /media/e/src/emacs/src/keyboard.c:942 count = 1 val = 100 #21 0x019970a0 in Frecursive_edit () at /media/e/src/emacs/src/keyboard.c:1004 count = 0 buffer = 30173185 #22 0x01994d30 in main (argc=3, argv=0xffffd6b4) at /media/e/src/emacs/src/emacs.c:1728 dummy = -268480888 stack_bottom_variable = 0 '\0' do_initial_setlocale = 1 skip_args = 1 rlim = { rlim_cur = 4440064, rlim_max = 33554432 } no_loadup = 0 junk = 0x0 So, from frame 1, I see that the immediate cause of the crash is that an error was thrown while Emacs was waiting for output. This happens only when xd_initialize is called with :system as an argument; the system bus is apparently not correctly configured on my system - the dbus library finds the socket, sends a Hello message, but never gets any answer, as seen in the s variable of socket 4. And when I turn off the system bus and try again, the same thing happens, but with another message: #4 0x01986158 in xd_initialize (bus=30504729) at /media/e/src/emacs/src/dbusbind.c:688 s = "Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory", '\0' <repeats 937 times>, "\360" I don't understand why this doesn't happen when I run Emacs in X... Magnus
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.