From: Robert Pluim <rpluim@gmail.com>
To: emacs-devel@gnu.org
Cc: Alan Third <alan@idiocy.org>
Subject: Re: scratch/ns/refactor cc9dbaf 4/6: Fix macOS live resize drawing
Date: Wed, 23 Jun 2021 15:33:22 +0200 [thread overview]
Message-ID: <87czscso2l.fsf@gmail.com> (raw)
In-Reply-To: <20210620155628.D095320B76@vcs0.savannah.gnu.org> (Alan Third's message of "Sun, 20 Jun 2021 11:56:28 -0400 (EDT)")
>>>>> On Sun, 20 Jun 2021 11:56:28 -0400 (EDT), alan@idiocy.org (Alan Third) said:
Alan> branch: scratch/ns/refactor
Alan> commit cc9dbaf2e35fd5b8e5132e68ff459ab75012da45
Alan> Author: Alan Third <alan@idiocy.org>
Alan> Commit: Alan Third <alan@idiocy.org>
Alan> Fix macOS live resize drawing
Hi Alan, I get a crash in redisplay when resizing my second frame
using the mouse. At eval.c:1805 'waiting_for_input' is true, so we
call emacs_abort
Reverting this commit seems to fix it (my current test case is to
visit eval.c, go to line 1805, and then resize the frame).
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x00007fff204c392e libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff204f25bd libsystem_pthread.dylib`pthread_kill + 263
frame #2: 0x00007fff203d6be5 libsystem_c.dylib`raise + 26
frame #3: 0x00000001003a956c emacs`terminate_due_to_signal(sig=6, backtrace_limit=40) at emacs.c:437:3
frame #4: 0x00000001003a9993 emacs`emacs_abort at sysdep.c:2282:3
frame #5: 0x0000000100357ec8 emacs`ns_term_shutdown(sig=6) at nsterm.m:5471:7
frame #6: 0x0000000100158a47 emacs`shut_down_emacs(sig=6, stuff=0x0000000000000000) at emacs.c:2736:3
frame #7: 0x00000001003a9504 emacs`terminate_due_to_signal(sig=6, backtrace_limit=40) at emacs.c:420:11
frame #8: 0x00000001003a9993 emacs`emacs_abort at sysdep.c:2282:3
* frame #9: 0x0000000100256090 emacs`signal_or_quit(error_symbol=0x000000000000beb0, data=0x0000000150178c13, keyboard_quit=false) at eval.c:1805:5
frame #10: 0x00000001003ac2b7 emacs`Fsignal(error_symbol=0x000000000000beb0, data=0x0000000150178c13) at eval.c:1775:3
frame #11: 0x00000001003ac30d emacs`xsignal(error_symbol=0x000000000000beb0, data=0x0000000150178c13) at lisp.h:4136:3
frame #12: 0x00000001003ac350 emacs`xsignal3(error_symbol=0x000000000000beb0, arg1=0x000000014fd0dae4, arg2=0x000000000000c6b2, arg3=0x000000000000c6b2) at eval.c:1944:3
frame #13: 0x00000001002c20d8 emacs`scan_lists(from0=12717, count=-1, depth=-1, sexpflag=true) at syntax.c:2958:3
frame #14: 0x00000001002c24ef emacs`Fscan_sexps(from=0x000000000000c6b6, count=0xfffffffffffffffe) at syntax.c:3087:10
frame #15: 0x000000010025d60b emacs`funcall_subr(subr=0x0000000100403810, numargs=2, args=0x00007ffeefbed9d0) at eval.c:3116:19
frame #16: 0x000000010025c3e5 emacs`Ffuncall(nargs=3, args=0x00007ffeefbed9c8) at eval.c:3039:11
frame #17: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x000000010502605c, vector=0x0000000105025b9d, maxdepth=0x000000000000001a, args_template=0x0000000000000802, nargs=2, args=0x00007ffeefbee0e0) at bytecode.c:632:12
frame #18: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x0000000105025b45, syms_left=0x0000000000000802, nargs=2, args=0x00007ffeefbee0d0) at eval.c:3163:10
frame #19: 0x000000010025d9bf emacs`funcall_lambda(fun=0x0000000105025b45, nargs=2, arg_vector=0x00007ffeefbee0d0) at eval.c:3244:11
frame #20: 0x000000010025c440 emacs`Ffuncall(nargs=3, args=0x00007ffeefbee0c8) at eval.c:3043:11
frame #21: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x0000000105248d3c, vector=0x0000000105248d25, maxdepth=0x0000000000000016, args_template=0x0000000000000802, nargs=1, args=0x00007ffeefbee798) at bytecode.c:632:12
frame #22: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x0000000105248ced, syms_left=0x0000000000000802, nargs=1, args=0x00007ffeefbee790) at eval.c:3163:10
frame #23: 0x000000010025d9bf emacs`funcall_lambda(fun=0x0000000105248ced, nargs=1, arg_vector=0x00007ffeefbee790) at eval.c:3244:11
frame #24: 0x000000010025c440 emacs`Ffuncall(nargs=2, args=0x00007ffeefbee788) at eval.c:3043:11
frame #25: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001056e8a34, vector=0x00000001056e89dd, maxdepth=0x0000000000000012, args_template=0x000000000000080a, nargs=2, args=0x00007ffeefbeee78) at bytecode.c:632:12
frame #26: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001056e89ad, syms_left=0x000000000000080a, nargs=2, args=0x00007ffeefbeee68) at eval.c:3163:10
frame #27: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001056e89ad, nargs=2, arg_vector=0x00007ffeefbeee68) at eval.c:3244:11
frame #28: 0x000000010025c440 emacs`Ffuncall(nargs=3, args=0x00007ffeefbeee60) at eval.c:3043:11
frame #29: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001056e8d14, vector=0x00000001056e8935, maxdepth=0x000000000000001a, args_template=0x0000000000000406, nargs=1, args=0x00007ffeefbef588) at bytecode.c:632:12
frame #30: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001056e8905, syms_left=0x0000000000000406, nargs=1, args=0x00007ffeefbef580) at eval.c:3163:10
frame #31: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001056e8905, nargs=1, arg_vector=0x00007ffeefbef580) at eval.c:3244:11
frame #32: 0x000000010025c440 emacs`Ffuncall(nargs=2, args=0x00007ffeefbef578) at eval.c:3043:11
frame #33: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001052e9d74, vector=0x00000001052e8bcd, maxdepth=0x000000000000003e, args_template=0x0000000000000c0a, nargs=3, args=0x00007ffeefbefd58) at bytecode.c:632:12
frame #34: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001052e8b9d, syms_left=0x0000000000000c0a, nargs=3, args=0x00007ffeefbefd40) at eval.c:3163:10
frame #35: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001052e8b9d, nargs=3, arg_vector=0x00007ffeefbefd40) at eval.c:3244:11
frame #36: 0x000000010025c440 emacs`Ffuncall(nargs=4, args=0x00007ffeefbefd38) at eval.c:3043:11
frame #37: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001052ebdec, vector=0x00000001052e7b95, maxdepth=0x000000000000002e, args_template=0x0000000000000c0e, nargs=3, args=0x00007ffeefbf04c0) at bytecode.c:632:12
frame #38: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001052e7b65, syms_left=0x0000000000000c0e, nargs=3, args=0x00007ffeefbf04a8) at eval.c:3163:10
frame #39: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001052e7b65, nargs=3, arg_vector=0x00007ffeefbf04a8) at eval.c:3244:11
frame #40: 0x000000010025c440 emacs`Ffuncall(nargs=4, args=0x00007ffeefbf04a0) at eval.c:3043:11
frame #41: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001052ebefc, vector=0x00000001052e7ac5, maxdepth=0x000000000000001e, args_template=0x0000000000000c0a, nargs=2, args=0x00007ffeefbf0b88) at bytecode.c:632:12
frame #42: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001052e7a95, syms_left=0x0000000000000c0a, nargs=2, args=0x00007ffeefbf0b78) at eval.c:3163:10
frame #43: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001052e7a95, nargs=2, arg_vector=0x00007ffeefbf0b78) at eval.c:3244:11
frame #44: 0x000000010025c440 emacs`Ffuncall(nargs=3, args=0x00007ffeefbf0b70) at eval.c:3043:11
frame #45: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001052bc12c, vector=0x00000001500edead, maxdepth=0x000000000000002a, args_template=0x0000000000000406, nargs=1, args=0x00007ffeefbf1530) at bytecode.c:632:12
frame #46: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001500edef5, syms_left=0x0000000000000406, nargs=1, args=0x00007ffeefbf1528) at eval.c:3163:10
frame #47: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001500edef5, nargs=1, arg_vector=0x00007ffeefbf1528) at eval.c:3244:11
frame #48: 0x000000010025c440 emacs`Ffuncall(nargs=2, args=0x00007ffeefbf1520) at eval.c:3043:11
frame #49: 0x000000010025cbf3 emacs`run_hook_wrapped_funcall(nargs=2, args=0x00007ffeefbf1520) at eval.c:2776:9
frame #50: 0x000000010025ca17 emacs`run_hook_with_args(nargs=2, args=0x00007ffeefbf1520, funcall=(emacs`run_hook_wrapped_funcall at eval.c:2772)) at eval.c:2857:14
frame #51: 0x000000010025cba4 emacs`Frun_hook_wrapped(nargs=2, args=0x00007ffeefbf1520) at eval.c:2791:10
frame #52: 0x000000010025d50b emacs`funcall_subr(subr=0x00000001004011a0, numargs=2, args=0x00007ffeefbf1520) at eval.c:3094:12
frame #53: 0x000000010025c3e5 emacs`Ffuncall(nargs=3, args=0x00007ffeefbf1518) at eval.c:3039:11
frame #54: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001052bc364, vector=0x00000001052bbf55, maxdepth=0x0000000000000042, args_template=0x000000000000080a, nargs=2, args=0x00007ffeefbf1c70) at bytecode.c:632:12
frame #55: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x00000001052bbf25, syms_left=0x000000000000080a, nargs=2, args=0x00007ffeefbf1c60) at eval.c:3163:10
frame #56: 0x000000010025d9bf emacs`funcall_lambda(fun=0x00000001052bbf25, nargs=2, arg_vector=0x00007ffeefbf1c60) at eval.c:3244:11
frame #57: 0x000000010025c440 emacs`Ffuncall(nargs=3, args=0x00007ffeefbf1c58) at eval.c:3043:11
frame #58: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001056e3f2c, vector=0x000000010505acad, maxdepth=0x000000000000006e, args_template=0x0000000000000802, nargs=2, args=0x00007ffeefbf2498) at bytecode.c:632:12
frame #59: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x000000010505ac7d, syms_left=0x0000000000000802, nargs=2, args=0x00007ffeefbf2488) at eval.c:3163:10
frame #60: 0x000000010025d9bf emacs`funcall_lambda(fun=0x000000010505ac7d, nargs=2, arg_vector=0x00007ffeefbf2488) at eval.c:3244:11
frame #61: 0x000000010025c440 emacs`Ffuncall(nargs=3, args=0x00007ffeefbf2480) at eval.c:3043:11
frame #62: 0x00000001002c89c3 emacs`exec_byte_code(bytestr=0x00000001056e3fec, vector=0x000000010505a915, maxdepth=0x0000000000000032, args_template=0x0000000000000406, nargs=1, args=0x00007ffeefbf2c20) at bytecode.c:632:12
frame #63: 0x0000000100260fd0 emacs`fetch_and_exec_byte_code(fun=0x000000010505a8e5, syms_left=0x0000000000000406, nargs=1, args=0x00007ffeefbf2c18) at eval.c:3163:10
frame #64: 0x000000010025d9bf emacs`funcall_lambda(fun=0x000000010505a8e5, nargs=1, arg_vector=0x00007ffeefbf2c18) at eval.c:3244:11
frame #65: 0x000000010025c440 emacs`Ffuncall(nargs=2, args=0x00007ffeefbf2c10) at eval.c:3043:11
frame #66: 0x0000000100255cfa emacs`internal_condition_case_n(bfun=(emacs`Ffuncall at eval.c:3004), nargs=2, args=0x00007ffeefbf2c10, handlers=0x0000000000000030, hfun=(emacs`safe_eval_handler at xdisp.c:2960)) at eval.c:1642:25
frame #67: 0x000000010004617f emacs`safe__call(inhibit_quit=false, nargs=2, func=0x0000000004852150, ap=0x00007ffeefbf2e60) at xdisp.c:2994:13
frame #68: 0x0000000100044b84 emacs`safe_call(nargs=2, func=0x0000000004852150) at xdisp.c:3009:12
frame #69: 0x00000001000461f4 emacs`safe_call1(fn=0x0000000004852150, arg=0x000000000000c2d6) at xdisp.c:3020:10
frame #70: 0x000000010007e283 emacs`handle_fontified_prop(it=0x00007ffeefbf49e0) at xdisp.c:4326:3
frame #71: 0x000000010007ca51 emacs`handle_stop(it=0x00007ffeefbf49e0) at xdisp.c:3854:14
frame #72: 0x000000010008286e emacs`next_element_from_buffer(it=0x00007ffeefbf49e0) at xdisp.c:8907:4
frame #73: 0x00000001000387e7 emacs`get_next_display_element(it=0x00007ffeefbf49e0) at xdisp.c:7496:15
frame #74: 0x0000000100056d56 emacs`display_line(it=0x00007ffeefbf49e0, cursor_vpos=32) at xdisp.c:23567:12
frame #75: 0x0000000100056371 emacs`try_window(window=0x00000001509d2f15, pos=(charpos = 10898, bytepos = 10898), flags=1) at xdisp.c:19494:11
frame #76: 0x0000000100095145 emacs`redisplay_window(window=0x00000001509d2f15, just_this_one_p=false) at xdisp.c:18904:8
frame #77: 0x000000010009325d emacs`redisplay_window_0(window=0x00000001509d2f15) at xdisp.c:16618:5
frame #78: 0x00000001002558da emacs`internal_condition_case_1(bfun=(emacs`redisplay_window_0 at xdisp.c:16616), arg=0x00000001509d2f15, handlers=0x000000010570bb43, hfun=(emacs`redisplay_window_error at xdisp.c:16609)) at eval.c:1502:25
frame #79: 0x0000000100091afb emacs`redisplay_windows(window=0x00000001509d2f15) at xdisp.c:16598:4
frame #80: 0x0000000100050eda emacs`redisplay_internal at xdisp.c:16066:5
frame #81: 0x0000000100054ef9 emacs`redisplay at xdisp.c:15282:3
frame #82: 0x0000000100363550 emacs`-[EmacsView layoutSublayersOfLayer:](self=0x000000014fae28b0, _cmd="layoutSublayersOfLayer:", layer=0x0000000136474150) at nsterm.m:8063:7
frame #83: 0x00007fff26d6d8d3 QuartzCore`-[CALayer layoutSublayers] + 326
frame #84: 0x00007fff26d6d239 QuartzCore`CA::Layer::layout_if_needed(CA::Transaction*) + 619
frame #85: 0x00007fff26eb907f QuartzCore`CA::Context::commit_transaction(CA::Transaction*, double, double*) + 655
frame #86: 0x00007fff26d4f0df QuartzCore`CA::Transaction::commit() + 713
frame #87: 0x00007fff22e3ef5c AppKit`-[NSWindow _setFrameCommon:display:fromServer:] + 3985
frame #88: 0x0000000100367222 emacs`-[EmacsWindow setFrame:display:](self=0x000000014fae2cb0, _cmd="setFrame:display:", windowFrame=(origin = (x = -0, y = 123), size = (width = 844, height = 902)), displayViews=YES) at nsterm.m:8933:3
frame #89: 0x00007fff23197a97 AppKit`-[NSWindow(NSWindowResizing) _resizeWithEvent:] + 2600
frame #90: 0x00007fff2307ec7f AppKit`-[NSTitledFrame attemptResizeWithEvent:] + 177
frame #91: 0x00007fff2307e9fa AppKit`-[NSThemeFrame handleMouseDown:] + 298
frame #92: 0x00007fff23111a20 AppKit`-[NSThemeFrame mouseDown:] + 30
frame #93: 0x00007fff230052ae AppKit`-[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4961
frame #94: 0x00007fff22f74a98 AppKit`-[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2594
frame #95: 0x00007fff22f73e56 AppKit`-[NSWindow(NSEventRouting) sendEvent:] + 347
frame #96: 0x00007fff22f72264 AppKit`-[NSApplication(NSEvent) sendEvent:] + 352
frame #97: 0x0000000100358407 emacs`-[EmacsApp sendEvent:](self=0x00000001031652d0, _cmd="sendEvent:", theEvent=0x00000001428cba80) at nsterm.m:5644:3
frame #98: 0x00007fff2324b5fd AppKit`-[NSApplication _handleEvent:] + 65
frame #99: 0x00007fff22ddb25e AppKit`-[NSApplication run] + 623
Robert
--
next prev parent reply other threads:[~2021-06-23 13:33 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210620155625.12886.44156@vcs0.savannah.gnu.org>
[not found] ` <20210620155629.258B620B76@vcs0.savannah.gnu.org>
2021-06-23 12:37 ` scratch/ns/refactor 06d9e72 5/6: Move NS port toolbar handling to the window Robert Pluim
2021-06-23 14:27 ` Alan Third
2021-06-23 14:57 ` Robert Pluim
2021-06-23 16:06 ` Alan Third
2021-06-24 13:58 ` Robert Pluim
2021-06-24 14:05 ` Alan Third
2021-06-24 14:07 ` Alan Third
2021-06-24 14:15 ` Robert Pluim
2021-06-24 14:16 ` Alan Third
2021-06-24 14:32 ` Alan Third
2021-06-24 14:59 ` Robert Pluim
2021-06-24 14:11 ` Robert Pluim
[not found] ` <20210620155628.D095320B76@vcs0.savannah.gnu.org>
2021-06-23 13:33 ` Robert Pluim [this message]
2021-06-23 14:05 ` scratch/ns/refactor cc9dbaf 4/6: Fix macOS live resize drawing Alan Third
2021-06-23 14:32 ` Robert Pluim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87czscso2l.fsf@gmail.com \
--to=rpluim@gmail.com \
--cc=alan@idiocy.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).