Skip to content

medium-large NA matrices hang emacs #1307

@r2evans

Description

@r2evans

I just transitioned to macos, and matrices that worked fine in linux/windows now bring emacs to a crawl.

The first time it happened, I was ablt to get a crash report (or Sample in macos-speak?) of the process, and while rather large, I'm hoping that it means something to one or more of you.

Large "Sample" of hung emacs/ess process
Analysis of sampling Emacs-arm64-11 (pid 5250) every 1 millisecond
Process:         Emacs-arm64-11 [5250]
Path:            /Applications/Emacs.app/Contents/MacOS/Emacs-arm64-11
Load Address:    0x100bf0000
Identifier:      org.gnu.Emacs
Version:         Version 29.4 (9.0)
Code Type:       ARM64
Platform:        macOS
Parent Process:  launchd [1]

Date/Time:       2024-12-15 20:29:06.992 -0500
Launch Time:     2024-12-14 07:50:21.754 -0500
OS Version:      macOS 15.2 (24C101)
Report Version:  7
Analysis Tool:   /usr/bin/sample

Physical footprint:         137.4M
Physical footprint (peak):  177.0M
Idle exit:                  untracked
----

Call graph:
    2137 Thread_1318082   DispatchQueue_1: com.apple.main-thread  (serial)
    + 2137 start  (in dyld) + 2840  [0x19c558274]
    +   2137 main  (in Emacs-arm64-11) + 4184  [0x100ca6d14]
    +     2137 Frecursive_edit  (in Emacs-arm64-11) + 232  [0x100ca8fd4]
    +       2137 recursive_edit_1  (in Emacs-arm64-11) + 216  [0x100ca8b94]
    +         2137 command_loop  (in Emacs-arm64-11) + 308  [0x100ca8d50]
    +           2137 internal_catch  (in Emacs-arm64-11) + 80  [0x100d2f2bc]
    +             2137 command_loop_2  (in Emacs-arm64-11) + 52  [0x100ca96d4]
    +               2137 internal_condition_case  (in Emacs-arm64-11) + 92  [0x100d2f8b0]
    +                 2137 command_loop_1  (in Emacs-arm64-11) + 696  [0x100ca99ac]
    +                   2137 read_key_sequence  (in Emacs-arm64-11) + 880  [0x100caa7c8]
    +                     2137 read_char  (in Emacs-arm64-11) + 3580  [0x100cacff0]
    +                       2137 sit_for  (in Emacs-arm64-11) + 120  [0x100bf8114]
    +                         2137 swallow_events  (in Emacs-arm64-11) + 40  [0x100cadbd0]
    +                           2137 get_input_pending  (in Emacs-arm64-11) + 120  [0x100cb00d4]
    +                             2137 readable_events  (in Emacs-arm64-11) + 28  [0x100cae8b4]
    +                               2137 timer_check  (in Emacs-arm64-11) + 132  [0x100cb0178]
    +                                 2137 timer_check_2  (in Emacs-arm64-11) + 820  [0x100cb0504]
    +                                   2137 call1  (in Emacs-arm64-11) + 44  [0x100cac154]
    +                                     2137 Ffuncall  (in Emacs-arm64-11) + 176  [0x100d2ee60]
    +                                       2137 funcall_general  (in Emacs-arm64-11) + 336  [0x100d319dc]
    +                                         2137 funcall_lambda  (in Emacs-arm64-11) + 204  [0x100d31d08]
    +                                           2137 fetch_and_exec_byte_code  (in Emacs-arm64-11) + 76  [0x100d34214]
    +                                             2137 exec_byte_code  (in Emacs-arm64-11) + 2260  [0x100d6be90]
    +                                               2137 funcall_subr  (in Emacs-arm64-11) + 100  [0x100d31a8c]
    +                                                 2137 Fapply  (in Emacs-arm64-11) + 128  [0x100d3117c]
    +                                                   2137 Ffuncall  (in Emacs-arm64-11) + 176  [0x100d2ee60]
    +                                                     2137 funcall_general  (in Emacs-arm64-11) + 56  [0x100d318c4]
    +                                                       2137 funcall_lambda  (in Emacs-arm64-11) + 652  [0x100d31ec8]
    +                                                         2137 Fprogn  (in Emacs-arm64-11) + 72  [0x100d2d4c4]
    +                                                           2137 eval_sub  (in Emacs-arm64-11) + 584  [0x100d2cef4]
    +                                                             2137 Flet  (in Emacs-arm64-11) + 576  [0x100d2ea5c]
    +                                                               2137 Fprogn  (in Emacs-arm64-11) + 72  [0x100d2d4c4]
    +                                                                 2137 eval_sub  (in Emacs-arm64-11) + 948  [0x100d2d060]
    +                                                                   2137 eval_sub  (in Emacs-arm64-11) + 584  [0x100d2cef4]
    +                                                                     2137 Fif  (in Emacs-arm64-11) + 64  [0x100d2d470]
    +                                                                       2137 eval_sub  (in Emacs-arm64-11) + 584  [0x100d2cef4]
    +                                                                         2137 Fprogn  (in Emacs-arm64-11) + 72  [0x100d2d4c4]
    +                                                                           2137 eval_sub  (in Emacs-arm64-11) + 948  [0x100d2d060]
    +                                                                             2137 eval_sub  (in Emacs-arm64-11) + 584  [0x100d2cef4]
    +                                                                               2137 Fsave_current_buffer  (in Emacs-arm64-11) + 36  [0x100d2203c]
    +                                                                                 2137 Fprogn  (in Emacs-arm64-11) + 72  [0x100d2d4c4]
    +                                                                                   2137 eval_sub  (in Emacs-arm64-11) + 584  [0x100d2cef4]
    +                                                                                     2137 Fif  (in Emacs-arm64-11) + 52  [0x100d2d464]
    +                                                                                       2137 Fprogn  (in Emacs-arm64-11) + 72  [0x100d2d4c4]
    +                                                                                         2137 eval_sub  (in Emacs-arm64-11) + 584  [0x100d2cef4]
    +                                                                                           2137 Fredisplay  (in Emacs-arm64-11) + 152  [0x100bf844c]
    +                                                                                             2137 redisplay_preserve_echo_area  (in Emacs-arm64-11) + 84  [0x100c1e9ac]
    +                                                                                               2135 redisplay_internal  (in Emacs-arm64-11) + 3892  [0x100c1b294]
    +                                                                                               ! 2135 redisplay_windows  (in Emacs-arm64-11) + 96  [0x100c3cb7c]
    +                                                                                               !   2135 redisplay_windows  (in Emacs-arm64-11) + 184  [0x100c3cbd4]
    +                                                                                               !     2135 internal_condition_case_1  (in Emacs-arm64-11) + 96  [0x100d2f934]
    +                                                                                               !       2135 redisplay_window_0  (in Emacs-arm64-11) + 44  [0x100c3d874]
    +                                                                                               !         1329 redisplay_window  (in Emacs-arm64-11) + 6216  [0x100c3f0cc]
    +                                                                                               !         : 670 try_window  (in Emacs-arm64-11) + 240  [0x100c1f6e4]
    +                                                                                               !         : | 652 display_line  (in Emacs-arm64-11) + 908  [0x100c1fce4]
    +                                                                                               !         : | + 649 get_next_display_element  (in Emacs-arm64-11) + 128  [0x100c0e480]
    +                                                                                               !         : | + ! 648 next_element_from_buffer  (in Emacs-arm64-11) + 236  [0x100c35af8]
    +                                                                                               !         : | + ! : 600 handle_stop  (in Emacs-arm64-11) + 368  [0x100c32e8c]
    +                                                                                               !         : | + ! : | 592 compute_stop_pos  (in Emacs-arm64-11) + 944  [0x100c337e4]
    +                                                                                               !         : | + ! : | + 567 composition_compute_stop_pos  (in Emacs-arm64-11) + 244  [0x100d94eb4]
    +                                                                                               !         : | + ! : | + ! 566 find_composition  (in Emacs-arm64-11) + 180  [0x100d93814]
    +                                                                                               !         : | + ! : | + ! : 458 Fnext_single_property_change  (in Emacs-arm64-11) + 216  [0x100d8f184]
    +                                                                                               !         : | + ! : | + ! : | 450 textget  (in Emacs-arm64-11) + 16  [0x100d8b87c]
    +                                                                                               !         : | + ! : | + ! : | + 132 lookup_char_property  (in Emacs-arm64-11) + 248  [0x100d8b97c]
    +                                                                                               !         : | + ! : | + ! : | + ! 30 Fassq  (in Emacs-arm64-11) + 236  [0x100d39828]
    +                                                                                               !         : | + ! : | + ! : | + ! : 17 CHECK_LIST_END  (in Emacs-arm64-11) + 20  [0x100d35930]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 7 NILP  (in Emacs-arm64-11) + 24  [0x100d35b38]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + 4 builtin_lisp_symbol  (in Emacs-arm64-11) + 0,28  [0x100d35688,0x100d356a4]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + 3 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d356a4]
    +                                                                                               !         : | + ! : | + ! : | + ! : | +   3 make_lisp_symbol  (in Emacs-arm64-11) + 0  [0x100d42320]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 6 NILP  (in Emacs-arm64-11) + 36  [0x100d35b44]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + 4 BASE_EQ  (in Emacs-arm64-11) + 20  [0x100d358fc]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + ! 4 XLI  (in Emacs-arm64-11) + 0  [0x100d42250]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + 2 BASE_EQ  (in Emacs-arm64-11) + 32  [0x100d35908]
    +                                                                                               !         : | + ! : | + ! : | + ! : | +   2 XLI  (in Emacs-arm64-11) + 0  [0x100d42250]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 4 BASE_EQ  (in Emacs-arm64-11) + 44  [0x100d35914]
    +                                                                                               !         : | + ! : | + ! : | + ! : 6 CHECK_LIST_END  (in Emacs-arm64-11) + 32  [0x100d3593c]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 4 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d356a4]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + 4 make_lisp_symbol  (in Emacs-arm64-11) + 0  [0x100d42320]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 2 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d356a4]
    +                                                                                               !         : | + ! : | + ! : | + ! : 4 NILP  (in Emacs-arm64-11) + 40  [0x100d35b48]
    +                                                                                               !         : | + ! : | + ! : | + ! : 3 CHECK_LIST_END  (in Emacs-arm64-11) + 48  [0x100d3594c]
    +                                                                                               !         : | + ! : | + ! : | + ! :   3 CHECK_TYPE  (in Emacs-arm64-11) + 0  [0x100d3b774]
    +                                                                                               !         : | + ! : | + ! : | + ! 17 Fassq  (in Emacs-arm64-11) + 40  [0x100d39764]
    +                                                                                               !         : | + ! : | + ! : | + ! : 8 CONSP  (in Emacs-arm64-11) + 16  [0x100d35890]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 8 TAGGEDP  (in Emacs-arm64-11) + 20  [0x100d42304]
    +                                                                                               !         : | + ! : | + ! : | + ! : |   8 XLI  (in Emacs-arm64-11) + 0  [0x100d42250]
    +                                                                                               !         : | + ! : | + ! : | + ! : 6 TAGGEDP  (in Emacs-arm64-11) + 36  [0x100d42314]
    +                                                                                               !         : | + ! : | + ! : | + ! : 3 CONSP  (in Emacs-arm64-11) + 16  [0x100d35890]
    +                                                                                               !         : | + ! : | + ! : | + ! 14 Fassq  (in Emacs-arm64-11) + 128  [0x100d397bc]
    +                                                                                               !         : | + ! : | + ! : | + ! : 9 XCAR  (in Emacs-arm64-11) + 12  [0x100d37fd0]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 6 XCONS  (in Emacs-arm64-11) + 12  [0x100d42370]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + 6 XLP  (in Emacs-arm64-11) + 0  [0x100d4231c]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 3 XCONS  (in Emacs-arm64-11) + 16  [0x100d42374]
    +                                                                                               !         : | + ! : | + ! : | + ! : 5 XCAR  (in Emacs-arm64-11) + 16,12  [0x100d37fd4,0x100d37fd0]
    +                                                                                               !         : | + ! : | + ! : | + ! 13 Fassq  (in Emacs-arm64-11) + 76  [0x100d39788]
    +                                                                                               !         : | + ! : | + ! : | + ! : 12 XCDR  (in Emacs-arm64-11) + 12  [0x100d358a4]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 10 XCONS  (in Emacs-arm64-11) + 12  [0x100d42370]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + 10 XLP  (in Emacs-arm64-11) + 0  [0x100d4231c]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 2 XCONS  (in Emacs-arm64-11) + 16  [0x100d42374]
    +                                                                                               !         : | + ! : | + ! : | + ! : 1 XCDR  (in Emacs-arm64-11) + 16  [0x100d358a8]
    +                                                                                               !         : | + ! : | + ! : | + ! 12 Fassq  (in Emacs-arm64-11) + 136  [0x100d397c4]
    +                                                                                               !         : | + ! : | + ! : | + ! : 5 TAGGEDP  (in Emacs-arm64-11) + 36  [0x100d42314]
    +                                                                                               !         : | + ! : | + ! : | + ! : 4 CONSP  (in Emacs-arm64-11) + 16  [0x100d35890]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 2 TAGGEDP  (in Emacs-arm64-11) + 20  [0x100d42304]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + 2 XLI  (in Emacs-arm64-11) + 0  [0x100d42250]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 2 TAGGEDP  (in Emacs-arm64-11) + 0  [0x100d422f0]
    +                                                                                               !         : | + ! : | + ! : | + ! : 3 CONSP  (in Emacs-arm64-11) + 16  [0x100d35890]
    +                                                                                               !         : | + ! : | + ! : | + ! 10 Fassq  (in Emacs-arm64-11) + 148  [0x100d397d0]
    +                                                                                               !         : | + ! : | + ! : | + ! : 9 XCAR  (in Emacs-arm64-11) + 12  [0x100d37fd0]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 5 XCONS  (in Emacs-arm64-11) + 16  [0x100d42374]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 4 XCONS  (in Emacs-arm64-11) + 12  [0x100d42370]
    +                                                                                               !         : | + ! : | + ! : | + ! : |   4 XLP  (in Emacs-arm64-11) + 0  [0x100d4231c]
    +                                                                                               !         : | + ! : | + ! : | + ! : 1 XCAR  (in Emacs-arm64-11) + 16  [0x100d37fd4]
    +                                                                                               !         : | + ! : | + ! : | + ! 8 Fassq  (in Emacs-arm64-11) + 116  [0x100d397b0]
    +                                                                                               !         : | + ! : | + ! : | + ! : 3 CONSP  (in Emacs-arm64-11) + 16  [0x100d35890]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 3 TAGGEDP  (in Emacs-arm64-11) + 20  [0x100d42304]
    +                                                                                               !         : | + ! : | + ! : | + ! : |   3 XLI  (in Emacs-arm64-11) + 0  [0x100d42250]
    +                                                                                               !         : | + ! : | + ! : | + ! : 3 CONSP  (in Emacs-arm64-11) + 16  [0x100d35890]
    +                                                                                               !         : | + ! : | + ! : | + ! : 2 TAGGEDP  (in Emacs-arm64-11) + 36  [0x100d42314]
    +                                                                                               !         : | + ! : | + ! : | + ! 8 Fassq  (in Emacs-arm64-11) + 156  [0x100d397d8]
    +                                                                                               !         : | + ! : | + ! : | + ! : 6 EQ  (in Emacs-arm64-11) + 40,64  [0x100d355b4,0x100d355cc]
    +                                                                                               !         : | + ! : | + ! : | + ! : 2 EQ  (in Emacs-arm64-11) + 28  [0x100d355a8]
    +                                                                                               !         : | + ! : | + ! : | + ! :   2 XLI  (in Emacs-arm64-11) + 0  [0x100d42250]
    +                                                                                               !         : | + ! : | + ! : | + ! 7 Fassq  (in Emacs-arm64-11) + 76,104,...  [0x100d39788,0x100d397a4,...]
    +                                                                                               !         : | + ! : | + ! : | + ! 4 Fassq  (in Emacs-arm64-11) + 104  [0x100d397a4]
    +                                                                                               !         : | + ! : | + ! : | + ! : 2 BASE_EQ  (in Emacs-arm64-11) + 20  [0x100d358fc]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 2 XLI  (in Emacs-arm64-11) + 0  [0x100d42250]
    +                                                                                               !         : | + ! : | + ! : | + ! : 2 BASE_EQ  (in Emacs-arm64-11) + 32  [0x100d35908]
    +                                                                                               !         : | + ! : | + ! : | + ! :   2 XLI  (in Emacs-arm64-11) + 0  [0x100d42250]
    +                                                                                               !         : | + ! : | + ! : | + ! 4 Fassq  (in Emacs-arm64-11) + 244  [0x100d39830]
    +                                                                                               !         : | + ! : | + ! : | + ! : 4 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d356a4]
    +                                                                                               !         : | + ! : | + ! : | + ! :   4 make_lisp_symbol  (in Emacs-arm64-11) + 0  [0x100d42320]
    +                                                                                               !         : | + ! : | + ! : | + ! 3 EQ  (in Emacs-arm64-11) + 244  [0x100d35680]
    +                                                                                               !         : | + ! : | + ! : | + ! 2 CHECK_LIST_END  (in Emacs-arm64-11) + 52  [0x100d35950]
    +                                                                                               !         : | + ! : | + ! : | + 57 lookup_char_property  (in Emacs-arm64-11) + 204  [0x100d8b950]
    +                                                                                               !         : | + ! : | + ! : | + ! 46 Fcdr  (in Emacs-arm64-11) + 12  [0x100d17044]
    +                                                                                               !         : | + ! : | + ! : | + ! : 23 CDR  (in Emacs-arm64-11) + 20  [0x100d17060]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 13 CONSP  (in Emacs-arm64-11) + 16  [0x100d1672c]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + 8 TAGGEDP  (in Emacs-arm64-11) + 20  [0x100d1e22c]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + ! 8 XLI  (in Emacs-arm64-11) + 0  [0x100d1e1a8]
    +                                                                                               !         : | + ! : | + ! : | + ! : | + 5 TAGGEDP  (in Emacs-arm64-11) + 0,20  [0x100d1e218,0x100d1e22c]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 6 TAGGEDP  (in Emacs-arm64-11) + 36  [0x100d1e23c]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 4 CONSP  (in Emacs-arm64-11) + 0,16  [0x100d1671c,0x100d1672c]
    +                                                                                               !         : | + ! : | + ! : | + ! : 23 CDR  (in Emacs-arm64-11) + 32  [0x100d1706c]
    +                                                                                               !         : | + ! : | + ! : | + ! :   16 XCDR  (in Emacs-arm64-11) + 16,12  [0x100d18440,0x100d1843c]
    +                                                                                               !         : | + ! : | + ! : | + ! :   7 XCDR  (in Emacs-arm64-11) + 12  [0x100d1843c]
    +                                                                                               !         : | + ! : | + ! : | + ! :     7 XCONS  (in Emacs-arm64-11) + 12  [0x100d171a8]
    +                                                                                               !         : | + ! : | + ! : | + ! :       7 XLP  (in Emacs-arm64-11) + 0  [0x100d18858]
    +                                                                                               !         : | + ! : | + ! : | + ! 8 CDR  (in Emacs-arm64-11) + 60  [0x100d17088]
    +                                                                                               !         : | + ! : | + ! : | + ! 3 Fcdr  (in Emacs-arm64-11) + 12  [0x100d17044]
    +                                                                                               !         : | + ! : | + ! : | + 37 lookup_char_property  (in Emacs-arm64-11) + 64,216,...  [0x100d8b8c4,0x100d8b95c,...]
    +                                                                                               !         : | + ! : | + ! : | + 34 lookup_char_property  (in Emacs-arm64-11) + 212  [0x100d8b958]
    +                                                                                               !         : | + ! : | + ! : | + ! 18 CONSP  (in Emacs-arm64-11) + 16  [0x100d8ba48]
    +                                                                                               !         : | + ! : | + ! : | + ! : 16 TAGGEDP  (in Emacs-arm64-11) + 20  [0x100d8d188]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 16 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! : 2 TAGGEDP  (in Emacs-arm64-11) + 0  [0x100d8d174]
    +                                                                                               !         : | + ! : | + ! : | + ! 11 TAGGEDP  (in Emacs-arm64-11) + 36  [0x100d8d198]
    +                                                                                               !         : | + ! : | + ! : | + ! 5 CONSP  (in Emacs-arm64-11) + 16  [0x100d8ba48]
    +                                                                                               !         : | + ! : | + ! : | + 29 lookup_char_property  (in Emacs-arm64-11) + 88  [0x100d8b8dc]
    +                                                                                               !         : | + ! : | + ! : | + ! 16 EQ  (in Emacs-arm64-11) + 28  [0x100d8ba84]
    +                                                                                               !         : | + ! : | + ! : | + ! : 16 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! 7 EQ  (in Emacs-arm64-11) + 64,40  [0x100d8baa8,0x100d8ba90]
    +                                                                                               !         : | + ! : | + ! : | + ! 6 EQ  (in Emacs-arm64-11) + 40  [0x100d8ba90]
    +                                                                                               !         : | + ! : | + ! : | + !   6 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + 27 lookup_char_property  (in Emacs-arm64-11) + 140  [0x100d8b910]
    +                                                                                               !         : | + ! : | + ! : | + ! 12 EQ  (in Emacs-arm64-11) + 28  [0x100d8ba84]
    +                                                                                               !         : | + ! : | + ! : | + ! : 12 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! 10 EQ  (in Emacs-arm64-11) + 40  [0x100d8ba90]
    +                                                                                               !         : | + ! : | + ! : | + ! : 10 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! 5 EQ  (in Emacs-arm64-11) + 40,64  [0x100d8ba90,0x100d8baa8]
    +                                                                                               !         : | + ! : | + ! : | + 19 lookup_char_property  (in Emacs-arm64-11) + 364  [0x100d8b9f0]
    +                                                                                               !         : | + ! : | + ! : | + ! 12 NILP  (in Emacs-arm64-11) + 36  [0x100d8a20c]
    +                                                                                               !         : | + ! : | + ! : | + ! : 9 BASE_EQ  (in Emacs-arm64-11) + 20  [0x100d8d1dc]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 9 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! : 3 BASE_EQ  (in Emacs-arm64-11) + 32  [0x100d8d1e8]
    +                                                                                               !         : | + ! : | + ! : | + ! :   3 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! 5 NILP  (in Emacs-arm64-11) + 24  [0x100d8a200]
    +                                                                                               !         : | + ! : | + ! : | + ! : 4 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8b648]
    +                                                                                               !         : | + ! : | + ! : | + ! : 1 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8b648]
    +                                                                                               !         : | + ! : | + ! : | + ! :   1 make_lisp_symbol  (in Emacs-arm64-11) + 0  [0x100d8dcec]
    +                                                                                               !         : | + ! : | + ! : | + ! 2 BASE_EQ  (in Emacs-arm64-11) + 44  [0x100d8d1f4]
    +                                                                                               !         : | + ! : | + ! : | + 18 EQ  (in Emacs-arm64-11) + 244  [0x100d8bb5c]
    +                                                                                               !         : | + ! : | + ! : | + 18 lookup_char_property  (in Emacs-arm64-11) + 224  [0x100d8b964]
    +                                                                                               !         : | + ! : | + ! : | + ! 9 NILP  (in Emacs-arm64-11) + 24  [0x100d8a200]
    +                                                                                               !         : | + ! : | + ! : | + ! : 5 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8b648]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 5 make_lisp_symbol  (in Emacs-arm64-11) + 0  [0x100d8dcec]
    +                                                                                               !         : | + ! : | + ! : | + ! : 4 builtin_lisp_symbol  (in Emacs-arm64-11) + 0,28  [0x100d8b62c,0x100d8b648]
    +                                                                                               !         : | + ! : | + ! : | + ! 5 NILP  (in Emacs-arm64-11) + 36  [0x100d8a20c]
    +                                                                                               !         : | + ! : | + ! : | + ! : 4 BASE_EQ  (in Emacs-arm64-11) + 20  [0x100d8d1dc]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 4 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! : 1 BASE_EQ  (in Emacs-arm64-11) + 32  [0x100d8d1e8]
    +                                                                                               !         : | + ! : | + ! : | + ! :   1 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! 2 BASE_EQ  (in Emacs-arm64-11) + 44  [0x100d8d1f4]
    +                                                                                               !         : | + ! : | + ! : | + ! 2 NILP  (in Emacs-arm64-11) + 0  [0x100d8a1e8]
    +                                                                                               !         : | + ! : | + ! : | + 14 lookup_char_property  (in Emacs-arm64-11) + 128  [0x100d8b904]
    +                                                                                               !         : | + ! : | + ! : | + ! 9 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8b648]
    +                                                                                               !         : | + ! : | + ! : | + ! : 9 make_lisp_symbol  (in Emacs-arm64-11) + 0  [0x100d8dcec]
    +                                                                                               !         : | + ! : | + ! : | + ! 5 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8b648]
    +                                                                                               !         : | + ! : | + ! : | + 13 lookup_char_property  (in Emacs-arm64-11) + 200  [0x100d8b94c]
    +                                                                                               !         : | + ! : | + ! : | + ! 11 XCDR  (in Emacs-arm64-11) + 12  [0x100d8bb70]
    +                                                                                               !         : | + ! : | + ! : | + ! : 9 XCONS  (in Emacs-arm64-11) + 12  [0x100d8de0c]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 9 XLP  (in Emacs-arm64-11) + 0  [0x100d8d1a4]
    +                                                                                               !         : | + ! : | + ! : | + ! : 2 XCONS  (in Emacs-arm64-11) + 16  [0x100d8de10]
    +                                                                                               !         : | + ! : | + ! : | + ! 2 XCDR  (in Emacs-arm64-11) + 16  [0x100d8bb74]
    +                                                                                               !         : | + ! : | + ! : | + 13 lookup_char_property  (in Emacs-arm64-11) + 256  [0x100d8b984]
    +                                                                                               !         : | + ! : | + ! : | + ! 7 NILP  (in Emacs-arm64-11) + 24  [0x100d8a200]
    +                                                                                               !         : | + ! : | + ! : | + ! : 6 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8b648]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 6 make_lisp_symbol  (in Emacs-arm64-11) + 0  [0x100d8dcec]
    +                                                                                               !         : | + ! : | + ! : | + ! : 1 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8b648]
    +                                                                                               !         : | + ! : | + ! : | + ! 4 NILP  (in Emacs-arm64-11) + 36  [0x100d8a20c]
    +                                                                                               !         : | + ! : | + ! : | + ! : 3 BASE_EQ  (in Emacs-arm64-11) + 32  [0x100d8d1e8]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 3 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! : 1 BASE_EQ  (in Emacs-arm64-11) + 20  [0x100d8d1dc]
    +                                                                                               !         : | + ! : | + ! : | + ! :   1 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! 2 BASE_EQ  (in Emacs-arm64-11) + 44  [0x100d8d1f4]
    +                                                                                               !         : | + ! : | + ! : | + 12 lookup_char_property  (in Emacs-arm64-11) + 72  [0x100d8b8cc]
    +                                                                                               !         : | + ! : | + ! : | + ! 11 XCAR  (in Emacs-arm64-11) + 12  [0x100d8ba5c]
    +                                                                                               !         : | + ! : | + ! : | + ! : 6 XCONS  (in Emacs-arm64-11) + 12  [0x100d8de0c]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 6 XLP  (in Emacs-arm64-11) + 0  [0x100d8d1a4]
    +                                                                                               !         : | + ! : | + ! : | + ! : 5 XCONS  (in Emacs-arm64-11) + 16,0  [0x100d8de10,0x100d8de00]
    +                                                                                               !         : | + ! : | + ! : | + ! 1 XCAR  (in Emacs-arm64-11) + 16  [0x100d8ba60]
    +                                                                                               !         : | + ! : | + ! : | + 11 lookup_char_property  (in Emacs-arm64-11) + 56  [0x100d8b8bc]
    +                                                                                               !         : | + ! : | + ! : | + ! 7 CONSP  (in Emacs-arm64-11) + 16  [0x100d8ba48]
    +                                                                                               !         : | + ! : | + ! : | + ! : 5 TAGGEDP  (in Emacs-arm64-11) + 20  [0x100d8d188]
    +                                                                                               !         : | + ! : | + ! : | + ! : | 5 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! : 2 TAGGEDP  (in Emacs-arm64-11) + 0  [0x100d8d174]
    +                                                                                               !         : | + ! : | + ! : | + ! 3 CONSP  (in Emacs-arm64-11) + 16  [0x100d8ba48]
    +                                                                                               !         : | + ! : | + ! : | + ! 1 TAGGEDP  (in Emacs-arm64-11) + 36  [0x100d8d198]
    +                                                                                               !         : | + ! : | + ! : | + 6 lookup_char_property  (in Emacs-arm64-11) + 380  [0x100d8ba00]
    +                                                                                               !         : | + ! : | + ! : | + ! 3 TAGGEDP  (in Emacs-arm64-11) + 36  [0x100d8d198]
    +                                                                                               !         : | + ! : | + ! : | + ! 2 CONSP  (in Emacs-arm64-11) + 16  [0x100d8ba48]
    +                                                                                               !         : | + ! : | + ! : | + ! : 2 TAGGEDP  (in Emacs-arm64-11) + 20  [0x100d8d188]
    +                                                                                               !         : | + ! : | + ! : | + ! :   2 XLI  (in Emacs-arm64-11) + 0  [0x100d8d1a0]
    +                                                                                               !         : | + ! : | + ! : | + ! 1 CONSP  (in Emacs-arm64-11) + 16  [0x100d8ba48]
    +                                                                                               !         : | + ! : | + ! : | + 5 NILP  (in Emacs-arm64-11) + 40  [0x100d8a210]
    +                                                                                               !         : | + ! : | + ! : | + 3 lookup_char_property  (in Emacs-arm64-11) + 44  [0x100d8b8b0]
    +                                                                                               !         : | + ! : | + ! : | + ! 2 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8b648]
    +                                                                                               !         : | + ! : | + ! : | + ! : 2 make_lisp_symbol  (in Emacs-arm64-11) + 0  [0x100d8dcec]
    +                                                                                               !         : | + ! : | + ! : | + ! 1 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8b648]
    +                                                                                               !         : | + ! : | + ! : | + 2 Fassq  (in Emacs-arm64-11) + 268  [0x100d39848]
    +                                                                                               !         : | + ! : | + ! : | 6 lookup_char_property  (in Emacs-arm64-11) + 428  [0x100d8ba30]
    +                                                                                               !         : | + ! : | + ! : | 2 textget  (in Emacs-arm64-11) + 16  [0x100d8b87c]
    +                                                                                               !         : | + ! : | + ! : 59 Fnext_single_property_change  (in Emacs-arm64-11) + 196  [0x100d8f170]
    +                                                                                               !         : | + ! : | + ! : | 59 next_interval  (in Emacs-arm64-11) + 60,96,...  [0x100d8a9c8,0x100d8a9ec,...]
    +                                                                                               !         : | + ! : | + ! : 22 Fnext_single_property_change  (in Emacs-arm64-11) + 240  [0x100d8f19c]
    +                                                                                               !         : | + ! : | + ! : | 15 NILP  (in Emacs-arm64-11) + 36  [0x100d8e4d0]
    +                                                                                               !         : | + ! : | + ! : | + 8 BASE_EQ  (in Emacs-arm64-11) + 20  [0x100d9010c]
    +                                                                                               !         : | + ! : | + ! : | + ! 8 XLI  (in Emacs-arm64-11) + 0  [0x100d925e4]
    +                                                                                               !         : | + ! : | + ! : | + 7 BASE_EQ  (in Emacs-arm64-11) + 32  [0x100d90118]
    +                                                                                               !         : | + ! : | + ! : | +   7 XLI  (in Emacs-arm64-11) + 0  [0x100d925e4]
    +                                                                                               !         : | + ! : | + ! : | 7 NILP  (in Emacs-arm64-11) + 24  [0x100d8e4c4]
    +                                                                                               !         : | + ! : | + ! : |   4 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8e500]
    +                                                                                               !         : | + ! : | + ! : |   ! 4 make_lisp_symbol  (in Emacs-arm64-11) + 0  [0x100d926e4]
    +                                                                                               !         : | + ! : | + ! : |   3 builtin_lisp_symbol  (in Emacs-arm64-11) + 28  [0x100d8e500]
    +                                                                                               !         : | + ! : | + ! : 8 Fnext_single_property_change  (in Emacs-arm64-11) + 228  [0x100d8f190]
    +                                                                                               !         : | + ! : | + ! : | 4 EQ  (in Emacs-arm64-11) + 40  [0x100d8e194]
    +                                                                                               !         : | + ! : | + ! : | + 4 XLI  (in Emacs-arm64-11) + 0  [0x100d925e4]
    +                                                                                               !         : | + ! : | + ! : | 3 EQ  (in Emacs-arm64-11) + 28  [0x100d8e188]
    +                                                                                               !         : | + ! : | + ! : | + 3 XLI  (in Emacs-arm64-11) + 0  [0x100d925e4]
...

(truncated for github comment length)

GNU Emacs 29.4 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.60 Version 12.6.6 (Build 21G646)) of 2024-08-02
ess-version:  [elpa: 20241127.1620] (loaded from /Users/r2/.emacs.d/elpa/ess-20241127.1620/)

It's not a large matrix. In fact, while this works just fine

`colnames<-`(matrix(1, nr=269, nc=26), LETTERS)

This causes emacs/ess to crawl (or nearly-hang):

`colnames<-`(matrix(NA, nr=269, nc=26), LETTERS)

The presence of column names isn't critical but seems to make it slightly worse (so try without the \colnames<-`` and it should still slow down for you).

On a ubuntu-24.04 box, doing the same thing does produce very-slightly-difference responsiveness (the NA code is very slightly sluggish) but nowhere near as bad as this. I hope the fact that something can be observed in linux helps troubleshoot this, though I never though to mention it before I switched to macos.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions