Subject: Re: bug#16737: 24.3.50; Yank causes hang

From: Nicolas Richard <[email-masked]>
Date: Fri, 21 Mar 2014 07:19:05 +0100

Le 05/03/2014 18:08, Eli Zaretskii a écrit :
>> Date: Wed, 05 Mar 2014 12:01:06 +0100
>> From: Nicolas Richard <[email-masked]>
>> CC: [email-masked], [email-masked], [email-masked]
>> 
>> Le 04/03/2014 17:59, Eli Zaretskii a écrit :
>> > Since you say that Emacs hangs for several seconds, would it be
>> > possible for you to attach GDB right after you type C-x C-e to eval
>> > (x-get-selection)?  You could prepare the "gdb -p PID" command line in
>> > the shell window in advance, so all you'd need to type is RET.
>> 
>> I didn't quite do that and unfortunately killed the process at the end,
>> so can't try your suggestion anymore. FWIW, here's what I did, although
>> I doubt it's very useful. I'll try to do better next time.
> 
> OK, thanks.

Hi, 

Are these better backtraces ?

Program received signal SIGTSTP, Stopped (user).
0xb77dafab in g_main_context_query (context=0x88c73b0, 
    max_priority=2147483647, timeout=0xbfffbd7c, fds=0xb3f5d50, n_fds=11)
    at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3430
3430	/var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  0xb77dafab in g_main_context_query (context=0x88c73b0, 
    max_priority=2147483647, timeout=0xbfffbd7c, fds=0xb3f5d50, n_fds=11)
    at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3430
#1  0xb77db67e in g_main_context_iterate (dispatch=0, block=0, 
    context=0x88c73b0, self=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3683
#2  g_main_context_iterate (context=0x88c73b0, block=0, dispatch=0, 
    self=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3638
#3  0xb77db7f5 in g_main_context_pending (context=0x88c73b0)
    at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3727
#4  0x0824d1ba in xg_select (fds_lim=39, rfds=0xbfffc574, wfds=0x0, efds=0x0, 
    timeout=0xbfffc4e8, sigmask=0x0) at xgselect.c:139
#5  0x0820ef6a in wait_reading_process_output (time_limit=5, nsecs=0, 
    read_kbd=0, do_display=false, wait_for_cell=139276054, wait_proc=0x0, 
    just_wait_proc=0) at process.c:4588
#6  0x0813d2bc in x_get_foreign_selection (selection_symbol=139447714, 
    target_type=139447666, time_stamp=139294658, frame=164381317)
    at xselect.c:1237
#7  0x0813e869 in Fx_get_selection_internal (selection_symbol=139447714, 
    target_type=139447666, time_stamp=139294658, terminal=139294658)
    at xselect.c:2017
#8  0x081cd80c in Ffuncall (nargs=3, args=0xbfffc814) at eval.c:2826
#9  0x08204de5 in exec_byte_code (bytestr=137853305, vector=137853325, 
    maxdepth=28, args_template=139294658, nargs=0, args=0x0) at bytecode.c:919
#10 0x081ce0cc in funcall_lambda (fun=137853261, nargs=2, 
    arg_vector=0x837798d <pure+677293>) at eval.c:3049
#11 0x081cd9b3 in Ffuncall (nargs=3, args=0xbfffcb44) at eval.c:2864
#12 0x08204de5 in exec_byte_code (bytestr=138051321, vector=138051349, 
    maxdepth=12, args_template=139294658, nargs=0, args=0x0) at bytecode.c:919
#13 0x082044ec in Fbyte_code (bytestr=138051321, vector=138051349, maxdepth=12)
    at bytecode.c:482
#14 0x081cc6f5 in eval_sub (form=138051310) at eval.c:2191
#15 0x081cae94 in internal_lisp_condition_case (var=139294658, 
    bodyform=138051310, handlers=137256166) at eval.c:1323
#16 0x08205d27 in exec_byte_code (bytestr=138051217, vector=138051237, 
    maxdepth=24, args_template=139294658, nargs=0, args=0x0) at bytecode.c:1169
#17 0x081ce0cc in funcall_lambda (fun=138051197, nargs=1, 
    arg_vector=0x83a7ea5 <pure+875205>) at eval.c:3049
#18 0x081cd9b3 in Ffuncall (nargs=2, args=0xbfffd244) at eval.c:2864
#19 0x08204de5 in exec_byte_code (bytestr=138051465, vector=138051485, 
    maxdepth=12, args_template=139294658, nargs=0, args=0x0) at bytecode.c:919
#20 0x081ce0cc in funcall_lambda (fun=138051445, nargs=0, 
    arg_vector=0x83a7f9d <pure+875453>) at eval.c:3049
#21 0x081cd9b3 in Ffuncall (nargs=1, args=0xbfffd56c) at eval.c:2864
#22 0x08204de5 in exec_byte_code (bytestr=137650977, vector=137650997, 
    maxdepth=36, args_template=2052, nargs=2, args=0xbfffd8b4)
    at bytecode.c:919
#23 0x081cde15 in funcall_lambda (fun=137650957, nargs=2, 
    arg_vector=0xbfffd8ac) at eval.c:2983
#24 0x081cd9b3 in Ffuncall (nargs=3, args=0xbfffd8a8) at eval.c:2864
#25 0x08204de5 in exec_byte_code (bytestr=137651601, vector=289418565, 
    maxdepth=20, args_template=0, nargs=0, args=0xbfffdbe4) at bytecode.c:919
#26 0x081cde15 in funcall_lambda (fun=271420093, nargs=0, 
    arg_vector=0xbfffdbe4) at eval.c:2983
#27 0x081cd9b3 in Ffuncall (nargs=1, args=0xbfffdbe0) at eval.c:2864
#28 0x081cc597 in eval_sub (form=313434174) at eval.c:2157
#29 0x081cae94 in internal_lisp_condition_case (var=141662594, 
    bodyform=313434174, handlers=313434030) at eval.c:1323
#30 0x08205d27 in exec_byte_code (bytestr=137651513, vector=137651533, 
    maxdepth=60, args_template=3080, nargs=2, args=0xbfffe0c4)
    at bytecode.c:1169
#31 0x081cde15 in funcall_lambda (fun=137651485, nargs=2, 
    arg_vector=0xbfffe0bc) at eval.c:2983
#32 0x081cd9b3 in Ffuncall (nargs=3, args=0xbfffe0b8) at eval.c:2864
#33 0x08204de5 in exec_byte_code (bytestr=137663209, vector=137663229, 
    maxdepth=16, args_template=1028, nargs=1, args=0xbfffe438)
    at bytecode.c:919
#34 0x081cde15 in funcall_lambda (fun=137663181, nargs=1, 
    arg_vector=0xbfffe434) at eval.c:2983
#35 0x081cd9b3 in Ffuncall (nargs=2, args=0xbfffe430) at eval.c:2864
#36 0x081c8f9b in Fcall_interactively (function=141138386, 
    record_flag=139294658, keys=139303501) at callint.c:836
#37 0x081cd7d4 in Ffuncall (nargs=4, args=0xbfffe66c) at eval.c:2822
#38 0x08204de5 in exec_byte_code (bytestr=137639937, vector=137639957, 
    maxdepth=52, args_template=4100, nargs=1, args=0xbfffe9b0)
    at bytecode.c:919
#39 0x081cde15 in funcall_lambda (fun=137639917, nargs=1, 
    arg_vector=0xbfffe9ac) at eval.c:2983
#40 0x081cd9b3 in Ffuncall (nargs=2, args=0xbfffe9a8) at eval.c:2864
#41 0x081cd2a2 in call1 (fn=139321114, arg1=141138386) at eval.c:2614
#42 0x08150db7 in command_loop_1 () at keyboard.c:1556
#43 0x081cafae in internal_condition_case (bfun=0x81507c7 <command_loop_1>, 
    handlers=139327738, hfun=0x815019d <cmd_error>) at eval.c:1354
#44 0x08150563 in command_loop_2 (ignore=139294658) at keyboard.c:1174
#45 0x081ca936 in internal_catch (tag=139325786, 
    func=0x815053f <command_loop_2>, arg=139294658) at eval.c:1118
#46 0x0815051d in command_loop () at keyboard.c:1153
#47 0x0814fe39 in recursive_edit_1 () at keyboard.c:777
#48 0x0814ff75 in Frecursive_edit () at keyboard.c:845
#49 0x0814e3a8 in main (argc=1, argv=0xbfffed14) at emacs.c:1646

Lisp Backtrace:
"x-get-selection-internal" (0xbfffc818)
"x-get-selection" (0xbfffcb48)
"byte-code" (0xbfffcdd0)
"x-selection-value-internal" (0xbfffd248)
"x-selection-value" (0xbfffd570)
"kill-new" (0xbfffd8ac)
0x102d8ab8 PVEC_COMPILED
"funcall" (0xbfffdbe0)
"kill-region" (0xbfffe0bc)
"kill-word" (0xbfffe434)
"call-interactively" (0xbfffe670)
"command-execute" (0xbfffe9ac)
(gdb) fg
Continuing.
^Z
Program received signal SIGTSTP, Stopped (user).
0xb6e48184 in __GI___pthread_mutex_unlock (mutex=0x88c7428)
    at pthread_mutex_unlock.c:297
297	pthread_mutex_unlock.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  0xb6e48184 in __GI___pthread_mutex_unlock (mutex=0x88c7428)
    at pthread_mutex_unlock.c:297
#1  0xb781e880 in g_mutex_unlock (mutex=0x88c73b0)
    at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gthread-posix.c:229
#2  0xb77db70b in g_main_context_poll (n_fds=10, fds=0xb3f5d50, 
    timeout=<optimized out>, context=0x88c73b0, priority=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3994
#3  g_main_context_iterate (dispatch=0, block=-1216441472, context=0x88c73b0, 
    self=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3696
#4  g_main_context_iterate (context=0x88c73b0, block=-1216441472, dispatch=0, 
    self=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3638
#5  0xb77db7f5 in g_main_context_pending (context=0x88c73b0)
    at /var/tmp/portage/dev-libs/glib-2.36.4-r1/work/glib-2.36.4/glib/gmain.c:3727
#6  0x0824d1ba in xg_select (fds_lim=39, rfds=0xbfffc254, wfds=0x0, efds=0x0, 
    timeout=0xbfffc1c8, sigmask=0x0) at xgselect.c:139
#7  0x0820ef6a in wait_reading_process_output (time_limit=5, nsecs=0, 
    read_kbd=0, do_display=false, wait_for_cell=139276054, wait_proc=0x0, 
    just_wait_proc=0) at process.c:4588
#8  0x0813d2bc in x_get_foreign_selection (selection_symbol=139447714, 
    target_type=139447786, time_stamp=139294658, frame=164381317)
    at xselect.c:1237
#9  0x0813e869 in Fx_get_selection_internal (selection_symbol=139447714, 
    target_type=139447786, time_stamp=139294658, terminal=139294658)
    at xselect.c:2017
#10 0x081cd80c in Ffuncall (nargs=3, args=0xbfffc4f4) at eval.c:2826
#11 0x08204de5 in exec_byte_code (bytestr=137853305, vector=137853325, 
    maxdepth=28, args_template=139294658, nargs=0, args=0x0) at bytecode.c:919
#12 0x081ce0cc in funcall_lambda (fun=137853261, nargs=2, 
    arg_vector=0x837798d <pure+677293>) at eval.c:3049
#13 0x081cd9b3 in Ffuncall (nargs=3, args=0xbfffc824) at eval.c:2864
#14 0x08204de5 in exec_byte_code (bytestr=138051321, vector=138051349, 
    maxdepth=12, args_template=139294658, nargs=0, args=0x0) at bytecode.c:919
#15 0x082044ec in Fbyte_code (bytestr=138051321, vector=138051349, maxdepth=12)
    at bytecode.c:482
#16 0x081cc6f5 in eval_sub (form=138051310) at eval.c:2191
#17 0x081cae94 in internal_lisp_condition_case (var=139294658, 
    bodyform=138051310, handlers=137256166) at eval.c:1323
#18 0x08205d27 in exec_byte_code (bytestr=138051217, vector=138051237, 
    maxdepth=24, args_template=139294658, nargs=0, args=0x0) at bytecode.c:1169
#19 0x081ce0cc in funcall_lambda (fun=138051197, nargs=1, 
    arg_vector=0x83a7ea5 <pure+875205>) at eval.c:3049
#20 0x081cd9b3 in Ffuncall (nargs=2, args=0xbfffcf24) at eval.c:2864
#21 0x08204de5 in exec_byte_code (bytestr=138051465, vector=138051485, 
    maxdepth=12, args_template=139294658, nargs=0, args=0x0) at bytecode.c:919
#22 0x081ce0cc in funcall_lambda (fun=138051445, nargs=0, 
    arg_vector=0x83a7f9d <pure+875453>) at eval.c:3049
#23 0x081cd9b3 in Ffuncall (nargs=1, args=0xbfffd24c) at eval.c:2864
#24 0x08204de5 in exec_byte_code (bytestr=137650977, vector=137650997, 
    maxdepth=36, args_template=2052, nargs=2, args=0xbfffd594)
    at bytecode.c:919
#25 0x081cde15 in funcall_lambda (fun=137650957, nargs=2, 
    arg_vector=0xbfffd58c) at eval.c:2983
#26 0x081cd9b3 in Ffuncall (nargs=3, args=0xbfffd588) at eval.c:2864
#27 0x08204de5 in exec_byte_code (bytestr=137651601, vector=305976237, 
    maxdepth=20, args_template=0, nargs=0, args=0xbfffd8c4) at bytecode.c:919
#28 0x081cde15 in funcall_lambda (fun=305976301, nargs=0, 
    arg_vector=0xbfffd8c4) at eval.c:2983
#29 0x081cd9b3 in Ffuncall (nargs=1, args=0xbfffd8c0) at eval.c:2864
#30 0x081cc597 in eval_sub (form=309151990) at eval.c:2157
#31 0x081cae94 in internal_lisp_condition_case (var=141662594, 
    bodyform=309151990, handlers=309151862) at eval.c:1323
#32 0x08205d27 in exec_byte_code (bytestr=137651513, vector=137651533, 
    maxdepth=60, args_template=3080, nargs=2, args=0xbfffdda4)
    at bytecode.c:1169
#33 0x081cde15 in funcall_lambda (fun=137651485, nargs=2, 
    arg_vector=0xbfffdd9c) at eval.c:2983
#34 0x081cd9b3 in Ffuncall (nargs=3, args=0xbfffdd98) at eval.c:2864
#35 0x08204de5 in exec_byte_code (bytestr=137663209, vector=137663229, 
    maxdepth=16, args_template=1028, nargs=1, args=0xbfffe0d0)
    at bytecode.c:919
#36 0x081cde15 in funcall_lambda (fun=137663181, nargs=1, 
    arg_vector=0xbfffe0cc) at eval.c:2983
#37 0x081cd9b3 in Ffuncall (nargs=2, args=0xbfffe0c8) at eval.c:2864
#38 0x08204de5 in exec_byte_code (bytestr=137641457, vector=137663269, 
    maxdepth=12, args_template=1028, nargs=1, args=0xbfffe438)
    at bytecode.c:919
#39 0x081cde15 in funcall_lambda (fun=137663237, nargs=1, 
    arg_vector=0xbfffe434) at eval.c:2983
#40 0x081cd9b3 in Ffuncall (nargs=2, args=0xbfffe430) at eval.c:2864
#41 0x081c8f9b in Fcall_interactively (function=141138410, 
    record_flag=139294658, keys=139303501) at callint.c:836
#42 0x081cd7d4 in Ffuncall (nargs=4, args=0xbfffe66c) at eval.c:2822
#43 0x08204de5 in exec_byte_code (bytestr=137639937, vector=137639957, 
    maxdepth=52, args_template=4100, nargs=1, args=0xbfffe9b0)
    at bytecode.c:919
#44 0x081cde15 in funcall_lambda (fun=137639917, nargs=1, 
    arg_vector=0xbfffe9ac) at eval.c:2983
#45 0x081cd9b3 in Ffuncall (nargs=2, args=0xbfffe9a8) at eval.c:2864
#46 0x081cd2a2 in call1 (fn=139321114, arg1=141138410) at eval.c:2614
#47 0x08150db7 in command_loop_1 () at keyboard.c:1556
#48 0x081cafae in internal_condition_case (bfun=0x81507c7 <command_loop_1>, 
    handlers=139327738, hfun=0x815019d <cmd_error>) at eval.c:1354
#49 0x08150563 in command_loop_2 (ignore=139294658) at keyboard.c:1174
#50 0x081ca936 in internal_catch (tag=139325786, 
    func=0x815053f <command_loop_2>, arg=139294658) at eval.c:1118
#51 0x0815051d in command_loop () at keyboard.c:1153
#52 0x0814fe39 in recursive_edit_1 () at keyboard.c:777
#53 0x0814ff75 in Frecursive_edit () at keyboard.c:845
#54 0x0814e3a8 in main (argc=1, argv=0xbfffed14) at emacs.c:1646

Lisp Backtrace:
"x-get-selection-internal" (0xbfffc4f8)
"x-get-selection" (0xbfffc828)
"byte-code" (0xbfffcab0)
"x-selection-value-internal" (0xbfffcf28)
"x-selection-value" (0xbfffd250)
"kill-new" (0xbfffd58c)
0x123cd3e8 PVEC_COMPILED
"funcall" (0xbfffd8c0)
"kill-region" (0xbfffdd9c)
"kill-word" (0xbfffe0cc)
"backward-kill-word" (0xbfffe434)
"call-interactively" (0xbfffe670)
"command-execute" (0xbfffe9ac)
(gdb) c
Continuing.