bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#22622: 24.5; ask-user-about-supersession-threat causes emacs -batch


From: Richard Sharman
Subject: bug#22622: 24.5; ask-user-about-supersession-threat causes emacs -batch to hang
Date: Wed, 10 Feb 2016 18:27:30 +0000

I'm not sure if this is a bug or not. 

When running emacs -batch, if a function modifies a buffer and calls
save-buffer and there is another emacs -batch also updating the same
file, one of them can call ask-user-about-supersession-threat [in
userlock.el].

This causes the emacs process to hang because read-char-choice never
returns.  See traceback below.

This happened when running make -j 6 and I changed the scenario to not
happen, but I wondered if ask-user-about-supersession-threat should be
act upon variable noninteractive.

Perhaps one is supposed to supply a replacement for
ask-user-about-supersession-threat if running emacs in batch mode?  

--- Traceback ---
This was obtained by attaching with gdb to the emacs process.

(gdb) bt
#0  0x000000379fae165e in pselect () from /lib64/libc.so.6
#1  0x00000000005bdf02 in xg_select (fds_lim=6, address@hidden, wfds=0x7fff9903b920, address@hidden, address@hidden, 
    address@hidden) at ../../src/xgselect.c:114
#2  0x000000000058a9c3 in wait_reading_process_output (address@hidden, address@hidden, address@hidden, do_display=true, 
    address@hidden, address@hidden, address@hidden) at ../../src/process.c:4606
#3  0x00000000004e38f7 in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=<optimized out>, kbp=<synthetic pointer>) at ../../src/keyboard.c:3907
#4  read_event_from_main_queue (used_mouse_menu=<optimized out>, local_getcjmp=<optimized out>, end_time=0x0) at ../../src/keyboard.c:2247
#5  read_decoded_event_from_main_queue (address@hidden, address@hidden, address@hidden, 
    address@hidden) at ../../src/keyboard.c:2310
#6  0x00000000004e7b3c in read_char (commandflag=0, address@hidden, prev_event=12186482, address@hidden, address@hidden)
    at ../../src/keyboard.c:2896
#7  0x00000000004e890f in read_key_sequence (address@hidden, address@hidden, dont_downcase_last=<optimized out>, can_return_switch_frame=false, 
    address@hidden, address@hidden, bufsize=30) at ../../src/keyboard.c:9089
#8  0x00000000004ea140 in read_key_sequence_vs (prompt=14531377, continue_echo=12186482, dont_downcase_last=12186530, can_return_switch_frame=12186482, cmd_loop=<optimized out>, 
    allow_string=<optimized out>) at ../../src/keyboard.c:9784
#9  0x000000000054d1b4 in Ffuncall (nargs=<optimized out>, args=<optimized out>) at ../../src/eval.c:2827
#10 0x0000000000580de5 in exec_byte_code (bytestr=-514, vector=140735760544464, maxdepth=140735760544592, args_template=0, nargs=0, args=0x4) at ../../src/bytecode.c:916
#11 0x000000000054cd47 in funcall_lambda (fun=8852921, address@hidden, arg_vector=0x1070e60, address@hidden) at ../../src/eval.c:2978
#12 0x000000000054d013 in Ffuncall (nargs=1, args=0x7fff9903c450) at ../../src/eval.c:2872
#13 0x000000000054c8de in eval_sub (address@hidden) at ../../src/eval.c:2154
#14 0x000000000054b56b in internal_catch (tag=15676322, func=0x54c220 <eval_sub>, arg=15139174) at ../../src/eval.c:1112
#15 0x0000000000581be8 in exec_byte_code (bytestr=-514, vector=140735760544464, maxdepth=140735760544592, args_template=1024, nargs=140735760549240, args=0x8d)
    at ../../src/bytecode.c:1097
#16 0x000000000054cd47 in funcall_lambda (fun=8852409, address@hidden, arg_vector=0x8713e0 <pure+120224>, address@hidden) at ../../src/eval.c:2978
#17 0x000000000054d013 in Ffuncall (nargs=2, args=0x7fff9903c710) at ../../src/eval.c:2872
#18 0x0000000000580de5 in exec_byte_code (bytestr=-514, vector=140735760544464, maxdepth=140735760544592, args_template=3080, nargs=140735760549640, args=0x2)
    at ../../src/bytecode.c:916
#19 0x000000000054cd47 in funcall_lambda (fun=8854969, address@hidden, arg_vector=0x871de0 <pure+122784>, address@hidden) at ../../src/eval.c:2978
#20 0x000000000054d013 in Ffuncall (nargs=3, args=0x7fff9903c848) at ../../src/eval.c:2872
#21 0x0000000000580de5 in exec_byte_code (bytestr=-514, vector=140735760544464, maxdepth=140735760544592, args_template=12186482, nargs=140735760549952, args=0x3)
    at ../../src/bytecode.c:916
#22 0x000000000054ccaf in funcall_lambda (fun=19838589, address@hidden, address@hidden) at ../../src/eval.c:3044
#23 0x000000000054d013 in Ffuncall (address@hidden, address@hidden) at ../../src/eval.c:2872
#24 0x000000000054d34a in call1 (fn=<optimized out>, address@hidden) at ../../src/eval.c:2610
#25 0x00000000005019b5 in lock_file (fn=14349665) at ../../src/filelock.c:713
#26 0x0000000000503115 in prepare_to_modify_buffer_1 (address@hidden, address@hidden, address@hidden) at ../../src/insdel.c:1812
#27 0x0000000000503621 in prepare_to_modify_buffer (start=16700, end=16700, address@hidden) at ../../src/insdel.c:1847
#28 0x00000000005038d5 in insert_from_string_1 (string=14413089, pos=0, pos_byte=0, nchars=35, nbytes=35, inherit=<optimized out>, address@hidden)
    at ../../src/insdel.c:893
#29 0x0000000000504130 in insert_from_string (string=<optimized out>, pos=<optimized out>, pos_byte=<optimized out>, length=<optimized out>, length_byte=<optimized out>, 
    inherit=<optimized out>) at ../../src/insdel.c:842
#30 0x00000000005417a3 in general_insert_function (insert_func=0x503e40 <insert>, insert_from_string_func=0x504100 <insert_from_string>, address@hidden, nargs=1, 
    args=0x7fff9903ec40) at ../../src/editfns.c:2248
#31 0x00000000005418ab in Finsert (nargs=<optimized out>, args=<optimized out>) at ../../src/editfns.c:2289
#32 0x000000000054c8de in eval_sub (form=<optimized out>) at ../../src/eval.c:2154
#33 0x000000000054ca15 in Fprogn (body=6) at ../../src/eval.c:462
#34 0x000000000054f5f5 in Flet (args=19476358) at ../../src/eval.c:970
#35 0x000000000054c7e3 in eval_sub (form=<optimized out>) at ../../src/eval.c:2131
#36 0x000000000054ca15 in Fprogn (body=6) at ../../src/eval.c:462
#37 0x000000000054cdac in funcall_lambda (address@hidden, address@hidden, address@hidden) at ../../src/eval.c:3037
#38 0x000000000054c178 in apply_lambda (fun=19476262, args=<optimized out>, address@hidden) at ../../src/eval.c:2919
#39 0x000000000054c4e9 in eval_sub (form=<optimized out>) at ../../src/eval.c:2256
#40 0x000000000054ca15 in Fprogn (body=6) at ../../src/eval.c:462
#41 0x000000000054c7e3 in eval_sub (form=<optimized out>) at ../../src/eval.c:2131
#42 0x000000000054ca15 in Fprogn (body=6) at ../../src/eval.c:462
#43 0x000000000054c7e3 in eval_sub (form=<optimized out>) at ../../src/eval.c:2131
#44 0x000000000054c7e3 in eval_sub (form=<optimized out>) at ../../src/eval.c:2131
#45 0x000000000054ca15 in Fprogn (body=6, address@hidden) at ../../src/eval.c:462
#46 0x000000000054f688 in Fwhile (args=<optimized out>) at ../../src/eval.c:992
#47 0x000000000054c7e3 in eval_sub (form=<optimized out>) at ../../src/eval.c:2131
#48 0x000000000054ca15 in Fprogn (body=6, address@hidden) at ../../src/eval.c:462
#49 0x0000000000548745 in Fsave_restriction (body=19518774) at ../../src/editfns.c:3415
#50 0x000000000054c7e3 in eval_sub (form=<optimized out>) at ../../src/eval.c:2131
#51 0x000000000054ca15 in Fprogn (body=6) at ../../src/eval.c:462
#52 0x000000000054f5f5 in Flet (args=19518230) at ../../src/eval.c:970
#53 0x000000000054c7e3 in eval_sub (form=<optimized out>) at ../../src/eval.c:2131
#54 0x000000000054ca15 in Fprogn (body=6) at ../../src/eval.c:462
#55 0x000000000054cdac in funcall_lambda (address@hidden, address@hidden, address@hidden) at ../../src/eval.c:3037
#56 0x000000000054c178 in apply_lambda (fun=19518182, args=<optimized out>, address@hidden) at ../../src/eval.c:2919
#57 0x000000000054c4e9 in eval_sub (form=<optimized out>) at ../../src/eval.c:2256
#58 0x000000000054ca15 in Fprogn (body=6, address@hidden) at ../../src/eval.c:462
#59 0x000000000054f688 in Fwhile (args=<optimized out>) at ../../src/eval.c:992
#60 0x000000000054c7e3 in eval_sub (form=<optimized out>) at ../../src/eval.c:2131
#61 0x000000000054ca15 in Fprogn (body=6) at ../../src/eval.c:462
#62 0x000000000054f5f5 in Flet (args=19516310) at ../../src/eval.c:970
#63 0x000000000054c7e3 in eval_sub (form=<optimized out>) at ../../src/eval.c:2131
#64 0x000000000054ca15 in Fprogn (body=6) at ../../src/eval.c:462
#65 0x000000000054cdac in funcall_lambda (address@hidden, address@hidden, address@hidden) at ../../src/eval.c:3037
#66 0x000000000054c178 in apply_lambda (fun=19513158, args=<optimized out>, address@hidden) at ../../src/eval.c:2919
#67 0x000000000054c4e9 in eval_sub (form=<optimized out>) at ../../src/eval.c:2256
#68 0x000000000054ca15 in Fprogn (body=6) at ../../src/eval.c:462
#69 0x000000000054cdac in funcall_lambda (address@hidden, address@hidden, address@hidden) at ../../src/eval.c:3037
#70 0x000000000054c178 in apply_lambda (fun=19509782, args=<optimized out>, address@hidden) at ../../src/eval.c:2919
#71 0x000000000054c4e9 in eval_sub (address@hidden) at ../../src/eval.c:2256
#72 0x000000000054fae1 in Feval (form=19527974, lexical=<optimized out>) at ../../src/eval.c:1996
#73 0x000000000054d1f0 in Ffuncall (nargs=<optimized out>, args=<optimized out>) at ../../src/eval.c:2814
#74 0x0000000000580de5 in exec_byte_code (bytestr=-514, vector=140735760544464, maxdepth=140735760544592, args_template=1028, nargs=77, args=0x2) at ../../src/bytecode.c:916
#75 0x000000000054cd47 in funcall_lambda (fun=9325745, address@hidden, arg_vector=0x8e4cd8 <pure+593560>, address@hidden) at ../../src/eval.c:2978
#76 0x000000000054d013 in Ffuncall (nargs=2, args=0x7fff99040028) at ../../src/eval.c:2872
#77 0x0000000000580de5 in exec_byte_code (bytestr=-514, vector=140735760544464, maxdepth=140735760544592, args_template=0, nargs=140735760564264, args=0x2)
    at ../../src/bytecode.c:916
#78 0x000000000054cd47 in funcall_lambda (fun=9300361, address@hidden, arg_vector=0x8de9b0 <pure+568176>, address@hidden) at ../../src/eval.c:2978
#79 0x000000000054d013 in Ffuncall (nargs=1, args=0x7fff990401b0) at ../../src/eval.c:2872
#80 0x0000000000580de5 in exec_byte_code (bytestr=-514, vector=140735760544464, maxdepth=140735760544592, args_template=0, nargs=140735760564648, args=0x1)
    at ../../src/bytecode.c:916
#81 0x000000000054cd47 in funcall_lambda (fun=9296881, address@hidden, address@hidden, arg_vector=0x8ddc18 <pure+564696>, address@hidden)
    at ../../src/eval.c:2978
#82 0x000000000054c178 in apply_lambda (fun=9296837, args=<optimized out>, address@hidden) at ../../src/eval.c:2919
#83 0x000000000054c4e9 in eval_sub (address@hidden) at ../../src/eval.c:2256
#84 0x000000000054fae1 in Feval (form=15729862, lexical=<optimized out>) at ../../src/eval.c:1996
#85 0x000000000054b65e in internal_condition_case (address@hidden <top_level_2>, handlers=<optimized out>, address@hidden <cmd_error>) at ../../src/eval.c:1348
#86 0x00000000004dcb66 in top_level_1 (address@hidden) at ../../src/keyboard.c:1195
#87 0x000000000054b56b in internal_catch (tag=12233698, address@hidden <top_level_1>, arg=12186482) at ../../src/eval.c:1112
#88 0x00000000004e0fcf in command_loop () at ../../src/keyboard.c:1156
#89 recursive_edit_1 () at ../../src/keyboard.c:778
#90 0x00000000004e12fd in Frecursive_edit () at ../../src/keyboard.c:849
#91 0x0000000000413755 in main (argc=<optimized out>, argv=0x7fff99040628) at ../../src/emacs.c:1642
(gdb) 



In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw scroll bars)
 of 2015-04-27 on sharmanbox.mitel.com
Windowing system distributor `CentOS', version 11.0.11300000
System Description: Red Hat Enterprise Linux Server release 6

Configured using:
 `configure --with-x-toolkit=athena --without-gsettings'

Important settings:
  value of $LANG: C
  value of $XMODIFIERS: @im=none
  locale-coding-system: nil

(Since this is not the emacs session that produced the problem the rest
of the generated input from rerprt-emacs-bug has been removed.)


I apologize for anything that occurs after this line; it's out of my control!



NOTE: This e-mail (including any attachments) is for the sole use of the intended recipient(s) and may contain information that is confidential and/or protected by legal privilege. Any unauthorized review, use, copy, disclosure or distribution of this e-mail is strictly prohibited. If you are not the intended recipient, please notify Mitel immediately and destroy all copies of this e-mail. Mitel does not accept any liability for breach of security, error or virus that may result from the transmission of this message.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]