emacs-devel
[Top][All Lists]
Advanced

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

Re: scratch/ns/refactor cc9dbaf 4/6: Fix macOS live resize drawing


From: Robert Pluim
Subject: Re: scratch/ns/refactor cc9dbaf 4/6: Fix macOS live resize drawing
Date: Wed, 23 Jun 2021 15:33:22 +0200

>>>>> 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
-- 



reply via email to

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