On Mon, Nov 06 2017, gj...@omecha.info (Grégoire Jadi) wrote: > Piotr Isajew <p...@ex.com.pl> writes: > >> Dnia 15.10.2017 Jeremie Courreges-Anglas <j...@wxcvbn.org> napisał/a: >>> >>> Here's a diff for the first pretest in the emacs-26 release cycle. >>> Among other things, emacs now uses system malloc(3) at runtime (gmalloc >>> is still used at build/unexec time). >>> >>> As usual build & test reports are welcome, especially if you use an arch >>> different from amd64 / arm, or if you use one of the graphical flavors. >> >> I've been testing this on 6.2. I notice one problem which exists >> also for emacs-25 and I can reproduce it for all the graphical >> flavors. >> >> The scenario I can reproduce is related to using org-capture. On >> any other platform, or even on OpenBSD without X, after selecting >> capture template a dedicated buffer appears in which I can edit >> the template. On OpenBSD however, under X this buffer does only >> appear after generating additional input event, like moving a >> mouse. There's no such problem if I select capture template using >> soft-keyboard - XVkbd. >> >> Also it is very likely that after selecting the capture template >> *emacs will hang in kind of an infinite loop* maxing out CPU >> usage. > > Hello,
Hi Piotr, salut Grégoire, > I think I have encountered the same issue. The problem occurs when emacs > tries to read the secondary clipbard with the encoding iso-8859-1. > You can try to reproduce the bug with : >> (setf x-selection-timeout 500) >> (org-get-x-clipboard 'SECONDARY) > > If this is the same bug, the call to `org-get-x-clipboard' will froze > emacs for 500ms then return nil. > > After I track this down I found a quick-fix : >> (setf x-selection-timeout 10) > This set the timeout to 10ms instead of 0 (i.e. wait indefinitely) > > At the time, I ran out of patience and didn't bother to find out if the > bug was specific to OpenBSD or some weird interactions between emacs and > my window manager and/or X. But if you confirm the same bug it may be > time to report it. Very interesting, thanks to both of you for your reports and investigations. I've never hit this, probably because I run the no_x11 flavor. I'll see what I can do to get this fixed, but if someone (tm) affected can file a bugreport upstream, that would be great. :) > Best, > > PS: You can usually recover from a frozen emacs by sending the SIGUSR2 > signal to the emacs' process (pkill -USR2 emacs). When it receives > SIGUSR2, emacs will drop into its debugger and toggle debug-on-quit > (SIGUSR2 is like C-g but emacs should react to it even if the input loop > is frozen). > >> The command I used to build the port: >> >> cd /usr/ports/editors/emacs >> doas sh -c 'export FLAVOR=athena; export DEBUG="-g -O0 -DTRACE_SELECTION"; >> make clean repackage reinstall' >> >> The stacktrace from the moment it hangs: >> >> info thre >> 4 thread 424274 _thread_sys_poll () at -:3 >> 3 thread 437321 _thread_sys_poll () at -:3 >> * 2 thread 476142 _thread_sys_poll () at -:3 >> 1 thread 131181 wait_reading_process_output (time_limit=5, nsecs=0, >> read_kbd=0, do_display=false, wait_for_cell=16374659, wait_proc=0x0, >> just_wait_proc=0) at process.c:5296 >> (gdb) thr 4 >> [Switching to thread 4 (thread 424274)]#0 _thread_sys_poll () at -:3 >> 3 in - >> (gdb) inf sta >> #0 _thread_sys_poll () at -:3 >> #1 0x00000002c6d1f45f in _libc_poll_cancel (fds=Variable "fds" is not >> available. >> ) >> at /usr/src/lib/libc/sys/w_poll.c:27 >> #2 0x000000022d883497 in g_main_context_iterate () at gmain.c:4271 >> #3 0x000000022d883594 in g_main_context_iteration (context=0x20ddb0500, >> may_block=The value of variable 'may_block' is distributed across several >> locations, and GDB cannot access its value. >> >> ) at gmain.c:4033 >> #4 0x00000002c7f2bb7d in g_io_module_query () >> from /usr/local/lib/gio/modules/libdconfsettings.so >> #5 0x000000022d8ac3fa in g_thread_proxy (data=0x259d50190) at gthread.c:784 >> #6 0x0000000275642cae in _rthread_start (v=Variable "v" is not available. >> ) >> at /usr/src/lib/librthread/rthread.c:96 >> #7 0x00000002c6d1b96b in __tfork_thread () >> at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75 >> #8 0x0000000000000000 in ?? () >> >> (gdb) thr 3 >> [Switching to thread 3 (thread 437321)]#0 _thread_sys_poll () at -:3 >> 3 in - >> (gdb) inf sta >> #0 _thread_sys_poll () at -:3 >> #1 0x00000002c6d1f45f in _libc_poll_cancel (fds=Variable "fds" is not >> available. >> ) >> at /usr/src/lib/libc/sys/w_poll.c:27 >> #2 0x000000022d883497 in g_main_context_iterate () at gmain.c:4271 >> #3 0x000000022d883594 in g_main_context_iteration (context=0x243a3ce00, >> may_block=The value of variable 'may_block' is distributed across several >> locations, and GDB cannot access its value. >> >> ) at gmain.c:4033 >> #4 0x000000022d885296 in glib_worker_main (data=Variable "data" is not >> available. >> ) at gmain.c:5824 >> #5 0x000000022d8ac3fa in g_thread_proxy (data=0x259d50000) at gthread.c:784 >> #6 0x0000000275642cae in _rthread_start (v=Variable "v" is not available. >> ) >> at /usr/src/lib/librthread/rthread.c:96 >> #7 0x00000002c6d1b96b in __tfork_thread () >> at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75 >> >> (gdb) thr 2 >> [Switching to thread 2 (thread 476142)]#0 _thread_sys_poll () at -:3 >> 3 in - >> (gdb) inf sta >> #0 _thread_sys_poll () at -:3 >> #1 0x00000002c6d1f45f in _libc_poll_cancel (fds=Variable "fds" is not >> available. >> ) >> at /usr/src/lib/libc/sys/w_poll.c:27 >> #2 0x000000022d883497 in g_main_context_iterate () at gmain.c:4271 >> #3 0x000000022d88382f in g_main_loop_run (loop=0x249a70a80) at gmain.c:4168 >> #4 0x00000002a5dac8cb in gdbus_shared_thread_func (user_data=0x2039baa80) >> at gdbusprivate.c:252 >> #5 0x000000022d8ac3fa in g_thread_proxy (data=0x27f39fed0) at gthread.c:784 >> #6 0x0000000275642cae in _rthread_start (v=Variable "v" is not available. >> ) >> at /usr/src/lib/librthread/rthread.c:96 >> #7 0x00000002c6d1b96b in __tfork_thread () >> at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75 >> #8 0x0000000000000000 in ?? () >> >> (gdb) thr 1 >> [Switching to thread 1 (thread 131181)]#0 wait_reading_process_output ( >> time_limit=5, nsecs=0, read_kbd=0, do_display=false, >> wait_for_cell=16374659, wait_proc=0x0, just_wait_proc=0) at >> process.c:5296 >> 5296 FD_ZERO (&Available); >> Current language: auto; currently minimal >> (gdb) inf sta >> #0 wait_reading_process_output (time_limit=5, nsecs=0, read_kbd=0, >> do_display=false, wait_for_cell=16374659, wait_proc=0x0, >> just_wait_proc=0) >> at process.c:5296 >> #1 0x00000000005b297d in x_get_foreign_selection (selection_symbol=9120, >> target_type=240, time_stamp=0, frame=22101045) at xselect.c:1201 >> #2 0x00000000005b1f4c in Fx_get_selection_internal (selection_symbol=9120, >> target_type=240, time_stamp=0, terminal=0) at xselect.c:2010 >> #3 0x00000000006fabf7 in funcall_subr (subr=0xbc8318, numargs=4, >> args=0x7f7ffffdacd0) at eval.c:2849 >> #4 0x00000000006f983a in Ffuncall (nargs=5, args=0x7f7ffffdacc8) >> at eval.c:2766 >> #5 0x0000000000782f3d in exec_byte_code (bytestr=26624420, vector=20306061, >> maxdepth=38, args_template=4106, nargs=2, args=0x7f7ffffdb798) >> at bytecode.c:629 >> #6 0x00000000006fafc5 in funcall_lambda (fun=23387365, nargs=2, >> arg_vector=0x7f7ffffdb788) at eval.c:2967 >> #7 0x00000000006f9882 in Ffuncall (nargs=3, args=0x7f7ffffdb780) >> at eval.c:2768 >> #8 0x00000000006f961a in Fapply (nargs=2, args=0x7f7ffffdc0f0) at >> eval.c:2386 >> #9 0x00000000006faa86 in funcall_subr (subr=0xed78d8, numargs=2, >> args=0x7f7ffffdc0f0) at eval.c:2821 >> #10 0x00000000006f983a in Ffuncall (nargs=3, args=0x7f7ffffdc0e8) >> at eval.c:2766 >> #11 0x0000000000782f3d in exec_byte_code (bytestr=22680196, vector=21880661, >> maxdepth=62, args_template=514, nargs=2, args=0x7f7ffffdcc20) >> at bytecode.c:629 >> #12 0x00000000006fafc5 in funcall_lambda (fun=21811109, nargs=2, >> arg_vector=0x7f7ffffdcc20) at eval.c:2967 >> #13 0x00000000006f9882 in Ffuncall (nargs=3, args=0x7f7ffffdcc18) >> at eval.c:2768 >> #14 0x0000000000782f3d in exec_byte_code (bytestr=13593108, vector=13593141, >> maxdepth=38, args_template=2050, nargs=2, args=0x7f7ffffdd758) >> at bytecode.c:629 >> #15 0x00000000006fafc5 in funcall_lambda (fun=13593061, nargs=2, >> arg_vector=0x7f7ffffdd748) at eval.c:2967 >> #16 0x00000000006f9882 in Ffuncall (nargs=3, args=0x7f7ffffdd740) >> at eval.c:2768 >> #17 0x0000000000782f3d in exec_byte_code (bytestr=11746807908, >> vector=24821037, maxdepth=34, args_template=1030, nargs=1, >> args=0x7f7ffffde348) at bytecode.c:629 >> #18 0x00000000006fafc5 in funcall_lambda (fun=24821173, nargs=1, >> arg_vector=0x7f7ffffde340) at eval.c:2967 >> #19 0x00000000006f9882 in Ffuncall (nargs=2, args=0x7f7ffffde338) >> at eval.c:2768 >> #20 0x0000000000782f3d in exec_byte_code (bytestr=11743124740, >> vector=11965495141, maxdepth=178, args_template=3074, nargs=0, >> args=0x7f7ffffdf3e0) at bytecode.c:629 >> #21 0x00000000006fafc5 in funcall_lambda (fun=11965496357, nargs=0, >> arg_vector=0x7f7ffffdf3e0) at eval.c:2967 >> #22 0x00000000006f9882 in Ffuncall (nargs=1, args=0x7f7ffffdf3d8) >> at eval.c:2768 >> #23 0x0000000000782f3d in exec_byte_code (bytestr=11904366884, >> vector=9575961797, maxdepth=86, args_template=2050, nargs=1, >> args=0x7f7ffffe01f8) at bytecode.c:629 >> #24 0x00000000006fafc5 in funcall_lambda (fun=9575962493, nargs=1, >> arg_vector=0x7f7ffffe01f0) at eval.c:2967 >> #25 0x00000000006f9882 in Ffuncall (nargs=2, args=0x7f7ffffe01e8) >> at eval.c:2768 >> #26 0x00000000006daa3a in Ffuncall_interactively (nargs=2, >> args=0x7f7ffffe01e8) >> at callint.c:252 >> #27 0x00000000006faa86 in funcall_subr (subr=0xed7308, numargs=2, >> args=0x7f7ffffe01e8) at eval.c:2821 >> #28 0x00000000006f983a in Ffuncall (nargs=3, args=0x7f7ffffe01e0) >> at eval.c:2766 >> #29 0x00000000006dd2bb in Fcall_interactively (function=7336368, >> record_flag=0, keys=10242735877) at callint.c:841 >> #30 0x00000000006fabb9 in funcall_subr (subr=0xed72d8, numargs=3, >> args=0x7f7ffffe0a20) at eval.c:2846 >> #31 0x00000000006f983a in Ffuncall (nargs=4, args=0x7f7ffffe0a18) >> at eval.c:2766 >> #32 0x0000000000782f3d in exec_byte_code (bytestr=13161172, vector=13161205, >> maxdepth=54, args_template=4102, nargs=1, args=0x7f7ffffe15a8) >> at bytecode.c:629 >> #33 0x00000000006fafc5 in funcall_lambda (fun=13161125, nargs=1, >> arg_vector=0x7f7ffffe15a0) at eval.c:2967 >> #34 0x00000000006f9882 in Ffuncall (nargs=2, args=0x7f7ffffe1598) >> at eval.c:2768 >> #35 0x00000000006fa3b2 in call1 (fn=15840, arg1=7336368) at eval.c:2617 >> #36 0x00000000005d67d7 in command_loop_1 () at keyboard.c:1482 >> #37 0x00000000006eaa57 in internal_condition_case ( >> bfun=0x5d5e50 <command_loop_1>, handlers=20688, hfun=0x5ec220 >> <cmd_error>) >> at eval.c:1332 >> #38 0x00000000005ec122 in command_loop_2 (ignore=0) at keyboard.c:1110 >> #39 0x00000000006ea218 in internal_catch (tag=50256, >> func=0x5ec0f0 <command_loop_2>, arg=0) at eval.c:1097 >> #40 0x00000000005d5414 in command_loop () at keyboard.c:1089 >> #41 0x00000000005d527c in recursive_edit_1 () at keyboard.c:695 >> #42 0x00000000005d559e in Frecursive_edit () at keyboard.c:766 >> #43 0x00000000005d301f in main (argc=1, argv=0x7f7ffffe1d78) at emacs.c:1713 >> >> The most recent output before it hangs: >> 7764: Start waiting 5 secs for SelectionNotify >> 7764: Received SelectionNotify >> 7764: Got event = 1 >> 7764: Get selection UTF8_STRING, type _EMACS_TMP_ >> 7764: Start waiting 5 secs for SelectionNotify >> 7764: Received SelectionNotify >> 7764: Got event = 1 >> 7764: Get selection COMPOUND_TEXT, type _EMACS_TMP_ >> 7764: Start waiting 5 secs for SelectionNotify >> 7764: Received SelectionNotify >> 7764: Got event = 1 >> 7764: Get selection STRING, type _EMACS_TMP_ >> 7764: Start waiting 5 secs for SelectionNotify >> 7764: Received SelectionNotify >> 7764: Got event = 1 >> 7764: Get selection TEXT, type _EMACS_TMP_ >> 7764: Start waiting 5 secs for SelectionNotify >> 7764: Received SelectionNotify >> 7764: Got event = 1 >> 7764: x_handle_selection_event >> 7764: x_handle_selection_clear >> 7764: Get selection UTF8_STRING, type _EMACS_TMP_ >> 7764: Start waiting 5 secs for SelectionNotify >> 7764: Received SelectionNotify >> 7764: Got event = 1 >> 7764: Get selection COMPOUND_TEXT, type _EMACS_TMP_ >> 7764: Start waiting 5 secs for SelectionNotify >> 7764: Received SelectionNotify >> 7764: Got event = 1 >> 7764: Get selection STRING, type _EMACS_TMP_ >> 7764: Start waiting 5 secs for SelectionNotify >> 7764: Received SelectionNotify >> 7764: Got event = 1 >> 7764: Get selection UTF8_STRING, type _EMACS_TMP_ >> 7764: Start waiting 5 secs for SelectionNotify > > -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE