lean.nvim icon indicating copy to clipboard operation
lean.nvim copied to clipboard

Connected Lean 3 LSP often segfaults

Open Julian opened this issue 2 years ago • 19 comments

~~I am assuming this is ARM-specific, otherwise I presume otherwise it'd be reported by others, but I often get segmentation faults in buffers with Lean 3.~~ This now seems not-OS dependent.

I enabled core dumps and grabbed the below:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               lean [82631]
Path:                  /Users/USER/*/lean
Identifier:            lean
Version:               ???
Code Type:             ARM-64 (Native)
Parent Process:        node [82628]
User ID:               501

Date/Time:             2021-11-16 11:13:37.4367 -0500
OS Version:            macOS 12.0.1 (21A559)
Report Version:        12
Anonymous UUID:        FF557271-B3EE-C222-A3E1-8A5FB0C2AF13

Sleep/Wake UUID:       28D7EF81-1729-4CDF-ADA3-AED62D30836C

Time Awake Since Boot: 510000 seconds
Time Since Wake:       1469 seconds

System Integrity Protection: enabled

Crashed Thread:        7

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x000000000000000c
Exception Codes:       0x0000000000000001, 0x000000000000000c
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [82631]

VM Region Info: 0xc is not in any region.  Bytes before following region: 4341874676
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      __TEXT                      102cbc000-1034e0000    [ 8336K] r-x/r-x SM=COW  ...s/USER/*/lean

Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x1802db8c4 __read_nocancel + 8
1   libsystem_c.dylib             	       0x18020af98 __sread + 24
2   libsystem_c.dylib             	       0x1801e6424 _sread + 32
3   libsystem_c.dylib             	       0x1801e63b8 __srefill1 + 36
4   libsystem_c.dylib             	       0x180201450 __srget + 24
5   libsystem_c.dylib             	       0x18020f38c getc + 72
6   libc++.1.dylib                	       0x1802845a4 std::__1::__stdinbuf<char>::__getchar(bool) + 160
7   lean                          	       0x102cdad04 std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) + 152
8   lean                          	       0x102ccf310 lean::server::run() + 196
9   lean                          	       0x102cc222c main + 3196
10  dyld                          	       0x103bd90f4 start + 520

Thread 1:
0   libsystem_kernel.dylib        	       0x1802dd0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x180315ab4 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x180263e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x102cf7834 lean::single_timer::worker() + 496
4   lean                          	       0x102cf4d7c lean::lthread::imp::_main(void*) + 44
5   libsystem_pthread.dylib       	       0x1803154ec _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1803102d0 thread_start + 8

Thread 2:
0   libsystem_kernel.dylib        	       0x1802dd0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x180315ab4 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x180263e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x102cf7834 lean::single_timer::worker() + 496
4   lean                          	       0x102cf4d7c lean::lthread::imp::_main(void*) + 44
5   libsystem_pthread.dylib       	       0x1803154ec _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1803102d0 thread_start + 8

Thread 3:
0   libsystem_kernel.dylib        	       0x1802dd0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x180315ab4 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x180263e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x102ec2684 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 244
4   lean                          	       0x102ec2350 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 968
5   lean                          	       0x102cf4d7c lean::lthread::imp::_main(void*) + 44
6   libsystem_pthread.dylib       	       0x1803154ec _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1803102d0 thread_start + 8

Thread 4:
0   libsystem_kernel.dylib        	       0x1802dd0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x180315ab4 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x180263e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x102ec2684 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 244
4   lean                          	       0x102ec2350 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 968
5   lean                          	       0x102cf4d7c lean::lthread::imp::_main(void*) + 44
6   libsystem_pthread.dylib       	       0x1803154ec _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1803102d0 thread_start + 8

Thread 5:
0   libsystem_kernel.dylib        	       0x1802dd0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x180315ab4 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x180263e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x102ec2684 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 244
4   lean                          	       0x102ec2350 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 968
5   lean                          	       0x102cf4d7c lean::lthread::imp::_main(void*) + 44
6   libsystem_pthread.dylib       	       0x1803154ec _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1803102d0 thread_start + 8

Thread 6:
0   libsystem_kernel.dylib        	       0x1802dd0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x180315ab4 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x180263e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x102ec2684 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 244
4   lean                          	       0x102ec2350 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 968
5   lean                          	       0x102cf4d7c lean::lthread::imp::_main(void*) + 44
6   libsystem_pthread.dylib       	       0x1803154ec _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1803102d0 thread_start + 8

Thread 7 Crashed:
0   lean                          	       0x102d15074 lean::sexpr::get_int() const + 4
1   lean                          	       0x102d185b4 lean::format::pretty(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, unsigned int, bool, lean::format const&) + 536
2   lean                          	       0x1033742d8 lean::vm_obj_format_info::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const + 508
3   lean                          	       0x1033773e8 lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const + 360
4   lean                          	       0x10338668c lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) + 1968
5   lean                          	       0x102cd64a4 lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&) + 652
6   lean                          	       0x102cdfd70 lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*) + 48
7   lean                          	       0x102ec4310 lean::library_scopes_imp::execute(void*) + 100
8   lean                          	       0x102cf87a4 lean::cancellable_task_imp::execute(void*) + 60
9   lean                          	       0x102cdf6f8 lean::task_cell<lean::server::cmd_res>::execute() + 200
10  lean                          	       0x102cf81a8 lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&) + 396
11  lean                          	       0x102ec2224 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 668
12  lean                          	       0x102cf4d7c lean::lthread::imp::_main(void*) + 44
13  libsystem_pthread.dylib       	       0x1803154ec _pthread_start + 148
14  libsystem_pthread.dylib       	       0x1803102d0 thread_start + 8

Thread 8:
0   libsystem_kernel.dylib        	       0x1802dd0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x180315ab4 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x180263e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x102ec2684 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 244
4   lean                          	       0x102ec2350 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 968
5   lean                          	       0x102cf4d7c lean::lthread::imp::_main(void*) + 44
6   libsystem_pthread.dylib       	       0x1803154ec _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1803102d0 thread_start + 8

Thread 9:
0   lean                          	       0x102e8c9b8 lean::instance_synthesizer::process_next_alt_core(lean::instance_synthesizer::stack_entry const&, lean::list<lean::name>&) + 0
1   lean                          	       0x102e8b690 lean::instance_synthesizer::process_next_alt(lean::instance_synthesizer::stack_entry const&) + 232
2   lean                          	       0x102e88ea4 lean::instance_synthesizer::process_next_mvar() + 1100
3   lean                          	       0x102e87dd0 lean::instance_synthesizer::mk_class_instance_core(lean::expr const&) + 448
4   lean                          	       0x102e87b38 lean::instance_synthesizer::main(lean::expr const&) + 32
5   lean                          	       0x102e81a1c lean::instance_synthesizer::operator()(lean::expr const&) + 340
6   lean                          	       0x102e7581c lean::type_context_old::mk_class_instance(lean::expr const&) + 540
7   lean                          	       0x102f04ae0 lean::tactic_state::pp() const + 252
8   lean                          	       0x1033793ac lean::term_goal_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const + 244
9   lean                          	       0x1033773e8 lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const + 360
10  lean                          	       0x1033868fc lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) + 2592
11  lean                          	       0x102cd64a4 lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&) + 652
12  lean                          	       0x102cdfd70 lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*) + 48
13  lean                          	       0x102ec4310 lean::library_scopes_imp::execute(void*) + 100
14  lean                          	       0x102cf87a4 lean::cancellable_task_imp::execute(void*) + 60
15  lean                          	       0x102cdf6f8 lean::task_cell<lean::server::cmd_res>::execute() + 200
16  lean                          	       0x102cf81a8 lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&) + 396
17  lean                          	       0x102ec2224 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 668
18  lean                          	       0x102cf4d7c lean::lthread::imp::_main(void*) + 44
19  libsystem_pthread.dylib       	       0x1803154ec _pthread_start + 148
20  libsystem_pthread.dylib       	       0x1803102d0 thread_start + 8

Thread 10:
0   libsystem_kernel.dylib        	       0x1802dd0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x180315ab4 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x180263e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x102ec2684 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 244
4   lean                          	       0x102ec2350 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 968
5   lean                          	       0x102cf4d7c lean::lthread::imp::_main(void*) + 44
6   libsystem_pthread.dylib       	       0x1803154ec _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1803102d0 thread_start + 8


Thread 7 crashed with ARM Thread State (64-bit):
    x0: 0x0000600012863a70   x1: 0x0000000170991ff0   x2: 0x0000000000000000   x3: 0x00000001709920b0
    x4: 0x0000000000000000   x5: 0x0000000000003fff   x6: 0x000000000000000d   x7: 0x0000000000000006
    x8: 0x0000000000000000   x9: 0x0000000000000001  x10: 0x00000000000000a4  x11: 0x0000000000000000
   x12: 0x00000000c4adf888  x13: 0x0000000044adf800  x14: 0x0000000044a00000  x15: 0x00000000000007b7
   x16: 0x00000000000000c0  x17: 0x000000014f029c00  x18: 0x0000000000000000  x19: 0x00000001709920d0
   x20: 0x0000600002d7a960  x21: 0x0000600002d7a960  x22: 0x0000000000000000  x23: 0x0000000000000000
   x24: 0x0000000000000078  x25: 0x00000001034e24e0  x26: 0x0000000000000000  x27: 0x000000011e4168d0
   x28: 0x00000000ffffffff   fp: 0x0000000170992070   lr: 0x0000000102d185b4
    sp: 0x0000000170991fc0   pc: 0x0000000102d15074 cpsr: 0x20001000
   far: 0x000000000000000c  esr: 0x92000006 (Data Abort) byte read Translation fault

Binary Images:
       0x1802d8000 -        0x18030dfff libsystem_kernel.dylib (*) <c8524c02-b14f-30bd-a228-c44b4a448e68> /usr/lib/system/libsystem_kernel.dylib
       0x1801d9000 -        0x180259fff libsystem_c.dylib (*) <002a39ae-6431-3b2e-85e7-c45fc2f95ad0> /usr/lib/system/libsystem_c.dylib
       0x18025a000 -        0x1802bdfff libc++.1.dylib (*) <3ad094c9-4883-394c-af5a-2b9a5bdfe45b> /usr/lib/libc++.1.dylib
       0x102cbc000 -        0x1034dffff lean (*) <a9f5b367-eade-374d-aeb9-3edef1585fae> /Users/USER/*/lean
       0x103bd4000 -        0x103c33fff dyld (*) <86a8ba48-8bb4-3b30-9cda-051f73c74f44> /usr/lib/dyld
       0x18030e000 -        0x18031afff libsystem_pthread.dylib (*) <4786e19a-9312-38e6-80ef-9c1394548118> /usr/lib/system/libsystem_pthread.dylib
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=586.8M resident=0K(0%) swapped_out_or_unallocated=586.8M(100%)
Writable regions: Total=3.2G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=3.2G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Kernel Alloc Once                   32K        1 
MALLOC                             2.1G       62 
MALLOC guard page                   96K        5 
MALLOC_MEDIUM (reserved)         880.0M        8         reserved VM address space (unallocated)
MALLOC_NANO (reserved)           128.0M        1         reserved VM address space (unallocated)
STACK GUARD                       56.2M       11 
Stack                             88.3M       11 
VM_ALLOCATE                        1.0G        1 
__AUTH                              46K       11 
__AUTH_CONST                        67K       38 
__DATA                             221K       40 
__DATA_CONST                       353K       41 
__DATA_DIRTY                        73K       21 
__LINKEDIT                       573.9M        4 
__OBJC_CONST                        10K        5 
__OBJC_RO                         81.8M        1 
__OBJC_RW                         3088K        1 
__TEXT                            12.9M       44 
dyld private memory               1024K        1 
shared memory                       16K        1 
===========                     =======  ======= 
TOTAL                              4.9G      308 
TOTAL, minus reserved VM space     3.9G      308 



-----------
Full Report
-----------

{"app_name":"lean","timestamp":"2021-11-16 11:13:37.00 -0500","app_version":"","slice_uuid":"a9f5b367-eade-374d-aeb9-3edef1585fae","build_version":"","platform":1,"share_with_app_devs":0,"is_first_party":1,"bug_type":"309","os_version":"macOS 12.0.1 (21A559)","incident_id":"B231D70B-8CFD-4CCF-AFDC-0B33C78B2F4B","name":"lean"}
{
  "uptime" : 510000,
  "procLaunch" : "2021-11-16 11:09:34.1816 -0500",
  "procRole" : "Unspecified",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookAir10,1",
  "procStartAbsTime" : 12447816779058,
  "coalitionID" : 2014,
  "osVersion" : {
    "train" : "macOS 12.0.1",
    "build" : "21A559",
    "releaseType" : "User"
  },
  "captureTime" : "2021-11-16 11:13:37.4367 -0500",
  "incident" : "B231D70B-8CFD-4CCF-AFDC-0B33C78B2F4B",
  "bug_type" : "309",
  "pid" : 82631,
  "procExitAbsTime" : 12453655144227,
  "translated" : false,
  "cpuType" : "ARM-64",
  "procName" : "lean",
  "procPath" : "\/Users\/USER\/*\/lean",
  "parentProc" : "node",
  "parentPid" : 82628,
  "coalitionName" : "net.kovidgoyal.kitty",
  "crashReporterKey" : "FF557271-B3EE-C222-A3E1-8A5FB0C2AF13",
  "responsiblePid" : 3617,
  "wakeTime" : 1469,
  "sleepWakeUUID" : "28D7EF81-1729-4CDF-ADA3-AED62D30836C",
  "sip" : "enabled",
  "vmRegionInfo" : "0xc is not in any region.  Bytes before following region: 4341874676\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      UNUSED SPACE AT START\n--->  \n      __TEXT                      102cbc000-1034e0000    [ 8336K] r-x\/r-x SM=COW  ...s\/USER\/*\/lean",
  "isCorpse" : 1,
  "exception" : {"codes":"0x0000000000000001, 0x000000000000000c","rawCodes":[1,12],"type":"EXC_BAD_ACCESS","signal":"SIGSEGV","subtype":"KERN_INVALID_ADDRESS at 0x000000000000000c"},
  "termination" : {"flags":0,"code":11,"namespace":"SIGNAL","indicator":"Segmentation fault: 11","byProc":"exc handler","byPid":82631},
  "vmregioninfo" : "0xc is not in any region.  Bytes before following region: 4341874676\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      UNUSED SPACE AT START\n--->  \n      __TEXT                      102cbc000-1034e0000    [ 8336K] r-x\/r-x SM=COW  ...s\/USER\/*\/lean",
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 7,
  "threads" : [{"id":3413152,"queue":"com.apple.main-thread","frames":[{"imageOffset":14532,"symbol":"__read_nocancel","symbolLocation":8,"imageIndex":0},{"imageOffset":204696,"symbol":"__sread","symbolLocation":24,"imageIndex":1},{"imageOffset":54308,"symbol":"_sread","symbolLocation":32,"imageIndex":1},{"imageOffset":54200,"symbol":"__srefill1","symbolLocation":36,"imageIndex":1},{"imageOffset":164944,"symbol":"__srget","symbolLocation":24,"imageIndex":1},{"imageOffset":222092,"symbol":"getc","symbolLocation":72,"imageIndex":1},{"imageOffset":173476,"symbol":"std::__1::__stdinbuf<char>::__getchar(bool)","symbolLocation":160,"imageIndex":2},{"imageOffset":126212,"symbol":"std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char)","symbolLocation":152,"imageIndex":3},{"imageOffset":78608,"symbol":"lean::server::run()","symbolLocation":196,"imageIndex":3},{"imageOffset":25132,"symbol":"main","symbolLocation":3196,"imageIndex":3},{"imageOffset":20724,"symbol":"start","symbolLocation":520,"imageIndex":4}]},{"id":3413153,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":31412,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":243764,"symbol":"lean::single_timer::worker()","symbolLocation":496,"imageIndex":3},{"imageOffset":232828,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29932,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8912,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3413154,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":31412,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":243764,"symbol":"lean::single_timer::worker()","symbolLocation":496,"imageIndex":3},{"imageOffset":232828,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29932,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8912,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3414977,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":31412,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2123396,"symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","symbolLocation":244,"imageIndex":3},{"imageOffset":2122576,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":968,"imageIndex":3},{"imageOffset":232828,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29932,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8912,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3414978,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":31412,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2123396,"symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","symbolLocation":244,"imageIndex":3},{"imageOffset":2122576,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":968,"imageIndex":3},{"imageOffset":232828,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29932,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8912,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3414979,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":31412,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2123396,"symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","symbolLocation":244,"imageIndex":3},{"imageOffset":2122576,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":968,"imageIndex":3},{"imageOffset":232828,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29932,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8912,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3414980,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":31412,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2123396,"symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","symbolLocation":244,"imageIndex":3},{"imageOffset":2122576,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":968,"imageIndex":3},{"imageOffset":232828,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29932,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8912,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"triggered":true,"id":3414981,"threadState":{"x":[{"value":105553427053168},{"value":6184050672},{"value":0},{"value":6184050864},{"value":0},{"value":16383},{"value":13},{"value":6},{"value":0},{"value":1},{"value":164},{"value":0},{"value":3299735688},{"value":1152251904},{"value":1151336448},{"value":1975},{"value":192},{"value":5620538368},{"value":0},{"value":6184050896},{"value":105553163954528},{"value":105553163954528},{"value":0},{"value":0},{"value":120},{"value":4350420192,"symbolLocation":0,"symbol":"vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >"},{"value":0},{"value":4802570448},{"value":4294967295}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4342252980},"cpsr":{"value":536875008},"fp":{"value":6184050800},"sp":{"value":6184050624},"esr":{"value":2449473542,"description":"(Data Abort) byte read Translation fault"},"pc":{"value":4342239348,"matchesCrashFrame":1},"far":{"value":12}},"frames":[{"imageOffset":364660,"symbol":"lean::sexpr::get_int() const","symbolLocation":4,"imageIndex":3},{"imageOffset":378292,"symbol":"lean::format::pretty(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, unsigned int, bool, lean::format const&)","symbolLocation":536,"imageIndex":3},{"imageOffset":7045848,"symbol":"lean::vm_obj_format_info::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const","symbolLocation":508,"imageIndex":3},{"imageOffset":7058408,"symbol":"lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const","symbolLocation":360,"imageIndex":3},{"imageOffset":7120524,"symbol":"lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&)","symbolLocation":1968,"imageIndex":3},{"imageOffset":107684,"symbol":"lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&)","symbolLocation":652,"imageIndex":3},{"imageOffset":146800,"symbol":"lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*)","symbolLocation":48,"imageIndex":3},{"imageOffset":2130704,"symbol":"lean::library_scopes_imp::execute(void*)","symbolLocation":100,"imageIndex":3},{"imageOffset":247716,"symbol":"lean::cancellable_task_imp::execute(void*)","symbolLocation":60,"imageIndex":3},{"imageOffset":145144,"symbol":"lean::task_cell<lean::server::cmd_res>::execute()","symbolLocation":200,"imageIndex":3},{"imageOffset":246184,"symbol":"lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&)","symbolLocation":396,"imageIndex":3},{"imageOffset":2122276,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":668,"imageIndex":3},{"imageOffset":232828,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29932,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8912,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3414982,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":31412,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2123396,"symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","symbolLocation":244,"imageIndex":3},{"imageOffset":2122576,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":968,"imageIndex":3},{"imageOffset":232828,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29932,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8912,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3414983,"frames":[{"imageOffset":1903032,"symbol":"lean::instance_synthesizer::process_next_alt_core(lean::instance_synthesizer::stack_entry const&, lean::list<lean::name>&)","symbolLocation":0,"imageIndex":3},{"imageOffset":1898128,"symbol":"lean::instance_synthesizer::process_next_alt(lean::instance_synthesizer::stack_entry const&)","symbolLocation":232,"imageIndex":3},{"imageOffset":1887908,"symbol":"lean::instance_synthesizer::process_next_mvar()","symbolLocation":1100,"imageIndex":3},{"imageOffset":1883600,"symbol":"lean::instance_synthesizer::mk_class_instance_core(lean::expr const&)","symbolLocation":448,"imageIndex":3},{"imageOffset":1882936,"symbol":"lean::instance_synthesizer::main(lean::expr const&)","symbolLocation":32,"imageIndex":3},{"imageOffset":1858076,"symbol":"lean::instance_synthesizer::operator()(lean::expr const&)","symbolLocation":340,"imageIndex":3},{"imageOffset":1808412,"symbol":"lean::type_context_old::mk_class_instance(lean::expr const&)","symbolLocation":540,"imageIndex":3},{"imageOffset":2394848,"symbol":"lean::tactic_state::pp() const","symbolLocation":252,"imageIndex":3},{"imageOffset":7066540,"symbol":"lean::term_goal_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const","symbolLocation":244,"imageIndex":3},{"imageOffset":7058408,"symbol":"lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const","symbolLocation":360,"imageIndex":3},{"imageOffset":7121148,"symbol":"lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&)","symbolLocation":2592,"imageIndex":3},{"imageOffset":107684,"symbol":"lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&)","symbolLocation":652,"imageIndex":3},{"imageOffset":146800,"symbol":"lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*)","symbolLocation":48,"imageIndex":3},{"imageOffset":2130704,"symbol":"lean::library_scopes_imp::execute(void*)","symbolLocation":100,"imageIndex":3},{"imageOffset":247716,"symbol":"lean::cancellable_task_imp::execute(void*)","symbolLocation":60,"imageIndex":3},{"imageOffset":145144,"symbol":"lean::task_cell<lean::server::cmd_res>::execute()","symbolLocation":200,"imageIndex":3},{"imageOffset":246184,"symbol":"lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&)","symbolLocation":396,"imageIndex":3},{"imageOffset":2122276,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":668,"imageIndex":3},{"imageOffset":232828,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29932,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8912,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3414984,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":31412,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2123396,"symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","symbolLocation":244,"imageIndex":3},{"imageOffset":2122576,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":968,"imageIndex":3},{"imageOffset":232828,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":44,"imageIndex":3},{"imageOffset":29932,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8912,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6445432832,
    "size" : 221184,
    "uuid" : "c8524c02-b14f-30bd-a228-c44b4a448e68",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6444388352,
    "size" : 528384,
    "uuid" : "002a39ae-6431-3b2e-85e7-c45fc2f95ad0",
    "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6444916736,
    "size" : 409600,
    "uuid" : "3ad094c9-4883-394c-af5a-2b9a5bdfe45b",
    "path" : "\/usr\/lib\/libc++.1.dylib",
    "name" : "libc++.1.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4341874688,
    "size" : 8536064,
    "uuid" : "a9f5b367-eade-374d-aeb9-3edef1585fae",
    "path" : "\/Users\/USER\/*\/lean",
    "name" : "lean"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 4357701632,
    "size" : 393216,
    "uuid" : "86a8ba48-8bb4-3b30-9cda-051f73c74f44",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6445654016,
    "size" : 53248,
    "uuid" : "4786e19a-9312-38e6-80ef-9c1394548118",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "size" : 0,
    "source" : "A",
    "base" : 0,
    "uuid" : "00000000-0000-0000-0000-000000000000"
  }
],
  "sharedCache" : {
  "base" : 6442483712,
  "size" : 3072180224,
  "uuid" : "a6162d66-93e3-3251-93cc-b11f7c8c830e"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=586.8M resident=0K(0%) swapped_out_or_unallocated=586.8M(100%)\nWritable regions: Total=3.2G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=3.2G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nKernel Alloc Once                   32K        1 \nMALLOC                             2.1G       62 \nMALLOC guard page                   96K        5 \nMALLOC_MEDIUM (reserved)         880.0M        8         reserved VM address space (unallocated)\nMALLOC_NANO (reserved)           128.0M        1         reserved VM address space (unallocated)\nSTACK GUARD                       56.2M       11 \nStack                             88.3M       11 \nVM_ALLOCATE                        1.0G        1 \n__AUTH                              46K       11 \n__AUTH_CONST                        67K       38 \n__DATA                             221K       40 \n__DATA_CONST                       353K       41 \n__DATA_DIRTY                        73K       21 \n__LINKEDIT                       573.9M        4 \n__OBJC_CONST                        10K        5 \n__OBJC_RO                         81.8M        1 \n__OBJC_RW                         3088K        1 \n__TEXT                            12.9M       44 \ndyld private memory               1024K        1 \nshared memory                       16K        1 \n===========                     =======  ======= \nTOTAL                              4.9G      308 \nTOTAL, minus reserved VM space     3.9G      308 \n",
  "legacyInfo" : {
  "threadTriggered" : {

  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "5fc94383418129005b4e9ae0",
      "factorPackIds" : {

      },
      "deploymentId" : 240000153
    },
    {
      "rolloutId" : "60da5e84ab0ca017dace9abf",
      "factorPackIds" : {

      },
      "deploymentId" : 240000008
    },
    {
      "rolloutId" : "607844aa04477260f58a8077",
      "factorPackIds" : {
        "SIRI_MORPHUN_ASSETS" : "6103050cbfe6dc472e1c982a"
      },
      "deploymentId" : 240000066
    },
    {
      "rolloutId" : "601d9415f79519000ccd4b69",
      "factorPackIds" : {
        "SIRI_TEXT_TO_SPEECH" : "618455f04b3765609b8b78c1"
      },
      "deploymentId" : 240000311
    },
    {
      "rolloutId" : "602ad4dac86151000cf27e46",
      "factorPackIds" : {
        "SIRI_DICTATION_ASSETS" : "6189b1ae4b3765609b8b7ec1"
      },
      "deploymentId" : 240000264
    },
    {
      "rolloutId" : "5ffde50ce2aacd000d47a95f",
      "factorPackIds" : {

      },
      "deploymentId" : 240000076
    }
  ],
  "experiments" : [

  ]
}
}

This likely belongs upstream (if it's even worth fixing at all), but just filing here for now since it's always in neovim that I see these, and I'm sure at least some diagnosing of what the backtrace in there is saying will be helpful before doing so.

Julian avatar Nov 16 '21 16:11 Julian

How do you enable core dumps? My lean-language-server crashes very often when editing Lean 3 buffers. I am on neither macOS or using an ARM CPU.

ram02z avatar Jan 20 '22 11:01 ram02z

It depends a bit on your distro -- you can typically run ulimit -c unlimited in the shell (before starting neovim) to enable them for that shell session, and then they'll either be written out to your working directory or to somewhere in /var

Julian avatar Jan 20 '22 12:01 Julian

Here is the crash dump backtrace. I havent used gdb before so I am unsure if there is anything else I can run to give more info.

Reading symbols from lean...
(No debugging symbols found in lean)
[New LWP 24507]
[New LWP 24504]
[New LWP 24516]
[New LWP 24513]
[New LWP 24508]
[New LWP 24509]
[New LWP 24365]
[New LWP 24519]
[New LWP 24367]
[New LWP 24506]
[New LWP 24515]
[New LWP 24512]
[New LWP 24511]
[New LWP 24366]
[New LWP 24514]
[New LWP 24510]
[New LWP 24517]
[New LWP 24505]
[New LWP 24518]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
Core was generated by `lean --server -M 4096 -T 100000 */root/psyoz1/local/G400*'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000055dcc2f3a065 in lean::sexpr::get_int() const ()
[Current thread is 1 (Thread 0x7f24950ba640 (LWP 24507))]
(gdb) bt
#0  0x000055dcc2f3a065 in lean::sexpr::get_int() const ()
#1  0x000055dcc2f3af8c in lean::to_int(lean::sexpr const&) ()
#2  0x000055dcc2f41ab3 in lean::format::sexpr_kind(lean::sexpr const&) ()
#3  0x000055dcc2f4096f in lean::format::pretty(std::ostream&, unsigned int, bool, lean::format const&) ()
#4  0x000055dcc2f40d65 in lean::pretty(std::ostream&, unsigned int, bool, lean::format const&) ()
#5  0x000055dcc2f40dde in lean::pretty(std::ostream&, lean::options const&, lean::format const&) ()
#6  0x000055dcc2f40e41 in lean::operator<<(std::ostream&, std::pair<lean::format const&, lean::options const&> const&) ()
#7  0x000055dcc330e7f9 in lean::vm_obj_format_info::report(lean::io_state_stream const&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator>&) const ()
#8  0x000055dcc3312617 in lean::info_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator>&) const ()
#9  0x000055dcc3310beb in lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator>&, std::function<bool (lean::info_data const&)>) const ()
#10 0x000055dcc3320691 in lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, lean::module_info const&, std::vector<lean::info_manager, std::allocator<lean::info_manager> > const&, std::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator>&) ()
#11 0x000055dcc2ee52aa in lean::server::info[abi:cxx11](std::shared_ptr<lean::module_info const> const&, std::pair<unsigned int, unsigned int> const&) ()
#12 0x000055dcc2ee5f9a in ?? ()
#13 0x000055dcc2ee9452 in ?? ()
#14 0x000055dcc2ee9dd4 in lean::delegating_task_imp::execute(void*) ()
#15 0x000055dcc30634d1 in lean::library_scopes_imp::execute(void*) ()
#16 0x000055dcc2f25cba in lean::cancellable_task_imp::execute(void*) ()
#17 0x000055dcc2f05256 in lean::task_cell<lean::server::cmd_res>::execute() ()
#18 0x000055dcc2f253e5 in lean::task_queue::execute(std::shared_ptr<lean::gtask_cell> const&) ()
#19 0x000055dcc3056cba in ?? ()
#20 0x000055dcc30590da in ?? ()
#21 0x000055dcc3058fd9 in ?? ()
#22 0x000055dcc3058e87 in ?? ()
#23 0x000055dcc2f1de8c in std::function<void ()>::operator()() const ()
#24 0x000055dcc2f1d025 in ?? ()
#25 0x000055dcc2f1d692 in ?? ()
#26 0x000055dcc2f1d591 in ?? ()
#27 0x000055dcc2f1d46c in ?? ()
#28 0x000055dcc2f1de8c in std::function<void ()>::operator()() const ()
#29 0x000055dcc2f1cf71 in ?? ()
#30 0x000055dcc2f1d857 in lean::lthread::imp::_main(void*) ()
#31 0x00007f2496292eae in start_thread (arg=0x7f24950ba640) at pthread_create.c:463
#32 0x00007f24961c22ff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) i threads
  Id   Target Id                         Frame
* 1    Thread 0x7f24950ba640 (LWP 24507) 0x000055dcc2f3a065 in lean::sexpr::get_int() const ()
  2    Thread 0x7f2484ff9640 (LWP 24504) 0x000055dcc2f472a7 in bool __gnu_cxx::operator< <std::pair<lean::sexpr, unsigned int>*, std::vector<std::pair<lean::sexpr, unsigned int>, std::allocator<std::pair<lean::sexpr, unsigned int> > > >(__gnu_cxx::__normal_iterator<std::pair<lean::sexpr, unsigned int>*, std::vector<std::pair<lean::sexpr, unsigned int>, std::allocator<std::pair<lean::sexpr, unsigned int> > > > const&, __gnu_cxx::__normal_iterator<std::pair<lean::sexpr, unsigned int>*, std::vector<std::pair<lean::sexpr, unsigned int>, std::allocator<std::pair<lean::sexpr, unsigned int> > > > const&) ()
  3    Thread 0x7f24777fe640 (LWP 24516) futex_abstimed_wait_cancelable (private=0, abstime=0x7f24777fd460, clockid=2004865936, expected=0, futex_word=0x55dcc44261e0)
    at ../sysdeps/nptl/futex-internal.h:320
  4    Thread 0x7f2485ffb640 (LWP 24513) __getrusage (who=RUSAGE_SELF, usage=0x7f2485ff54d0) at ../sysdeps/unix/sysv/linux/getrusage.c:29
  5    Thread 0x7f24757fa640 (LWP 24508) 0x000055dcc2ecb5fa in lean::name::hash() const ()
  6    Thread 0x7f2487fff640 (LWP 24509) futex_abstimed_wait_cancelable (private=0, abstime=0x7f2487ffe460, clockid=-2013273200, expected=0, futex_word=0x55dcc44261e0)
    at ../sysdeps/nptl/futex-internal.h:320
  7    Thread 0x7f24960bfe40 (LWP 24365) __GI___libc_read (nbytes=4096, buf=0x55dcc44265d0, fd=0) at ../sysdeps/unix/sysv/linux/read.c:26
  8    Thread 0x7f2475ffb640 (LWP 24519) futex_abstimed_wait_cancelable (private=0, abstime=0x7f2475ffa460, clockid=1979687824, expected=0, futex_word=0x55dcc44261e0)
    at ../sysdeps/nptl/futex-internal.h:320
  9    Thread 0x7f24958bb640 (LWP 24367) futex_abstimed_wait_cancelable (private=0, abstime=0x7f24958ba3f0, clockid=-1786010848, expected=0, futex_word=0x55dcc4425e90)
    at ../sysdeps/nptl/futex-internal.h:320
  10   Thread 0x7f2443fff640 (LWP 24506) futex_abstimed_wait_cancelable (private=0, abstime=0x7f2443ffe460, clockid=1140843408, expected=0, futex_word=0x55dcc44261e4)
    at ../sysdeps/nptl/futex-internal.h:320
  11   Thread 0x7f2477fff640 (LWP 24515) 0x000055dcc2ecaeab in operator new(unsigned long, void*) ()
  12   Thread 0x7f24867fc640 (LWP 24512) futex_abstimed_wait_cancelable (private=0, abstime=0x7f24867fb460, clockid=-2038451312, expected=0, futex_word=0x55dcc44261e4)
    at ../sysdeps/nptl/futex-internal.h:320
  13   Thread 0x7f2486ffd640 (LWP 24511) futex_abstimed_wait_cancelable (private=0, abstime=0x7f2486ffc460, clockid=-2030058608, expected=0, futex_word=0x55dcc44261e0)
    at ../sysdeps/nptl/futex-internal.h:320
  14   Thread 0x7f24960bc640 (LWP 24366) futex_abstimed_wait_cancelable (private=0, abstime=0x7f24960bb3f0, clockid=-1777618144, expected=0, futex_word=0x55dcc43b6764)
    at ../sysdeps/nptl/futex-internal.h:320
  15   Thread 0x7f24857fa640 (LWP 24514) futex_abstimed_wait_cancelable (private=0, abstime=0x7f24857f9460, clockid=-2055236720, expected=0, futex_word=0x55dcc44261e0)
    at ../sysdeps/nptl/futex-internal.h:320
  16   Thread 0x7f24877fe640 (LWP 24510) futex_abstimed_wait_cancelable (private=0, abstime=0x7f24877fd460, clockid=-2021665904, expected=0, futex_word=0x55dcc44261e0)
    at ../sysdeps/nptl/futex-internal.h:320
  17   Thread 0x7f2476ffd640 (LWP 24517) futex_abstimed_wait_cancelable (private=0, abstime=0x7f2476ffc460, clockid=1996473232, expected=0, futex_word=0x55dcc44261e4)
    at ../sysdeps/nptl/futex-internal.h:320
  18   Thread 0x7f24948b9640 (LWP 24505) futex_abstimed_wait_cancelable (private=0, abstime=0x7f24948b8460, clockid=-1802796144, expected=0, futex_word=0x55dcc44261e0)
    at ../sysdeps/nptl/futex-internal.h:320
  19   Thread 0x7f24767fc640 (LWP 24518) futex_abstimed_wait_cancelable (private=0, abstime=0x7f24767fb460, clockid=1988080528, expected=0, futex_word=0x55dcc44261e4)
    at ../sysdeps/nptl/futex-internal.h:320

ram02z avatar Jan 20 '22 14:01 ram02z

Interesting. That indeed seems to be crashing in a similar spot to my layman's eyes. I tried staring at how lean::sexpr::get_int() could end up getting called with a null pointer a few weeks back and didn't manage to see how it was happening -- if you're on linux and can get this to happen you have more fun toys (like reverse debuggers) which may make it easier to tell. @gebner not sure if there's anything obvious to you from the backtrace? But yeah if this happens often for you as well maybe we should indeed take it to the upstream lean(3) repo.

Julian avatar Jan 20 '22 14:01 Julian

Interesting. That indeed seems to be crashing in a similar spot to my layman's eyes. I tried staring at how lean::sexpr::get_int() could end up getting called with a null pointer a few weeks back and didn't manage to see how it was happening -- if you're on linux and can get this to happen you have more fun toys (like reverse debuggers) which may make it easier to tell. @gebner not sure if there's anything obvious to you from the backtrace? But yeah if this happens often for you as well maybe we should indeed take it to the upstream lean(3) repo.

I am on linux but I have not used a reverse debugger before. Would a full backtrace with debug symbols be useful, you think? If so, Ill try to submit a bug report to the lean repo.

ram02z avatar Jan 20 '22 14:01 ram02z

I am on linux but I have not used a reverse debugger before.

(I'm no expert clearly either, but yeah something like rr is somewhat easier for non C++ programmers to poke back and forth at.)

Would a full backtrace with debug symbols be useful, you think?

I think all the important symbols that that would get are already there, so I think not, but not 100% sure -- much more helpful would be if you know how to deterministically get the crash to happen. For me it's not deterministic, so I literally wrote a neovim function that randomly moves the cursor until it happens.

Julian avatar Jan 20 '22 14:01 Julian

If you can, building with release type Debug is certainly helpful. This will also enable extra assertions (and hopefully point to the actual source of the error). Maybe you could also change this line in format.h (which looks like the only place that could construct an invalid format object):

    explicit format(sexpr const & v):m_value(v) { sexpr_kind(v); }

gebner avatar Jan 20 '22 14:01 gebner

Maybe you could also change this line in format.h (which looks like the only place that could construct an invalid format object):

    explicit format(sexpr const & v):m_value(v) { sexpr_kind(v); }

Do you mean I should change the line linked below to the snippet you posted? https://github.com/leanprover-community/lean/blob/65ad4ffdb3abac75be748554e3cbe990fb1c6500/src/util/sexpr/format.h#L155

ram02z avatar Jan 20 '22 14:01 ram02z

Yes!

gebner avatar Jan 20 '22 15:01 gebner

I am unable to reproduce the seg faults after changing the line @gebner proposed and building with release type Debug. Was the line change meant to fix the issue?

ram02z avatar Jan 20 '22 17:01 ram02z

No the change was supposed to make Lean crash faster. Can you try again with the Release build type?

gebner avatar Jan 20 '22 18:01 gebner

Here's a SIGABRT from a Debug build:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               lean [89652]
Path:                  /Users/USER/*/lean
Identifier:            lean
Version:               ???
Code Type:             ARM-64 (Native)
Parent Process:        node [89649]
Responsible:           kitty [22693]
User ID:               501

Date/Time:             2022-02-05 12:58:37.0777 -0500
OS Version:            macOS 12.1 (21C52)
Report Version:        12
Anonymous UUID:        FF557271-B3EE-C222-A3E1-8A5FB0C2AF13

Sleep/Wake UUID:       5C04B1C8-A1A9-4EFB-B077-7520D8E75D20

Time Awake Since Boot: 220000 seconds
Time Since Wake:       5172 seconds

System Integrity Protection: enabled

Crashed Thread:        11

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
lean(89652,0x16d653000) malloc: Heap corruption detected, free list is damaged at 0x600055857120
*** Incorrect guard value: 257014237458719
abort() called


Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x1a12eb8c4 __read_nocancel + 8
1   libsystem_c.dylib             	       0x1a121af98 __sread + 24
2   libsystem_c.dylib             	       0x1a11f6424 _sread + 32
3   libsystem_c.dylib             	       0x1a11f63b8 __srefill1 + 36
4   libsystem_c.dylib             	       0x1a1211450 __srget + 24
5   libsystem_c.dylib             	       0x1a121f38c getc + 72
6   libc++.1.dylib                	       0x1a12945a4 std::__1::__stdinbuf<char>::__getchar(bool) + 160
7   lean                          	       0x104832294 std::__1::basic_streambuf<char, std::__1::char_traits<char> >::sbumpc() + 56 (streambuf:188)
8   lean                          	       0x104832044 std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) + 112 (istream:1532)
9   lean                          	       0x10480a828 std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 84 (istream:1574)
10  lean                          	       0x10480a5b4 lean::server::run() + 132 (server.cpp:408)
11  lean                          	       0x1047dc3ec main + 3840 (lean.cpp:609)
12  dyld                          	       0x108ded0f4 start + 520

Thread 1:
0   libsystem_kernel.dylib        	       0x1a12ed0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1a1325808 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x1a1273ddc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3   lean                          	       0x104885308 lean::single_timer::worker() + 488 (timer.cpp:40)
4   lean                          	       0x104887d48 decltype(*(std::__1::forward<lean::single_timer*&>(fp0)).*fp()) std::__1::__invoke<void (lean::single_timer::*&)(), lean::single_timer*&, void>(void (lean::single_timer::*&)(), lean::single_timer*&) + 108 (type_traits:3635)
5   lean                          	       0x104887cd0 std::__1::__bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<>, __is_valid_bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, 0ul, std::__1::tuple<> >(void (lean::single_timer::*&)(), std::__1::tuple<lean::single_timer*>&, std::__1::__tuple_indices<0ul>, std::__1::tuple<>&&) + 60 (functional:2857)
6   lean                          	       0x104887c88 std::__1::__bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<>, __is_valid_bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<> >::value>::type std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>::operator()<>() + 36 (functional:2890)
7   lean                          	       0x104887c44 decltype(std::__1::forward<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(fp)()) std::__1::__invoke<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&) + 28 (type_traits:3694)
8   lean                          	       0x104887bf8 void std::__1::__invoke_void_return_wrapper<void, true>::__call<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&) + 28 (__functional_base:348)
9   lean                          	       0x104887bd0 std::__1::__function::__alloc_func<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>, std::__1::allocator<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*> >, void ()>::operator()() + 28 (functional:1558)
10  lean                          	       0x104886944 std::__1::__function::__func<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>, std::__1::allocator<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*> >, void ()>::operator()() + 28 (functional:1732)
11  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
12  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
13  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
14  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
15  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
16  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
17  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
18  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
19  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
20  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
21  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
22  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
23  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 2:
0   libsystem_kernel.dylib        	       0x1a12ed0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1a1325808 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x1a1273e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048858dc std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 324 (__mutex_base:465)
4   lean                          	       0x1048852f4 lean::single_timer::worker() + 468 (timer.cpp:38)
5   lean                          	       0x104887d48 decltype(*(std::__1::forward<lean::single_timer*&>(fp0)).*fp()) std::__1::__invoke<void (lean::single_timer::*&)(), lean::single_timer*&, void>(void (lean::single_timer::*&)(), lean::single_timer*&) + 108 (type_traits:3635)
6   lean                          	       0x104887cd0 std::__1::__bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<>, __is_valid_bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, 0ul, std::__1::tuple<> >(void (lean::single_timer::*&)(), std::__1::tuple<lean::single_timer*>&, std::__1::__tuple_indices<0ul>, std::__1::tuple<>&&) + 60 (functional:2857)
7   lean                          	       0x104887c88 std::__1::__bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<>, __is_valid_bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<> >::value>::type std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>::operator()<>() + 36 (functional:2890)
8   lean                          	       0x104887c44 decltype(std::__1::forward<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(fp)()) std::__1::__invoke<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&) + 28 (type_traits:3694)
9   lean                          	       0x104887bf8 void std::__1::__invoke_void_return_wrapper<void, true>::__call<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&) + 28 (__functional_base:348)
10  lean                          	       0x104887bd0 std::__1::__function::__alloc_func<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>, std::__1::allocator<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*> >, void ()>::operator()() + 28 (functional:1558)
11  lean                          	       0x104886944 std::__1::__function::__func<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>, std::__1::allocator<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*> >, void ()>::operator()() + 28 (functional:1732)
12  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
13  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
14  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
15  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
16  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
17  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
18  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
19  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
20  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
21  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
22  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
23  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
24  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 3:
0   libsystem_kernel.dylib        	       0x1a12ed0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1a1325808 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x1a1273e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048858dc std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 324 (__mutex_base:465)
4   lean                          	       0x104c6851c void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 104 (__mutex_base:520)
5   lean                          	       0x104c682e8 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 128 (__mutex_base:423)
6   lean                          	       0x104c68cf0 bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()) + 64 (__mutex_base:435)
7   lean                          	       0x104c67f50 bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()) + 132 (__mutex_base:479)
8   lean                          	       0x104c67c38 lean::mt_task_queue::spawn_worker()::$_2::operator()() const + 352 (mt_task_queue.cpp:97)
9   lean                          	       0x104c67ab8 decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (type_traits:3694)
10  lean                          	       0x104c67a6c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (__functional_base:348)
11  lean                          	       0x104c67a44 std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1558)
12  lean                          	       0x104c665d4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1732)
13  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
14  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
15  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
16  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
17  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
18  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
19  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
20  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
21  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
22  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
23  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
24  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
25  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 4:
0   lean                          	       0x104b7c41c std::__1::enable_if<(is_move_constructible<lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell*>::value) && (is_move_assignable<lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell*>::value), void>::type std::__1::swap<lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell*>(lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell*&, lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell*&) + 20 (type_traits:3951)
1   lean                          	       0x104b7c3fc lean::swap(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&, lean::rb_tree<lean::name, lean::name_quick_cmp>::node&) + 32 (rb_tree.h:51)
2   lean                          	       0x104b7c3fc lean::swap(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&, lean::rb_tree<lean::name, lean::name_quick_cmp>::node&) + 32 (rb_tree.h:51)
3   lean                          	       0x104b7af78 lean::rb_tree<lean::name, lean::name_quick_cmp>::node::steal() + 68 (rb_tree.h:52)
4   lean                          	       0x1048b35c0 lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&) + 648 (rb_tree.h:235)
5   lean                          	       0x1048b38d0 lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&) + 1432 (rb_tree.h:245)
6   lean                          	       0x1048b3538 lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&) + 512 (rb_tree.h:232)
7   lean                          	       0x1048b3270 lean::rb_tree<lean::name, lean::name_quick_cmp>::erase_core(lean::name const&) + 164 (rb_tree.h:421)
8   lean                          	       0x1048adb10 lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::name const&) + 52 (rb_tree.h:427)
9   lean                          	       0x1048ad820 lean::subscripted_name_set::erase(lean::name const&) + 56 (subscripted_name_set.cpp:58)
10  lean                          	       0x104b74654 lean::local_context::erase_user_name(lean::local_decl const&) + 208 (local_context.cpp:193)
11  lean                          	       0x104b75c5c lean::local_context::pop_local_decl() + 184 (local_context.cpp:308)
12  lean                          	       0x104bab50c lean::type_context_old::pop_local() + 412 (type_context.cpp:221)
13  lean                          	       0x104ba9690 lean::type_context_old::tmp_locals::~tmp_locals() + 96 (type_context.cpp:60)
14  lean                          	       0x104ba96fc lean::type_context_old::tmp_locals::~tmp_locals() + 28 (type_context.cpp:58)
15  lean                          	       0x104c13618 lean::get_core(lean::type_context_old&, lean::expr const&, lean::buffer<lean::param_info, 16u>&, unsigned int) + 1000 (fun_info.cpp:94)
16  lean                          	       0x104c138cc lean::get_fun_info(lean::type_context_old&, lean::expr const&, unsigned int) + 264 (fun_info.cpp:112)
17  lean                          	       0x104bbceb0 lean::type_context_old::is_def_eq_args(lean::expr const&, lean::expr const&) + 332 (type_context.cpp:2503)
18  lean                          	       0x104bc47e4 lean::type_context_old::is_def_eq_core_core(lean::expr, lean::expr) + 3256 (type_context.cpp:3357)
19  lean                          	       0x104bba740 lean::type_context_old::is_def_eq_core(lean::expr const&, lean::expr const&) + 84 (type_context.cpp:3375)
20  lean                          	       0x104bc58ec lean::type_context_old::is_def_eq(lean::expr const&, lean::expr const&) + 116 (type_context.cpp:3385)
21  lean                          	       0x104bdbc54 lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::expr const&, lean::expr const&) + 1484 (type_context.cpp:3639)
22  lean                          	       0x104bdc360 lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::name const&) + 428 (type_context.cpp:3667)
23  lean                          	       0x104bdb4f4 lean::instance_synthesizer::process_next_alt_core(lean::instance_synthesizer::stack_entry const&, lean::list<lean::name>&) + 108 (type_context.cpp:3728)
24  lean                          	       0x104bda1e8 lean::instance_synthesizer::process_next_alt(lean::instance_synthesizer::stack_entry const&) + 344 (type_context.cpp:3745)
25  lean                          	       0x104bd8340 lean::instance_synthesizer::process_next_mvar() + 1232 (type_context.cpp:3861)
26  lean                          	       0x104bd7590 lean::instance_synthesizer::search() + 52 (type_context.cpp:3884)
27  lean                          	       0x104bd6fac lean::instance_synthesizer::mk_class_instance_core(lean::expr const&) + 360 (type_context.cpp:3960)
28  lean                          	       0x104bd6d74 lean::instance_synthesizer::main(lean::expr const&) + 60 (type_context.cpp:3965)
29  lean                          	       0x104bc7798 lean::instance_synthesizer::operator()(lean::expr const&) + 844 (type_context.cpp:3984)
30  lean                          	       0x104bbbc94 lean::type_context_old::mk_class_instance(lean::expr const&) + 500 (type_context.cpp:4150)
31  lean                          	       0x104d27174 lean::tactic_state::pp() const + 232 (tactic_state.cpp:816)
32  lean                          	       0x10546b360 lean::term_goal_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const + 80 (info_manager.cpp:121)
33  lean                          	       0x105467bdc lean::info_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const + 52 (info_manager.h:118)
34  lean                          	       0x1054678a4 lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const + 432 (info_manager.cpp:356)
35  lean                          	       0x10548ed6c lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) + 2984 (interactive.cpp:214)
36  lean                          	       0x10480f24c lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&) + 624 (server.cpp:623)
37  lean                          	       0x10483fe6c lean::server::handle_info(lean::server::cmd_req const&)::$_5::operator()() const + 60 (server.cpp:667)
38  lean                          	       0x10483fd4c lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*) + 40 (task_builder.h:62)
39  lean                          	       0x104838164 lean::delegating_task_imp::execute(void*) + 48 (task_builder.h:27)
40  lean                          	       0x104c7205c lean::library_scopes_imp::execute(void*) + 156 (library_task_builder.cpp:27)
41  lean                          	       0x10488aa3c lean::cancellable_task_imp::execute(void*) + 72 (task_builder.cpp:22)
42  lean                          	       0x10483e990 lean::task_cell<lean::server::cmd_res>::execute() + 136 (task.h:96)
43  lean                          	       0x1048895f8 lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&) + 1036 (task.cpp:58)
44  lean                          	       0x104c67ce4 lean::mt_task_queue::spawn_worker()::$_2::operator()() const + 524 (mt_task_queue.cpp:116)
45  lean                          	       0x104c67ab8 decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (type_traits:3694)
46  lean                          	       0x104c67a6c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (__functional_base:348)
47  lean                          	       0x104c67a44 std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1558)
48  lean                          	       0x104c665d4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1732)
49  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
50  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
51  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
52  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
53  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
54  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
55  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
56  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
57  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
58  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
59  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
60  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
61  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 5:
0   lean                          	       0x1047e7170 lean::rb_map<lean::name, lean::local_decl, lean::name_quick_cmp>::~rb_map() + 28 (rb_map.h:17)
1   lean                          	       0x1047e7170 lean::rb_map<lean::name, lean::local_decl, lean::name_quick_cmp>::~rb_map() + 28 (rb_map.h:17)
2   lean                          	       0x1047e8600 lean::local_context::~local_context() + 80 (local_context.h:83)
3   lean                          	       0x1047e64c4 lean::local_context::~local_context() + 28 (local_context.h:83)
4   lean                          	       0x10515f2c0 lean::compiler_step_visitor::compiler_step_visitor(lean::environment const&, lean::abstract_context_cache&) + 164 (compiler_step_visitor.cpp:24)
5   lean                          	       0x1051a9be8 lean::extract_values_fn::extract_values_fn(lean::environment const&, lean::abstract_context_cache&, lean::name const&) + 64 (extract_values.cpp:59)
6   lean                          	       0x1051a9a78 lean::extract_values_fn::extract_values_fn(lean::environment const&, lean::abstract_context_cache&, lean::name const&) + 52 (extract_values.cpp:59)
7   lean                          	       0x1051a992c lean::extract_values(lean::environment const&, lean::abstract_context_cache&, lean::name const&, lean::buffer<lean::procedure, 16u>&) + 68 (extract_values.cpp:74)
8   lean                          	       0x105153fdc lean::preprocess_fn::operator()(lean::declaration const&, lean::buffer<lean::procedure, 16u>&) + 6632 (preprocess.cpp:281)
9   lean                          	       0x105152584 lean::preprocess(lean::environment const&, lean::options const&, lean::declaration const&, lean::buffer<lean::procedure, 16u>&) + 80 (preprocess.cpp:291)
10  lean                          	       0x105154620 lean::preprocess(lean::environment const&, lean::options const&, lean::buffer<lean::declaration, 16u> const&, lean::buffer<lean::procedure, 16u>&) + 136 (preprocess.cpp:297)
11  lean                          	       0x105195920 lean::vm_compile(lean::environment const&, lean::options const&, lean::buffer<lean::declaration, 16u> const&, bool) + 92 (vm_compiler.cpp:376)
12  lean                          	       0x105196394 lean::vm_compile(lean::environment const&, lean::options const&, lean::declaration const&, bool) + 380 (vm_compiler.cpp:408)
13  lean                          	       0x1051190d8 lean::interaction_monad<lean::lean_parser_state>::evaluator::compile(lean::name const&, lean::expr const&) + 996 (interaction_state_imp.h:240)
14  lean                          	       0x1051195dc lean::interaction_monad<lean::lean_parser_state>::evaluator::operator()(lean::expr const&, lean::buffer<lean::vm_obj, 16u> const&, lean::lean_parser_state const&) + 104 (interaction_state_imp.h:270)
15  lean                          	       0x105119c90 lean::run_parser(lean::parser&, lean::expr const&, lean::buffer<lean::vm_obj, 16u> const&, bool) + 336 (vm_parser.cpp:54)
16  lean                          	       0x10511a108 lean::parse_interactive_param(lean::parser&, lean::ast_data&, lean::expr const&) + 668 (vm_parser.cpp:72)
17  lean                          	       0x10545e968 lean::parse_interactive_tactic(lean::parser&, lean::name const&, lean::ast_data&, lean::name const&, bool) + 384 (tactic_notation.cpp:185)
18  lean                          	       0x10545d6c8 lean::parse_tactic_fn::parse_elem_core(bool) + 464 (tactic_notation.cpp:272)
19  lean                          	       0x10545c96c lean::parse_tactic_fn::parse_elem(bool, bool) + 2472 (tactic_notation.cpp:359)
20  lean                          	       0x10545be7c lean::parse_tactic_fn::operator()(bool) + 64 (tactic_notation.cpp:403)
21  lean                          	       0x10545bdec lean::parse_tactic_core(lean::parser&, lean::name const&, bool) + 108 (tactic_notation.cpp:414)
22  lean                          	       0x105455e8c lean::parse_tactic(lean::parser&, lean::name const&, bool) + 160 (tactic_notation.cpp:422)
23  lean                          	       0x105457ea0 lean::parse_begin_end_block_fn::parse_tactic() + 44 (tactic_notation.cpp:517)
24  lean                          	       0x1054570b4 lean::parse_begin_end_block_fn::operator()(std::__1::pair<unsigned int, unsigned int> const&, lean::name const&) + 1060 (tactic_notation.cpp:552)
25  lean                          	       0x1054556b4 lean::parse_begin_end_block(lean::parser&, std::__1::pair<unsigned int, unsigned int> const&, lean::name const&, lean::name, bool) + 120 (tactic_notation.cpp:591)
26  lean                          	       0x1054557a8 lean::parse_begin_end_expr_core(lean::parser&, std::__1::pair<unsigned int, unsigned int> const&, lean::name const&) + 164 (tactic_notation.cpp:599)
27  lean                          	       0x1054558b8 lean::parse_begin_end_expr(lean::parser&, std::__1::pair<unsigned int, unsigned int> const&) + 68 (tactic_notation.cpp:604)
28  lean                          	       0x105455940 lean::parse_begin_end(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&) + 44 (tactic_notation.cpp:612)
29  lean                          	       0x105277b28 decltype(std::__1::forward<lean::expr (*&)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>(fp)(std::__1::forward<lean::parser&>(fp0), std::__1::forward<unsigned int>(fp0), std::__1::forward<lean::expr const*>(fp0), std::__1::forward<std::__1::pair<unsigned int, unsigned int> const&>(fp0))) std::__1::__invoke<lean::expr (*&)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&>(lean::expr (*&)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), lean::parser&, unsigned int&&, lean::expr const*&&, std::__1::pair<unsigned int, unsigned int> const&) + 136 (type_traits:3694)
30  lean                          	       0x105277a70 lean::expr std::__1::__invoke_void_return_wrapper<lean::expr, false>::__call<lean::expr (*&)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&>(lean::expr (*&)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), lean::parser&, unsigned int&&, lean::expr const*&&, std::__1::pair<unsigned int, unsigned int> const&) + 124 (__functional_base:317)
31  lean                          	       0x1052779c0 std::__1::__function::__alloc_func<lean::expr (*)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), std::__1::allocator<lean::expr (*)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>, lean::expr (lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>::operator()(lean::parser&, unsigned int&&, lean::expr const*&&, std::__1::pair<unsigned int, unsigned int> const&) + 124 (functional:1558)
32  lean                          	       0x10527650c std::__1::__function::__func<lean::expr (*)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), std::__1::allocator<lean::expr (*)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>, lean::expr (lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>::operator()(lean::parser&, unsigned int&&, lean::expr const*&&, std::__1::pair<unsigned int, unsigned int> const&) + 124 (functional:1732)
33  lean                          	       0x10522abac std::__1::__function::__value_func<lean::expr (lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>::operator()(lean::parser&, unsigned int&&, lean::expr const*&&, std::__1::pair<unsigned int, unsigned int> const&) const + 152 (functional:1885)
34  lean                          	       0x1051fd130 std::__1::function<lean::expr (lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>::operator()(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&) const + 144 (functional:2560)
35  lean                          	       0x1051fb8ec lean::parser::parse_notation(lean::notation::parse_table, lean::expr*) + 4020 (parser.cpp:1545)
36  lean                          	       0x1051fd518 lean::parser::parse_nud_notation() + 72 (parser.cpp:1619)
37  lean                          	       0x1052005ac lean::parser::parse_nud() + 136 (parser.cpp:2423)
38  lean                          	       0x1051f4f24 lean::parser::parse_expr(unsigned int) + 48 (parser.cpp:2551)
39  lean                          	       0x10542f238 lean::parser::parse_definition(lean::ast_data*, lean::buffer<lean::name, 16u>&, lean::buffer<lean::expr, 16u>&, bool, bool, bool, bool) + 1472 (definition_cmds.cpp:558)
40  lean                          	       0x1054308ac lean::single_definition_cmd_core(lean::parser_info&, lean::decl_cmd_kind, lean::ast_data*, lean::cmd_meta) + 864 (definition_cmds.cpp:803)
41  lean                          	       0x10543285c lean::definition_cmd_core(lean::parser&, lean::decl_cmd_kind, unsigned int, lean::cmd_meta const&) + 356 (definition_cmds.cpp:940)
42  lean                          	       0x10529765c lean::theorem_cmd(lean::parser&, unsigned int&, lean::cmd_meta const&) + 52 (decl_cmds.cpp:521)
43  lean                          	       0x1053604ac decltype(std::__1::forward<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&)>(fp)(std::__1::forward<lean::parser&>(fp0), std::__1::forward<unsigned int&>(fp0), std::__1::forward<lean::cmd_meta const&>(fp0))) std::__1::__invoke<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&>(lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&) + 108 (type_traits:3694)
44  lean                          	       0x105360410 lean::environment std::__1::__invoke_void_return_wrapper<lean::environment, false>::__call<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&>(lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&) + 104 (__functional_base:317)
45  lean                          	       0x105360374 std::__1::__function::__alloc_func<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&), std::__1::allocator<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&)>, lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) + 104 (functional:1558)
46  lean                          	       0x10535eed4 std::__1::__function::__func<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&), std::__1::allocator<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&)>, lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) + 104 (functional:1732)
47  lean                          	       0x105232be4 std::__1::__function::__value_func<lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) const + 132 (functional:1885)
48  lean                          	       0x105201eec std::__1::function<lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) const + 100 (functional:2560)
49  lean                          	       0x105201af4 lean::parser::parse_command(lean::cmd_meta const&) + 1016 (parser.cpp:2643)
50  lean                          	       0x105297584 lean::modifiers_cmd(lean::parser&, unsigned int&, lean::cmd_meta const&) + 2304 (decl_cmds.cpp:595)
51  lean                          	       0x105297a40 lean::compact_attribute_cmd(lean::parser&, unsigned int&, lean::cmd_meta const&) + 336 (decl_cmds.cpp:648)
52  lean                          	       0x1053604ac decltype(std::__1::forward<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&)>(fp)(std::__1::forward<lean::parser&>(fp0), std::__1::forward<unsigned int&>(fp0), std::__1::forward<lean::cmd_meta const&>(fp0))) std::__1::__invoke<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&>(lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&) + 108 (type_traits:3694)
53  lean                          	       0x105360410 lean::environment std::__1::__invoke_void_return_wrapper<lean::environment, false>::__call<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&>(lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&) + 104 (__functional_base:317)
54  lean                          	       0x105360374 std::__1::__function::__alloc_func<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&), std::__1::allocator<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&)>, lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) + 104 (functional:1558)
55  lean                          	       0x10535eed4 std::__1::__function::__func<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&), std::__1::allocator<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&)>, lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) + 104 (functional:1732)
56  lean                          	       0x105232be4 std::__1::__function::__value_func<lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) const + 132 (functional:1885)
57  lean                          	       0x105201eec std::__1::function<lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) const + 100 (functional:2560)
58  lean                          	       0x105201af4 lean::parser::parse_command(lean::cmd_meta const&) + 1016 (parser.cpp:2643)
59  lean                          	       0x105203b58 lean::parser::parse_command_like(lean::ast_data*) + 744 (parser.cpp:2869)
60  lean                          	       0x10548232c lean::module_parser::parse_next_command_like(lean::optional<std::__1::vector<std::__1::shared_ptr<lean::gtask_cell>, std::__1::allocator<std::__1::shared_ptr<lean::gtask_cell> > > > const&)::$_0::operator()() const + 188 (module_parser.cpp:75)
61  lean                          	       0x10548783c lean::task_builder<lean::module_parser_result>::base_task_imp<lean::module_parser::parse_next_command_like(lean::optional<std::__1::vector<std::__1::shared_ptr<lean::gtask_cell>, std::__1::allocator<std::__1::shared_ptr<lean::gtask_cell> > > > const&)::$_0>::execute(void*) + 40 (task_builder.h:62)
62  lean                          	       0x104838164 lean::delegating_task_imp::execute(void*) + 48 (task_builder.h:27)
63  lean                          	       0x104c7205c lean::library_scopes_imp::execute(void*) + 156 (library_task_builder.cpp:27)
64  lean                          	       0x104838164 lean::delegating_task_imp::execute(void*) + 48 (task_builder.h:27)
65  lean                          	       0x10488aa3c lean::cancellable_task_imp::execute(void*) + 72 (task_builder.cpp:22)
66  lean                          	       0x105489df0 lean::task_cell<lean::module_parser_result>::execute() + 152 (task.h:96)
67  lean                          	       0x1048895f8 lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&) + 1036 (task.cpp:58)
68  lean                          	       0x104c67ce4 lean::mt_task_queue::spawn_worker()::$_2::operator()() const + 524 (mt_task_queue.cpp:116)
69  lean                          	       0x104c67ab8 decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (type_traits:3694)
70  lean                          	       0x104c67a6c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (__functional_base:348)
71  lean                          	       0x104c67a44 std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1558)
72  lean                          	       0x104c665d4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1732)
73  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
74  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
75  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
76  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
77  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
78  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
79  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
80  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
81  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
82  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
83  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
84  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
85  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 6:
0   libsystem_kernel.dylib        	       0x1a12ed0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1a1325808 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x1a1273e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048858dc std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 324 (__mutex_base:465)
4   lean                          	       0x104c6851c void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 104 (__mutex_base:520)
5   lean                          	       0x104c682e8 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 128 (__mutex_base:423)
6   lean                          	       0x104c68cf0 bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()) + 64 (__mutex_base:435)
7   lean                          	       0x104c67f50 bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()) + 132 (__mutex_base:479)
8   lean                          	       0x104c67c38 lean::mt_task_queue::spawn_worker()::$_2::operator()() const + 352 (mt_task_queue.cpp:97)
9   lean                          	       0x104c67ab8 decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (type_traits:3694)
10  lean                          	       0x104c67a6c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (__functional_base:348)
11  lean                          	       0x104c67a44 std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1558)
12  lean                          	       0x104c665d4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1732)
13  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
14  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
15  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
16  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
17  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
18  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
19  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
20  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
21  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
22  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
23  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
24  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
25  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 7:
0   libsystem_kernel.dylib        	       0x1a12ed0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1a1325808 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x1a1273e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048858dc std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 324 (__mutex_base:465)
4   lean                          	       0x104c6851c void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 104 (__mutex_base:520)
5   lean                          	       0x104c682e8 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 128 (__mutex_base:423)
6   lean                          	       0x104c68cf0 bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()) + 64 (__mutex_base:435)
7   lean                          	       0x104c67f50 bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()) + 132 (__mutex_base:479)
8   lean                          	       0x104c67c38 lean::mt_task_queue::spawn_worker()::$_2::operator()() const + 352 (mt_task_queue.cpp:97)
9   lean                          	       0x104c67ab8 decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (type_traits:3694)
10  lean                          	       0x104c67a6c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (__functional_base:348)
11  lean                          	       0x104c67a44 std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1558)
12  lean                          	       0x104c665d4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1732)
13  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
14  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
15  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
16  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
17  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
18  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
19  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
20  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
21  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
22  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
23  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
24  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
25  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 8:
0   libsystem_kernel.dylib        	       0x1a12ed0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1a1325808 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x1a1273e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048858dc std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 324 (__mutex_base:465)
4   lean                          	       0x104c6851c void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 104 (__mutex_base:520)
5   lean                          	       0x104c682e8 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 128 (__mutex_base:423)
6   lean                          	       0x104c68180 bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()) + 64 (__mutex_base:435)
7   lean                          	       0x104c67ebc bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()) + 132 (__mutex_base:479)
8   lean                          	       0x104c67b80 lean::mt_task_queue::spawn_worker()::$_2::operator()() const + 168 (mt_task_queue.cpp:89)
9   lean                          	       0x104c67ab8 decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (type_traits:3694)
10  lean                          	       0x104c67a6c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (__functional_base:348)
11  lean                          	       0x104c67a44 std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1558)
12  lean                          	       0x104c665d4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1732)
13  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
14  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
15  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
16  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
17  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
18  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
19  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
20  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
21  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
22  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
23  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
24  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
25  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 9:
0   lean                          	       0x1047e36f8 lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell::get_rc() const + 16 (rb_tree.h:60)
1   lean                          	       0x104b7b40c lean::rb_tree<lean::name, lean::name_quick_cmp>::node::is_shared() const + 52 (rb_tree.h:46)
2   lean                          	       0x104b7b40c lean::rb_tree<lean::name, lean::name_quick_cmp>::node::is_shared() const + 52 (rb_tree.h:46)
3   lean                          	       0x104b7b38c lean::rb_tree<lean::name, lean::name_quick_cmp>::ensure_unshared(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&) + 32 (rb_tree.h:85)
4   lean                          	       0x1048b33a8 lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&) + 112 (rb_tree.h:227)
5   lean                          	       0x1048b38d0 lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&) + 1432 (rb_tree.h:245)
6   lean                          	       0x1048b3538 lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&) + 512 (rb_tree.h:232)
7   lean                          	       0x1048b3270 lean::rb_tree<lean::name, lean::name_quick_cmp>::erase_core(lean::name const&) + 164 (rb_tree.h:421)
8   lean                          	       0x1048adb10 lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::name const&) + 52 (rb_tree.h:427)
9   lean                          	       0x1048ad820 lean::subscripted_name_set::erase(lean::name const&) + 56 (subscripted_name_set.cpp:58)
10  lean                          	       0x104b74654 lean::local_context::erase_user_name(lean::local_decl const&) + 208 (local_context.cpp:193)
11  lean                          	       0x104b75c5c lean::local_context::pop_local_decl() + 184 (local_context.cpp:308)
12  lean                          	       0x104bab50c lean::type_context_old::pop_local() + 412 (type_context.cpp:221)
13  lean                          	       0x104ba9690 lean::type_context_old::tmp_locals::~tmp_locals() + 96 (type_context.cpp:60)
14  lean                          	       0x104ba96fc lean::type_context_old::tmp_locals::~tmp_locals() + 28 (type_context.cpp:58)
15  lean                          	       0x104c13618 lean::get_core(lean::type_context_old&, lean::expr const&, lean::buffer<lean::param_info, 16u>&, unsigned int) + 1000 (fun_info.cpp:94)
16  lean                          	       0x104c138cc lean::get_fun_info(lean::type_context_old&, lean::expr const&, unsigned int) + 264 (fun_info.cpp:112)
17  lean                          	       0x104bbceb0 lean::type_context_old::is_def_eq_args(lean::expr const&, lean::expr const&) + 332 (type_context.cpp:2503)
18  lean                          	       0x104bc47e4 lean::type_context_old::is_def_eq_core_core(lean::expr, lean::expr) + 3256 (type_context.cpp:3357)
19  lean                          	       0x104bba740 lean::type_context_old::is_def_eq_core(lean::expr const&, lean::expr const&) + 84 (type_context.cpp:3375)
20  lean                          	       0x104bc58ec lean::type_context_old::is_def_eq(lean::expr const&, lean::expr const&) + 116 (type_context.cpp:3385)
21  lean                          	       0x104bdbc54 lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::expr const&, lean::expr const&) + 1484 (type_context.cpp:3639)
22  lean                          	       0x104bdc360 lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::name const&) + 428 (type_context.cpp:3667)
23  lean                          	       0x104bdb4f4 lean::instance_synthesizer::process_next_alt_core(lean::instance_synthesizer::stack_entry const&, lean::list<lean::name>&) + 108 (type_context.cpp:3728)
24  lean                          	       0x104bda1e8 lean::instance_synthesizer::process_next_alt(lean::instance_synthesizer::stack_entry const&) + 344 (type_context.cpp:3745)
25  lean                          	       0x104bd8340 lean::instance_synthesizer::process_next_mvar() + 1232 (type_context.cpp:3861)
26  lean                          	       0x104bd7590 lean::instance_synthesizer::search() + 52 (type_context.cpp:3884)
27  lean                          	       0x104bd6fac lean::instance_synthesizer::mk_class_instance_core(lean::expr const&) + 360 (type_context.cpp:3960)
28  lean                          	       0x104bd6d74 lean::instance_synthesizer::main(lean::expr const&) + 60 (type_context.cpp:3965)
29  lean                          	       0x104bc7798 lean::instance_synthesizer::operator()(lean::expr const&) + 844 (type_context.cpp:3984)
30  lean                          	       0x104bbbc94 lean::type_context_old::mk_class_instance(lean::expr const&) + 500 (type_context.cpp:4150)
31  lean                          	       0x104d27174 lean::tactic_state::pp() const + 232 (tactic_state.cpp:816)
32  lean                          	       0x10546b360 lean::term_goal_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const + 80 (info_manager.cpp:121)
33  lean                          	       0x105467bdc lean::info_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const + 52 (info_manager.h:118)
34  lean                          	       0x1054678a4 lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const + 432 (info_manager.cpp:356)
35  lean                          	       0x10548ed6c lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) + 2984 (interactive.cpp:214)
36  lean                          	       0x10480f24c lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&) + 624 (server.cpp:623)
37  lean                          	       0x10483fe6c lean::server::handle_info(lean::server::cmd_req const&)::$_5::operator()() const + 60 (server.cpp:667)
38  lean                          	       0x10483fd4c lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*) + 40 (task_builder.h:62)
39  lean                          	       0x104838164 lean::delegating_task_imp::execute(void*) + 48 (task_builder.h:27)
40  lean                          	       0x104c7205c lean::library_scopes_imp::execute(void*) + 156 (library_task_builder.cpp:27)
41  lean                          	       0x10488aa3c lean::cancellable_task_imp::execute(void*) + 72 (task_builder.cpp:22)
42  lean                          	       0x10483e990 lean::task_cell<lean::server::cmd_res>::execute() + 136 (task.h:96)
43  lean                          	       0x1048895f8 lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&) + 1036 (task.cpp:58)
44  lean                          	       0x104c67ce4 lean::mt_task_queue::spawn_worker()::$_2::operator()() const + 524 (mt_task_queue.cpp:116)
45  lean                          	       0x104c67ab8 decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (type_traits:3694)
46  lean                          	       0x104c67a6c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (__functional_base:348)
47  lean                          	       0x104c67a44 std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1558)
48  lean                          	       0x104c665d4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1732)
49  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
50  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
51  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
52  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
53  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
54  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
55  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
56  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
57  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
58  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
59  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
60  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
61  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 10:
0   libsystem_kernel.dylib        	       0x1a12ed0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1a1325808 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x1a1273e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048858dc std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 324 (__mutex_base:465)
4   lean                          	       0x104c6851c void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 104 (__mutex_base:520)
5   lean                          	       0x104c682e8 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 128 (__mutex_base:423)
6   lean                          	       0x104c68cf0 bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()) + 64 (__mutex_base:435)
7   lean                          	       0x104c67f50 bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()) + 132 (__mutex_base:479)
8   lean                          	       0x104c67c38 lean::mt_task_queue::spawn_worker()::$_2::operator()() const + 352 (mt_task_queue.cpp:97)
9   lean                          	       0x104c67ab8 decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (type_traits:3694)
10  lean                          	       0x104c67a6c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (__functional_base:348)
11  lean                          	       0x104c67a44 std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1558)
12  lean                          	       0x104c665d4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1732)
13  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
14  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
15  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
16  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
17  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
18  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
19  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
20  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
21  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
22  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
23  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
24  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
25  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 11 Crashed:
0   libsystem_kernel.dylib        	       0x1a12f19b8 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x1a1324eb0 pthread_kill + 288
2   libsystem_c.dylib             	       0x1a1262314 abort + 164
3   libsystem_malloc.dylib        	       0x1a1147a1c malloc_vreport + 552
4   libsystem_malloc.dylib        	       0x1a115cc8c malloc_zone_error + 104
5   libsystem_malloc.dylib        	       0x1a1139db0 nanov2_allocate_from_block + 568
6   libsystem_malloc.dylib        	       0x1a1139394 nanov2_allocate + 128
7   libsystem_malloc.dylib        	       0x1a11392b0 nanov2_malloc + 64
8   libsystem_malloc.dylib        	       0x1a1156770 _malloc_zone_malloc + 156
9   libc++abi.dylib               	       0x1a12e38e0 operator new(unsigned long) + 32
10  lean                          	       0x104c1645c void* std::__1::__libcpp_operator_new<unsigned long>(unsigned long) + 24 (new:235)
11  lean                          	       0x104c163a4 std::__1::__libcpp_allocate(unsigned long, unsigned long) + 28 (new:261)
12  lean                          	       0x104c1616c std::__1::allocator<std::__1::__function::__func<lean::collect_deps(lean::expr const&, lean::buffer<lean::expr, 16u> const&, lean::buffer<lean::param_info, 16u>&)::$_0, std::__1::allocator<lean::collect_deps(lean::expr const&, lean::buffer<lean::expr, 16u> const&, lean::buffer<lean::param_info, 16u>&)::$_0>, bool (lean::expr const&, unsigned int)> >::allocate(unsigned long) + 76 (memory:870)
13  lean                          	       0x104c1683c std::__1::__function::__func<lean::collect_deps(lean::expr const&, lean::buffer<lean::expr, 16u> const&, lean::buffer<lean::param_info, 16u>&)::$_0, std::__1::allocator<lean::collect_deps(lean::expr const&, lean::buffer<lean::expr, 16u> const&, lean::buffer<lean::param_info, 16u>&)::$_0>, bool (lean::expr const&, unsigned int)>::__clone() const + 64 (functional:1698)
14  lean                          	       0x104905e58 std::__1::__function::__value_func<bool (lean::expr const&, unsigned int)>::__value_func(std::__1::__function::__value_func<bool (lean::expr const&, unsigned int)> const&) + 140 (functional:1820)
15  lean                          	       0x104905dbc std::__1::__function::__value_func<bool (lean::expr const&, unsigned int)>::__value_func(std::__1::__function::__value_func<bool (lean::expr const&, unsigned int)> const&) + 36 (functional:1811)
16  lean                          	       0x104905d88 std::__1::function<bool (lean::expr const&, unsigned int)>::function(std::__1::function<bool (lean::expr const&, unsigned int)> const&) + 36 (functional:2480)
17  lean                          	       0x104902d24 std::__1::function<bool (lean::expr const&, unsigned int)>::function(std::__1::function<bool (lean::expr const&, unsigned int)> const&) + 36 (functional:2480)
18  lean                          	       0x104902ca4 lean::for_each_fn::for_each_fn(std::__1::function<bool (lean::expr const&, unsigned int)> const&) + 48 (for_each_fn.cpp:121)
19  lean                          	       0x104902c08 lean::for_each_fn::for_each_fn(std::__1::function<bool (lean::expr const&, unsigned int)> const&) + 36 (for_each_fn.cpp:121)
20  lean                          	       0x104902b8c lean::for_each(lean::expr const&, std::__1::function<bool (lean::expr const&, unsigned int)>&&) + 52 (for_each_fn.cpp:126)
21  lean                          	       0x104c157a4 lean::collect_deps(lean::expr const&, lean::buffer<lean::expr, 16u> const&, lean::buffer<lean::param_info, 16u>&) + 120 (fun_info.cpp:43)
22  lean                          	       0x104c13500 lean::get_core(lean::type_context_old&, lean::expr const&, lean::buffer<lean::param_info, 16u>&, unsigned int) + 720 (fun_info.cpp:89)
23  lean                          	       0x104c138cc lean::get_fun_info(lean::type_context_old&, lean::expr const&, unsigned int) + 264 (fun_info.cpp:112)
24  lean                          	       0x104bbceb0 lean::type_context_old::is_def_eq_args(lean::expr const&, lean::expr const&) + 332 (type_context.cpp:2503)
25  lean                          	       0x104bc47e4 lean::type_context_old::is_def_eq_core_core(lean::expr, lean::expr) + 3256 (type_context.cpp:3357)
26  lean                          	       0x104bba740 lean::type_context_old::is_def_eq_core(lean::expr const&, lean::expr const&) + 84 (type_context.cpp:3375)
27  lean                          	       0x104bc58ec lean::type_context_old::is_def_eq(lean::expr const&, lean::expr const&) + 116 (type_context.cpp:3385)
28  lean                          	       0x104bdbc54 lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::expr const&, lean::expr const&) + 1484 (type_context.cpp:3639)
29  lean                          	       0x104bdc360 lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::name const&) + 428 (type_context.cpp:3667)
30  lean                          	       0x104bdb4f4 lean::instance_synthesizer::process_next_alt_core(lean::instance_synthesizer::stack_entry const&, lean::list<lean::name>&) + 108 (type_context.cpp:3728)
31  lean                          	       0x104bda1e8 lean::instance_synthesizer::process_next_alt(lean::instance_synthesizer::stack_entry const&) + 344 (type_context.cpp:3745)
32  lean                          	       0x104bd8340 lean::instance_synthesizer::process_next_mvar() + 1232 (type_context.cpp:3861)
33  lean                          	       0x104bd7590 lean::instance_synthesizer::search() + 52 (type_context.cpp:3884)
34  lean                          	       0x104bd6fac lean::instance_synthesizer::mk_class_instance_core(lean::expr const&) + 360 (type_context.cpp:3960)
35  lean                          	       0x104bd6d74 lean::instance_synthesizer::main(lean::expr const&) + 60 (type_context.cpp:3965)
36  lean                          	       0x104bc7798 lean::instance_synthesizer::operator()(lean::expr const&) + 844 (type_context.cpp:3984)
37  lean                          	       0x104bbbc94 lean::type_context_old::mk_class_instance(lean::expr const&) + 500 (type_context.cpp:4150)
38  lean                          	       0x104d27174 lean::tactic_state::pp() const + 232 (tactic_state.cpp:816)
39  lean                          	       0x10546b360 lean::term_goal_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const + 80 (info_manager.cpp:121)
40  lean                          	       0x105467bdc lean::info_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const + 52 (info_manager.h:118)
41  lean                          	       0x1054678a4 lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const + 432 (info_manager.cpp:356)
42  lean                          	       0x10548ed6c lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) + 2984 (interactive.cpp:214)
43  lean                          	       0x10480f24c lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&) + 624 (server.cpp:623)
44  lean                          	       0x10483fe6c lean::server::handle_info(lean::server::cmd_req const&)::$_5::operator()() const + 60 (server.cpp:667)
45  lean                          	       0x10483fd4c lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*) + 40 (task_builder.h:62)
46  lean                          	       0x104838164 lean::delegating_task_imp::execute(void*) + 48 (task_builder.h:27)
47  lean                          	       0x104c7205c lean::library_scopes_imp::execute(void*) + 156 (library_task_builder.cpp:27)
48  lean                          	       0x10488aa3c lean::cancellable_task_imp::execute(void*) + 72 (task_builder.cpp:22)
49  lean                          	       0x10483e990 lean::task_cell<lean::server::cmd_res>::execute() + 136 (task.h:96)
50  lean                          	       0x1048895f8 lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&) + 1036 (task.cpp:58)
51  lean                          	       0x104c67ce4 lean::mt_task_queue::spawn_worker()::$_2::operator()() const + 524 (mt_task_queue.cpp:116)
52  lean                          	       0x104c67ab8 decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (type_traits:3694)
53  lean                          	       0x104c67a6c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (__functional_base:348)
54  lean                          	       0x104c67a44 std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1558)
55  lean                          	       0x104c665d4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1732)
56  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
57  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
58  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
59  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
60  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
61  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
62  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
63  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
64  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
65  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
66  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
67  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
68  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8

Thread 12:
0   libsystem_kernel.dylib        	       0x1a12ed0c0 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1a1325808 _pthread_cond_wait + 1228
2   libc++.1.dylib                	       0x1a1273e78 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048858dc std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 324 (__mutex_base:465)
4   lean                          	       0x104c6851c void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 104 (__mutex_base:520)
5   lean                          	       0x104c682e8 std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) + 128 (__mutex_base:423)
6   lean                          	       0x104c68180 bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()) + 64 (__mutex_base:435)
7   lean                          	       0x104c67ebc bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()) + 132 (__mutex_base:479)
8   lean                          	       0x104c67b80 lean::mt_task_queue::spawn_worker()::$_2::operator()() const + 168 (mt_task_queue.cpp:89)
9   lean                          	       0x104c67ab8 decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (type_traits:3694)
10  lean                          	       0x104c67a6c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&) + 28 (__functional_base:348)
11  lean                          	       0x104c67a44 std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1558)
12  lean                          	       0x104c665d4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 28 (functional:1732)
13  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
14  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
15  lean                          	       0x10487c0c4 lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const + 44 (thread.cpp:69)
16  lean                          	       0x10487c078 decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (type_traits:3694)
17  lean                          	       0x10487c02c void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&) + 28 (__functional_base:348)
18  lean                          	       0x10487c004 std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1558)
19  lean                          	       0x10487ab14 std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()() + 28 (functional:1732)
20  lean                          	       0x1048884e4 std::__1::__function::__value_func<void ()>::operator()() const + 56 (functional:1885)
21  lean                          	       0x10488571c std::__1::function<void ()>::operator()() const + 24 (functional:2560)
22  lean                          	       0x10487c368 lean::thread_main(void*) + 64 (thread.cpp:50)
23  lean                          	       0x104879e38 lean::lthread::imp::_main(void*) + 24 (thread.cpp:106)
24  libsystem_pthread.dylib       	       0x1a1325240 _pthread_start + 148
25  libsystem_pthread.dylib       	       0x1a1320024 thread_start + 8


Thread 11 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x0000000000000000   x6: 0x0000000000000001   x7: 0x0000000108d38028
    x8: 0x51e056ee45747c0f   x9: 0x51e056ef28114c0f  x10: 0xcccccccccccccccd  x11: 0x000000000000000a
   x12: 0x0000000000000000  x13: 0x0000000000000038  x14: 0x000000005a000000  x15: 0x0000000000053000
   x16: 0x0000000000000148  x17: 0x00000001fbb03530  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x000000016d653000  x21: 0x000000000000110b  x22: 0x000000016d64e580  x23: 0x0000000108d38000
   x24: 0x0000000000000000  x25: 0x0000000000000000  x26: 0x000000016b624567  x27: 0x000000016d653000
   x28: 0x000000000000018a   fp: 0x000000016d64e490   lr: 0x00000001a1324eb0
    sp: 0x000000016d64e470   pc: 0x00000001a12f19b8 cpsr: 0x40001000
   far: 0x00000001f76c6058  esr: 0x56000080  Address size fault

Binary Images:
       0x1a12e8000 -        0x1a131dfff libsystem_kernel.dylib (*) <c8b3081a-5081-3a99-bbe3-01413de444c6> /usr/lib/system/libsystem_kernel.dylib
       0x1a11e9000 -        0x1a1269fff libsystem_c.dylib (*) <00fc01c7-36bc-3193-86a3-5c03046b45fb> /usr/lib/system/libsystem_c.dylib
       0x1a126a000 -        0x1a12cdfff libc++.1.dylib (*) <f165f001-69bd-338f-a4e1-cd6081b4f94c> /usr/lib/libc++.1.dylib
       0x1047d8000 -        0x105677fff lean (*) <34b9ab8c-03a8-327f-a650-a40fcf9b37e7> /Users/USER/*/lean
       0x108de8000 -        0x108e47fff dyld (*) <7e92b284-4b90-3b68-b31a-3ddc4c0e8d40> /usr/lib/dyld
       0x1a131e000 -        0x1a132afff libsystem_pthread.dylib (*) <ed328b18-eeef-3b15-8858-798b19b0c2cd> /usr/lib/system/libsystem_pthread.dylib
       0x1a1138000 -        0x1a1162fff libsystem_malloc.dylib (*) <0e4e31e8-030c-3527-94a1-42e266f3df58> /usr/lib/system/libsystem_malloc.dylib
       0x1a12ce000 -        0x1a12e7fff libc++abi.dylib (*) <540088b6-cc81-381f-901c-5632f4a73c45> /usr/lib/libc++abi.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=648.5M resident=0K(0%) swapped_out_or_unallocated=648.5M(100%)
Writable regions: Total=3.7G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=3.7G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Kernel Alloc Once                   32K        1 
MALLOC                             2.8G       78 
MALLOC guard page                   96K        5 
MALLOC_MEDIUM (reserved)         856.0M        8         reserved VM address space (unallocated)
STACK GUARD                       56.2M       13 
Stack                            104.4M       13 
VM_ALLOCATE                        1.0G        2 
__AUTH                              46K       11 
__AUTH_CONST                        67K       38 
__DATA                             221K       39 
__DATA_CONST                       483K       41 
__DATA_DIRTY                        73K       21 
__LINKEDIT                       629.1M        4 
__OBJC_CONST                        10K        5 
__OBJC_RO                         82.0M        1 
__OBJC_RW                         3104K        1 
__TEXT                            19.4M       44 
dyld private memory               1408K        3 
shared memory                       16K        1 
===========                     =======  ======= 
TOTAL                              5.5G      329 
TOTAL, minus reserved VM space     4.6G      329 



-----------
Full Report
-----------

{"app_name":"lean","timestamp":"2022-02-05 12:58:43.00 -0500","app_version":"","slice_uuid":"34b9ab8c-03a8-327f-a650-a40fcf9b37e7","build_version":"","platform":1,"share_with_app_devs":0,"is_first_party":1,"bug_type":"309","os_version":"macOS 12.1 (21C52)","incident_id":"CF0CBF65-9B4D-405B-AB20-3D62F308ACAE","name":"lean"}
{
  "uptime" : 220000,
  "procLaunch" : "2022-02-05 12:48:38.1269 -0500",
  "procRole" : "Unspecified",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookAir10,1",
  "procStartAbsTime" : 5385156071820,
  "coalitionID" : 522,
  "osVersion" : {
    "train" : "macOS 12.1",
    "build" : "21C52",
    "releaseType" : "User"
  },
  "captureTime" : "2022-02-05 12:58:37.0777 -0500",
  "incident" : "CF0CBF65-9B4D-405B-AB20-3D62F308ACAE",
  "bug_type" : "309",
  "pid" : 89652,
  "procExitAbsTime" : 5399530850992,
  "translated" : false,
  "cpuType" : "ARM-64",
  "procName" : "lean",
  "procPath" : "\/Users\/USER\/*\/lean",
  "parentProc" : "node",
  "parentPid" : 89649,
  "coalitionName" : "net.kovidgoyal.kitty",
  "crashReporterKey" : "FF557271-B3EE-C222-A3E1-8A5FB0C2AF13",
  "responsiblePid" : 22693,
  "responsibleProc" : "kitty",
  "wakeTime" : 5172,
  "sleepWakeUUID" : "5C04B1C8-A1A9-4EFB-B077-7520D8E75D20",
  "sip" : "enabled",
  "isCorpse" : 1,
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "asi" : {"libsystem_malloc.dylib":["lean(89652,0x16d653000) malloc: Heap corruption detected, free list is damaged at 0x600055857120","*** Incorrect guard value: 257014237458719"],"libsystem_c.dylib":["abort() called"]},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 11,
  "threads" : [{"id":1914183,"queue":"com.apple.main-thread","frames":[{"imageOffset":14532,"symbol":"__read_nocancel","symbolLocation":8,"imageIndex":0},{"imageOffset":204696,"symbol":"__sread","symbolLocation":24,"imageIndex":1},{"imageOffset":54308,"symbol":"_sread","symbolLocation":32,"imageIndex":1},{"imageOffset":54200,"symbol":"__srefill1","symbolLocation":36,"imageIndex":1},{"imageOffset":164944,"symbol":"__srget","symbolLocation":24,"imageIndex":1},{"imageOffset":222092,"symbol":"getc","symbolLocation":72,"imageIndex":1},{"imageOffset":173476,"symbol":"std::__1::__stdinbuf<char>::__getchar(bool)","symbolLocation":160,"imageIndex":2},{"imageOffset":369300,"sourceLine":188,"sourceFile":"streambuf","symbol":"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::sbumpc()","imageIndex":3,"symbolLocation":56},{"imageOffset":368708,"sourceLine":1532,"sourceFile":"istream","symbol":"std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char)","imageIndex":3,"symbolLocation":112},{"imageOffset":206888,"sourceLine":1574,"sourceFile":"istream","symbol":"std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)","imageIndex":3,"symbolLocation":84},{"imageOffset":206260,"sourceLine":408,"sourceFile":"server.cpp","symbol":"lean::server::run()","imageIndex":3,"symbolLocation":132},{"imageOffset":17388,"sourceLine":609,"sourceFile":"lean.cpp","symbol":"main","imageIndex":3,"symbolLocation":3840},{"imageOffset":20724,"symbol":"start","symbolLocation":520,"imageIndex":4}]},{"id":1914184,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30728,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40412,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":2},{"imageOffset":709384,"sourceLine":40,"sourceFile":"timer.cpp","symbol":"lean::single_timer::worker()","imageIndex":3,"symbolLocation":488},{"imageOffset":720200,"sourceLine":3635,"sourceFile":"type_traits","symbol":"decltype(*(std::__1::forward<lean::single_timer*&>(fp0)).*fp()) std::__1::__invoke<void (lean::single_timer::*&)(), lean::single_timer*&, void>(void (lean::single_timer::*&)(), lean::single_timer*&)","imageIndex":3,"symbolLocation":108},{"imageOffset":720080,"sourceLine":2857,"sourceFile":"functional","symbol":"std::__1::__bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<>, __is_valid_bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, 0ul, std::__1::tuple<> >(void (lean::single_timer::*&)(), std::__1::tuple<lean::single_timer*>&, std::__1::__tuple_indices<0ul>, std::__1::tuple<>&&)","imageIndex":3,"symbolLocation":60},{"imageOffset":720008,"sourceLine":2890,"sourceFile":"functional","symbol":"std::__1::__bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<>, __is_valid_bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<> >::value>::type std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>::operator()<>()","imageIndex":3,"symbolLocation":36},{"imageOffset":719940,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(fp)()) std::__1::__invoke<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&)","imageIndex":3,"symbolLocation":28},{"imageOffset":719864,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&)","imageIndex":3,"symbolLocation":28},{"imageOffset":719824,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>, std::__1::allocator<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*> >, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":715076,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>, std::__1::allocator<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*> >, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":1914185,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30728,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":710876,"sourceLine":465,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&)","imageIndex":3,"symbolLocation":324},{"imageOffset":709364,"sourceLine":38,"sourceFile":"timer.cpp","symbol":"lean::single_timer::worker()","imageIndex":3,"symbolLocation":468},{"imageOffset":720200,"sourceLine":3635,"sourceFile":"type_traits","symbol":"decltype(*(std::__1::forward<lean::single_timer*&>(fp0)).*fp()) std::__1::__invoke<void (lean::single_timer::*&)(), lean::single_timer*&, void>(void (lean::single_timer::*&)(), lean::single_timer*&)","imageIndex":3,"symbolLocation":108},{"imageOffset":720080,"sourceLine":2857,"sourceFile":"functional","symbol":"std::__1::__bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<>, __is_valid_bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, 0ul, std::__1::tuple<> >(void (lean::single_timer::*&)(), std::__1::tuple<lean::single_timer*>&, std::__1::__tuple_indices<0ul>, std::__1::tuple<>&&)","imageIndex":3,"symbolLocation":60},{"imageOffset":720008,"sourceLine":2890,"sourceFile":"functional","symbol":"std::__1::__bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<>, __is_valid_bind_return<void (lean::single_timer::*)(), std::__1::tuple<lean::single_timer*>, std::__1::tuple<> >::value>::type std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>::operator()<>()","imageIndex":3,"symbolLocation":36},{"imageOffset":719940,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(fp)()) std::__1::__invoke<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&)","imageIndex":3,"symbolLocation":28},{"imageOffset":719864,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&>(std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>&)","imageIndex":3,"symbolLocation":28},{"imageOffset":719824,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>, std::__1::allocator<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*> >, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":715076,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*>, std::__1::allocator<std::__1::__bind<void (lean::single_timer::*)(), lean::single_timer*> >, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":1920450,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30728,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":710876,"sourceLine":465,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&)","imageIndex":3,"symbolLocation":324},{"imageOffset":4785436,"sourceLine":520,"sourceFile":"__mutex_base","symbol":"void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","imageIndex":3,"symbolLocation":104},{"imageOffset":4784872,"sourceLine":423,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","imageIndex":3,"symbolLocation":128},{"imageOffset":4787440,"sourceLine":435,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'())","imageIndex":3,"symbolLocation":64},{"imageOffset":4783952,"sourceLine":479,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'())","imageIndex":3,"symbolLocation":132},{"imageOffset":4783160,"sourceLine":97,"sourceFile":"mt_task_queue.cpp","symbol":"lean::mt_task_queue::spawn_worker()::$_2::operator()() const","imageIndex":3,"symbolLocation":352},{"imageOffset":4782776,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782700,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782660,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":4777428,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":1920679,"frames":[{"imageOffset":3818524,"sourceLine":3951,"sourceFile":"type_traits","symbol":"std::__1::enable_if<(is_move_constructible<lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell*>::value) && (is_move_assignable<lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell*>::value), void>::type std::__1::swap<lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell*>(lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell*&, lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell*&)","imageIndex":3,"symbolLocation":20},{"imageOffset":3818492,"sourceLine":51,"sourceFile":"rb_tree.h","symbol":"lean::swap(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&, lean::rb_tree<lean::name, lean::name_quick_cmp>::node&)","imageIndex":3,"symbolLocation":32},{"imageOffset":3818492,"sourceLine":51,"sourceFile":"rb_tree.h","symbol":"lean::swap(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&, lean::rb_tree<lean::name, lean::name_quick_cmp>::node&)","imageIndex":3,"symbolLocation":32},{"imageOffset":3813240,"sourceLine":52,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::node::steal()","imageIndex":3,"symbolLocation":68},{"imageOffset":898496,"sourceLine":235,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&)","imageIndex":3,"symbolLocation":648},{"imageOffset":899280,"sourceLine":245,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&)","imageIndex":3,"symbolLocation":1432},{"imageOffset":898360,"sourceLine":232,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&)","imageIndex":3,"symbolLocation":512},{"imageOffset":897648,"sourceLine":421,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::erase_core(lean::name const&)","imageIndex":3,"symbolLocation":164},{"imageOffset":875280,"sourceLine":427,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::name const&)","imageIndex":3,"symbolLocation":52},{"imageOffset":874528,"sourceLine":58,"sourceFile":"subscripted_name_set.cpp","symbol":"lean::subscripted_name_set::erase(lean::name const&)","imageIndex":3,"symbolLocation":56},{"imageOffset":3786324,"sourceLine":193,"sourceFile":"local_context.cpp","symbol":"lean::local_context::erase_user_name(lean::local_decl const&)","imageIndex":3,"symbolLocation":208},{"imageOffset":3791964,"sourceLine":308,"sourceFile":"local_context.cpp","symbol":"lean::local_context::pop_local_decl()","imageIndex":3,"symbolLocation":184},{"imageOffset":4011276,"sourceLine":221,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::pop_local()","imageIndex":3,"symbolLocation":412},{"imageOffset":4003472,"sourceLine":60,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::tmp_locals::~tmp_locals()","imageIndex":3,"symbolLocation":96},{"imageOffset":4003580,"sourceLine":58,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::tmp_locals::~tmp_locals()","imageIndex":3,"symbolLocation":28},{"imageOffset":4437528,"sourceLine":94,"sourceFile":"fun_info.cpp","symbol":"lean::get_core(lean::type_context_old&, lean::expr const&, lean::buffer<lean::param_info, 16u>&, unsigned int)","imageIndex":3,"symbolLocation":1000},{"imageOffset":4438220,"sourceLine":112,"sourceFile":"fun_info.cpp","symbol":"lean::get_fun_info(lean::type_context_old&, lean::expr const&, unsigned int)","imageIndex":3,"symbolLocation":264},{"imageOffset":4083376,"sourceLine":2503,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq_args(lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":332},{"imageOffset":4114404,"sourceLine":3357,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq_core_core(lean::expr, lean::expr)","imageIndex":3,"symbolLocation":3256},{"imageOffset":4073280,"sourceLine":3375,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq_core(lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":84},{"imageOffset":4118764,"sourceLine":3385,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq(lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":116},{"imageOffset":4209748,"sourceLine":3639,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":1484},{"imageOffset":4211552,"sourceLine":3667,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::name const&)","imageIndex":3,"symbolLocation":428},{"imageOffset":4207860,"sourceLine":3728,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::process_next_alt_core(lean::instance_synthesizer::stack_entry const&, lean::list<lean::name>&)","imageIndex":3,"symbolLocation":108},{"imageOffset":4202984,"sourceLine":3745,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::process_next_alt(lean::instance_synthesizer::stack_entry const&)","imageIndex":3,"symbolLocation":344},{"imageOffset":4195136,"sourceLine":3861,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::process_next_mvar()","imageIndex":3,"symbolLocation":1232},{"imageOffset":4191632,"sourceLine":3884,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::search()","imageIndex":3,"symbolLocation":52},{"imageOffset":4190124,"sourceLine":3960,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::mk_class_instance_core(lean::expr const&)","imageIndex":3,"symbolLocation":360},{"imageOffset":4189556,"sourceLine":3965,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::main(lean::expr const&)","imageIndex":3,"symbolLocation":60},{"imageOffset":4126616,"sourceLine":3984,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::operator()(lean::expr const&)","imageIndex":3,"symbolLocation":844},{"imageOffset":4078740,"sourceLine":4150,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::mk_class_instance(lean::expr const&)","imageIndex":3,"symbolLocation":500},{"imageOffset":5566836,"sourceLine":816,"sourceFile":"tactic_state.cpp","symbol":"lean::tactic_state::pp() const","imageIndex":3,"symbolLocation":232},{"imageOffset":13185888,"sourceLine":121,"sourceFile":"info_manager.cpp","symbol":"lean::term_goal_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const","imageIndex":3,"symbolLocation":80},{"imageOffset":13171676,"sourceLine":118,"sourceFile":"info_manager.h","symbol":"lean::info_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const","imageIndex":3,"symbolLocation":52},{"imageOffset":13170852,"sourceLine":356,"sourceFile":"info_manager.cpp","symbol":"lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const","imageIndex":3,"symbolLocation":432},{"imageOffset":13331820,"sourceLine":214,"sourceFile":"interactive.cpp","symbol":"lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&)","imageIndex":3,"symbolLocation":2984},{"imageOffset":225868,"sourceLine":623,"sourceFile":"server.cpp","symbol":"lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&)","imageIndex":3,"symbolLocation":624},{"imageOffset":425580,"sourceLine":667,"sourceFile":"server.cpp","symbol":"lean::server::handle_info(lean::server::cmd_req const&)::$_5::operator()() const","imageIndex":3,"symbolLocation":60},{"imageOffset":425292,"sourceLine":62,"sourceFile":"task_builder.h","symbol":"lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*)","imageIndex":3,"symbolLocation":40},{"imageOffset":393572,"sourceLine":27,"sourceFile":"task_builder.h","symbol":"lean::delegating_task_imp::execute(void*)","imageIndex":3,"symbolLocation":48},{"imageOffset":4825180,"sourceLine":27,"sourceFile":"library_task_builder.cpp","symbol":"lean::library_scopes_imp::execute(void*)","imageIndex":3,"symbolLocation":156},{"imageOffset":731708,"sourceLine":22,"sourceFile":"task_builder.cpp","symbol":"lean::cancellable_task_imp::execute(void*)","imageIndex":3,"symbolLocation":72},{"imageOffset":420240,"sourceLine":96,"sourceFile":"task.h","symbol":"lean::task_cell<lean::server::cmd_res>::execute()","imageIndex":3,"symbolLocation":136},{"imageOffset":726520,"sourceLine":58,"sourceFile":"task.cpp","symbol":"lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&)","imageIndex":3,"symbolLocation":1036},{"imageOffset":4783332,"sourceLine":116,"sourceFile":"mt_task_queue.cpp","symbol":"lean::mt_task_queue::spawn_worker()::$_2::operator()() const","imageIndex":3,"symbolLocation":524},{"imageOffset":4782776,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782700,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782660,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":4777428,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":1920682,"frames":[{"imageOffset":61808,"sourceLine":17,"sourceFile":"rb_map.h","symbol":"lean::rb_map<lean::name, lean::local_decl, lean::name_quick_cmp>::~rb_map()","imageIndex":3,"symbolLocation":28},{"imageOffset":61808,"sourceLine":17,"sourceFile":"rb_map.h","symbol":"lean::rb_map<lean::name, lean::local_decl, lean::name_quick_cmp>::~rb_map()","imageIndex":3,"symbolLocation":28},{"imageOffset":67072,"sourceLine":83,"sourceFile":"local_context.h","symbol":"lean::local_context::~local_context()","imageIndex":3,"symbolLocation":80},{"imageOffset":58564,"sourceLine":83,"sourceFile":"local_context.h","symbol":"lean::local_context::~local_context()","imageIndex":3,"symbolLocation":28},{"imageOffset":9990848,"sourceLine":24,"sourceFile":"compiler_step_visitor.cpp","symbol":"lean::compiler_step_visitor::compiler_step_visitor(lean::environment const&, lean::abstract_context_cache&)","imageIndex":3,"symbolLocation":164},{"imageOffset":10296296,"sourceLine":59,"sourceFile":"extract_values.cpp","symbol":"lean::extract_values_fn::extract_values_fn(lean::environment const&, lean::abstract_context_cache&, lean::name const&)","imageIndex":3,"symbolLocation":64},{"imageOffset":10295928,"sourceLine":59,"sourceFile":"extract_values.cpp","symbol":"lean::extract_values_fn::extract_values_fn(lean::environment const&, lean::abstract_context_cache&, lean::name const&)","imageIndex":3,"symbolLocation":52},{"imageOffset":10295596,"sourceLine":74,"sourceFile":"extract_values.cpp","symbol":"lean::extract_values(lean::environment const&, lean::abstract_context_cache&, lean::name const&, lean::buffer<lean::procedure, 16u>&)","imageIndex":3,"symbolLocation":68},{"imageOffset":9945052,"sourceLine":281,"sourceFile":"preprocess.cpp","symbol":"lean::preprocess_fn::operator()(lean::declaration const&, lean::buffer<lean::procedure, 16u>&)","imageIndex":3,"symbolLocation":6632},{"imageOffset":9938308,"sourceLine":291,"sourceFile":"preprocess.cpp","symbol":"lean::preprocess(lean::environment const&, lean::options const&, lean::declaration const&, lean::buffer<lean::procedure, 16u>&)","imageIndex":3,"symbolLocation":80},{"imageOffset":9946656,"sourceLine":297,"sourceFile":"preprocess.cpp","symbol":"lean::preprocess(lean::environment const&, lean::options const&, lean::buffer<lean::declaration, 16u> const&, lean::buffer<lean::procedure, 16u>&)","imageIndex":3,"symbolLocation":136},{"imageOffset":10213664,"sourceLine":376,"sourceFile":"vm_compiler.cpp","symbol":"lean::vm_compile(lean::environment const&, lean::options const&, lean::buffer<lean::declaration, 16u> const&, bool)","imageIndex":3,"symbolLocation":92},{"imageOffset":10216340,"sourceLine":408,"sourceFile":"vm_compiler.cpp","symbol":"lean::vm_compile(lean::environment const&, lean::options const&, lean::declaration const&, bool)","imageIndex":3,"symbolLocation":380},{"imageOffset":9703640,"sourceLine":240,"sourceFile":"interaction_state_imp.h","symbol":"lean::interaction_monad<lean::lean_parser_state>::evaluator::compile(lean::name const&, lean::expr const&)","imageIndex":3,"symbolLocation":996},{"imageOffset":9704924,"sourceLine":270,"sourceFile":"interaction_state_imp.h","symbol":"lean::interaction_monad<lean::lean_parser_state>::evaluator::operator()(lean::expr const&, lean::buffer<lean::vm_obj, 16u> const&, lean::lean_parser_state const&)","imageIndex":3,"symbolLocation":104},{"imageOffset":9706640,"sourceLine":54,"sourceFile":"vm_parser.cpp","symbol":"lean::run_parser(lean::parser&, lean::expr const&, lean::buffer<lean::vm_obj, 16u> const&, bool)","imageIndex":3,"symbolLocation":336},{"imageOffset":9707784,"sourceLine":72,"sourceFile":"vm_parser.cpp","symbol":"lean::parse_interactive_param(lean::parser&, lean::ast_data&, lean::expr const&)","imageIndex":3,"symbolLocation":668},{"imageOffset":13134184,"sourceLine":185,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_interactive_tactic(lean::parser&, lean::name const&, lean::ast_data&, lean::name const&, bool)","imageIndex":3,"symbolLocation":384},{"imageOffset":13129416,"sourceLine":272,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_tactic_fn::parse_elem_core(bool)","imageIndex":3,"symbolLocation":464},{"imageOffset":13125996,"sourceLine":359,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_tactic_fn::parse_elem(bool, bool)","imageIndex":3,"symbolLocation":2472},{"imageOffset":13123196,"sourceLine":403,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_tactic_fn::operator()(bool)","imageIndex":3,"symbolLocation":64},{"imageOffset":13123052,"sourceLine":414,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_tactic_core(lean::parser&, lean::name const&, bool)","imageIndex":3,"symbolLocation":108},{"imageOffset":13098636,"sourceLine":422,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_tactic(lean::parser&, lean::name const&, bool)","imageIndex":3,"symbolLocation":160},{"imageOffset":13106848,"sourceLine":517,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_begin_end_block_fn::parse_tactic()","imageIndex":3,"symbolLocation":44},{"imageOffset":13103284,"sourceLine":552,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_begin_end_block_fn::operator()(std::__1::pair<unsigned int, unsigned int> const&, lean::name const&)","imageIndex":3,"symbolLocation":1060},{"imageOffset":13096628,"sourceLine":591,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_begin_end_block(lean::parser&, std::__1::pair<unsigned int, unsigned int> const&, lean::name const&, lean::name, bool)","imageIndex":3,"symbolLocation":120},{"imageOffset":13096872,"sourceLine":599,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_begin_end_expr_core(lean::parser&, std::__1::pair<unsigned int, unsigned int> const&, lean::name const&)","imageIndex":3,"symbolLocation":164},{"imageOffset":13097144,"sourceLine":604,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_begin_end_expr(lean::parser&, std::__1::pair<unsigned int, unsigned int> const&)","imageIndex":3,"symbolLocation":68},{"imageOffset":13097280,"sourceLine":612,"sourceFile":"tactic_notation.cpp","symbol":"lean::parse_begin_end(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)","imageIndex":3,"symbolLocation":44},{"imageOffset":11139880,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::expr (*&)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>(fp)(std::__1::forward<lean::parser&>(fp0), std::__1::forward<unsigned int>(fp0), std::__1::forward<lean::expr const*>(fp0), std::__1::forward<std::__1::pair<unsigned int, unsigned int> const&>(fp0))) std::__1::__invoke<lean::expr (*&)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&>(lean::expr (*&)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), lean::parser&, unsigned int&&, lean::expr const*&&, std::__1::pair<unsigned int, unsigned int> const&)","imageIndex":3,"symbolLocation":136},{"imageOffset":11139696,"sourceLine":317,"sourceFile":"__functional_base","symbol":"lean::expr std::__1::__invoke_void_return_wrapper<lean::expr, false>::__call<lean::expr (*&)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&>(lean::expr (*&)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), lean::parser&, unsigned int&&, lean::expr const*&&, std::__1::pair<unsigned int, unsigned int> const&)","imageIndex":3,"symbolLocation":124},{"imageOffset":11139520,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::expr (*)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), std::__1::allocator<lean::expr (*)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>, lean::expr (lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>::operator()(lean::parser&, unsigned int&&, lean::expr const*&&, std::__1::pair<unsigned int, unsigned int> const&)","imageIndex":3,"symbolLocation":124},{"imageOffset":11134220,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::expr (*)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&), std::__1::allocator<lean::expr (*)(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>, lean::expr (lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>::operator()(lean::parser&, unsigned int&&, lean::expr const*&&, std::__1::pair<unsigned int, unsigned int> const&)","imageIndex":3,"symbolLocation":124},{"imageOffset":10824620,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<lean::expr (lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>::operator()(lean::parser&, unsigned int&&, lean::expr const*&&, std::__1::pair<unsigned int, unsigned int> const&) const","imageIndex":3,"symbolLocation":152},{"imageOffset":10637616,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<lean::expr (lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&)>::operator()(lean::parser&, unsigned int, lean::expr const*, std::__1::pair<unsigned int, unsigned int> const&) const","imageIndex":3,"symbolLocation":144},{"imageOffset":10631404,"sourceLine":1545,"sourceFile":"parser.cpp","symbol":"lean::parser::parse_notation(lean::notation::parse_table, lean::expr*)","imageIndex":3,"symbolLocation":4020},{"imageOffset":10638616,"sourceLine":1619,"sourceFile":"parser.cpp","symbol":"lean::parser::parse_nud_notation()","imageIndex":3,"symbolLocation":72},{"imageOffset":10651052,"sourceLine":2423,"sourceFile":"parser.cpp","symbol":"lean::parser::parse_nud()","imageIndex":3,"symbolLocation":136},{"imageOffset":10604324,"sourceLine":2551,"sourceFile":"parser.cpp","symbol":"lean::parser::parse_expr(unsigned int)","imageIndex":3,"symbolLocation":48},{"imageOffset":12939832,"sourceLine":558,"sourceFile":"definition_cmds.cpp","symbol":"lean::parser::parse_definition(lean::ast_data*, lean::buffer<lean::name, 16u>&, lean::buffer<lean::expr, 16u>&, bool, bool, bool, bool)","imageIndex":3,"symbolLocation":1472},{"imageOffset":12945580,"sourceLine":803,"sourceFile":"definition_cmds.cpp","symbol":"lean::single_definition_cmd_core(lean::parser_info&, lean::decl_cmd_kind, lean::ast_data*, lean::cmd_meta)","imageIndex":3,"symbolLocation":864},{"imageOffset":12953692,"sourceLine":940,"sourceFile":"definition_cmds.cpp","symbol":"lean::definition_cmd_core(lean::parser&, lean::decl_cmd_kind, unsigned int, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":356},{"imageOffset":11269724,"sourceLine":521,"sourceFile":"decl_cmds.cpp","symbol":"lean::theorem_cmd(lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":52},{"imageOffset":12092588,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&)>(fp)(std::__1::forward<lean::parser&>(fp0), std::__1::forward<unsigned int&>(fp0), std::__1::forward<lean::cmd_meta const&>(fp0))) std::__1::__invoke<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&>(lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":108},{"imageOffset":12092432,"sourceLine":317,"sourceFile":"__functional_base","symbol":"lean::environment std::__1::__invoke_void_return_wrapper<lean::environment, false>::__call<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&>(lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":104},{"imageOffset":12092276,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&), std::__1::allocator<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&)>, lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":104},{"imageOffset":12086996,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&), std::__1::allocator<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&)>, lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":104},{"imageOffset":10857444,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) const","imageIndex":3,"symbolLocation":132},{"imageOffset":10657516,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) const","imageIndex":3,"symbolLocation":100},{"imageOffset":10656500,"sourceLine":2643,"sourceFile":"parser.cpp","symbol":"lean::parser::parse_command(lean::cmd_meta const&)","imageIndex":3,"symbolLocation":1016},{"imageOffset":11269508,"sourceLine":595,"sourceFile":"decl_cmds.cpp","symbol":"lean::modifiers_cmd(lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":2304},{"imageOffset":11270720,"sourceLine":648,"sourceFile":"decl_cmds.cpp","symbol":"lean::compact_attribute_cmd(lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":336},{"imageOffset":12092588,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&)>(fp)(std::__1::forward<lean::parser&>(fp0), std::__1::forward<unsigned int&>(fp0), std::__1::forward<lean::cmd_meta const&>(fp0))) std::__1::__invoke<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&>(lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":108},{"imageOffset":12092432,"sourceLine":317,"sourceFile":"__functional_base","symbol":"lean::environment std::__1::__invoke_void_return_wrapper<lean::environment, false>::__call<lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&>(lean::environment (*&)(lean::parser&, unsigned int&, lean::cmd_meta const&), lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":104},{"imageOffset":12092276,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&), std::__1::allocator<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&)>, lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":104},{"imageOffset":12086996,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&), std::__1::allocator<lean::environment (*)(lean::parser&, unsigned int&, lean::cmd_meta const&)>, lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&)","imageIndex":3,"symbolLocation":104},{"imageOffset":10857444,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) const","imageIndex":3,"symbolLocation":132},{"imageOffset":10657516,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<lean::environment (lean::parser&, unsigned int&, lean::cmd_meta const&)>::operator()(lean::parser&, unsigned int&, lean::cmd_meta const&) const","imageIndex":3,"symbolLocation":100},{"imageOffset":10656500,"sourceLine":2643,"sourceFile":"parser.cpp","symbol":"lean::parser::parse_command(lean::cmd_meta const&)","imageIndex":3,"symbolLocation":1016},{"imageOffset":10664792,"sourceLine":2869,"sourceFile":"parser.cpp","symbol":"lean::parser::parse_command_like(lean::ast_data*)","imageIndex":3,"symbolLocation":744},{"imageOffset":13280044,"sourceLine":75,"sourceFile":"module_parser.cpp","symbol":"lean::module_parser::parse_next_command_like(lean::optional<std::__1::vector<std::__1::shared_ptr<lean::gtask_cell>, std::__1::allocator<std::__1::shared_ptr<lean::gtask_cell> > > > const&)::$_0::operator()() const","imageIndex":3,"symbolLocation":188},{"imageOffset":13301820,"sourceLine":62,"sourceFile":"task_builder.h","symbol":"lean::task_builder<lean::module_parser_result>::base_task_imp<lean::module_parser::parse_next_command_like(lean::optional<std::__1::vector<std::__1::shared_ptr<lean::gtask_cell>, std::__1::allocator<std::__1::shared_ptr<lean::gtask_cell> > > > const&)::$_0>::execute(void*)","imageIndex":3,"symbolLocation":40},{"imageOffset":393572,"sourceLine":27,"sourceFile":"task_builder.h","symbol":"lean::delegating_task_imp::execute(void*)","imageIndex":3,"symbolLocation":48},{"imageOffset":4825180,"sourceLine":27,"sourceFile":"library_task_builder.cpp","symbol":"lean::library_scopes_imp::execute(void*)","imageIndex":3,"symbolLocation":156},{"imageOffset":393572,"sourceLine":27,"sourceFile":"task_builder.h","symbol":"lean::delegating_task_imp::execute(void*)","imageIndex":3,"symbolLocation":48},{"imageOffset":731708,"sourceLine":22,"sourceFile":"task_builder.cpp","symbol":"lean::cancellable_task_imp::execute(void*)","imageIndex":3,"symbolLocation":72},{"imageOffset":13311472,"sourceLine":96,"sourceFile":"task.h","symbol":"lean::task_cell<lean::module_parser_result>::execute()","imageIndex":3,"symbolLocation":152},{"imageOffset":726520,"sourceLine":58,"sourceFile":"task.cpp","symbol":"lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&)","imageIndex":3,"symbolLocation":1036},{"imageOffset":4783332,"sourceLine":116,"sourceFile":"mt_task_queue.cpp","symbol":"lean::mt_task_queue::spawn_worker()::$_2::operator()() const","imageIndex":3,"symbolLocation":524},{"imageOffset":4782776,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782700,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782660,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":4777428,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":1920726,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30728,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":710876,"sourceLine":465,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&)","imageIndex":3,"symbolLocation":324},{"imageOffset":4785436,"sourceLine":520,"sourceFile":"__mutex_base","symbol":"void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","imageIndex":3,"symbolLocation":104},{"imageOffset":4784872,"sourceLine":423,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","imageIndex":3,"symbolLocation":128},{"imageOffset":4787440,"sourceLine":435,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'())","imageIndex":3,"symbolLocation":64},{"imageOffset":4783952,"sourceLine":479,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'())","imageIndex":3,"symbolLocation":132},{"imageOffset":4783160,"sourceLine":97,"sourceFile":"mt_task_queue.cpp","symbol":"lean::mt_task_queue::spawn_worker()::$_2::operator()() const","imageIndex":3,"symbolLocation":352},{"imageOffset":4782776,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782700,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782660,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":4777428,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":1920743,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30728,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":710876,"sourceLine":465,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&)","imageIndex":3,"symbolLocation":324},{"imageOffset":4785436,"sourceLine":520,"sourceFile":"__mutex_base","symbol":"void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","imageIndex":3,"symbolLocation":104},{"imageOffset":4784872,"sourceLine":423,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","imageIndex":3,"symbolLocation":128},{"imageOffset":4787440,"sourceLine":435,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'())","imageIndex":3,"symbolLocation":64},{"imageOffset":4783952,"sourceLine":479,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'())","imageIndex":3,"symbolLocation":132},{"imageOffset":4783160,"sourceLine":97,"sourceFile":"mt_task_queue.cpp","symbol":"lean::mt_task_queue::spawn_worker()::$_2::operator()() const","imageIndex":3,"symbolLocation":352},{"imageOffset":4782776,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782700,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782660,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":4777428,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":1920751,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30728,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":710876,"sourceLine":465,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&)","imageIndex":3,"symbolLocation":324},{"imageOffset":4785436,"sourceLine":520,"sourceFile":"__mutex_base","symbol":"void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","imageIndex":3,"symbolLocation":104},{"imageOffset":4784872,"sourceLine":423,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","imageIndex":3,"symbolLocation":128},{"imageOffset":4784512,"sourceLine":435,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'())","imageIndex":3,"symbolLocation":64},{"imageOffset":4783804,"sourceLine":479,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'())","imageIndex":3,"symbolLocation":132},{"imageOffset":4782976,"sourceLine":89,"sourceFile":"mt_task_queue.cpp","symbol":"lean::mt_task_queue::spawn_worker()::$_2::operator()() const","imageIndex":3,"symbolLocation":168},{"imageOffset":4782776,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782700,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782660,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":4777428,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":1920752,"frames":[{"imageOffset":46840,"sourceLine":60,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::node_cell::get_rc() const","imageIndex":3,"symbolLocation":16},{"imageOffset":3814412,"sourceLine":46,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::node::is_shared() const","imageIndex":3,"symbolLocation":52},{"imageOffset":3814412,"sourceLine":46,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::node::is_shared() const","imageIndex":3,"symbolLocation":52},{"imageOffset":3814284,"sourceLine":85,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::ensure_unshared(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&)","imageIndex":3,"symbolLocation":32},{"imageOffset":897960,"sourceLine":227,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&)","imageIndex":3,"symbolLocation":112},{"imageOffset":899280,"sourceLine":245,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&)","imageIndex":3,"symbolLocation":1432},{"imageOffset":898360,"sourceLine":232,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::rb_tree<lean::name, lean::name_quick_cmp>::node&&, lean::name const&)","imageIndex":3,"symbolLocation":512},{"imageOffset":897648,"sourceLine":421,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::erase_core(lean::name const&)","imageIndex":3,"symbolLocation":164},{"imageOffset":875280,"sourceLine":427,"sourceFile":"rb_tree.h","symbol":"lean::rb_tree<lean::name, lean::name_quick_cmp>::erase(lean::name const&)","imageIndex":3,"symbolLocation":52},{"imageOffset":874528,"sourceLine":58,"sourceFile":"subscripted_name_set.cpp","symbol":"lean::subscripted_name_set::erase(lean::name const&)","imageIndex":3,"symbolLocation":56},{"imageOffset":3786324,"sourceLine":193,"sourceFile":"local_context.cpp","symbol":"lean::local_context::erase_user_name(lean::local_decl const&)","imageIndex":3,"symbolLocation":208},{"imageOffset":3791964,"sourceLine":308,"sourceFile":"local_context.cpp","symbol":"lean::local_context::pop_local_decl()","imageIndex":3,"symbolLocation":184},{"imageOffset":4011276,"sourceLine":221,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::pop_local()","imageIndex":3,"symbolLocation":412},{"imageOffset":4003472,"sourceLine":60,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::tmp_locals::~tmp_locals()","imageIndex":3,"symbolLocation":96},{"imageOffset":4003580,"sourceLine":58,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::tmp_locals::~tmp_locals()","imageIndex":3,"symbolLocation":28},{"imageOffset":4437528,"sourceLine":94,"sourceFile":"fun_info.cpp","symbol":"lean::get_core(lean::type_context_old&, lean::expr const&, lean::buffer<lean::param_info, 16u>&, unsigned int)","imageIndex":3,"symbolLocation":1000},{"imageOffset":4438220,"sourceLine":112,"sourceFile":"fun_info.cpp","symbol":"lean::get_fun_info(lean::type_context_old&, lean::expr const&, unsigned int)","imageIndex":3,"symbolLocation":264},{"imageOffset":4083376,"sourceLine":2503,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq_args(lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":332},{"imageOffset":4114404,"sourceLine":3357,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq_core_core(lean::expr, lean::expr)","imageIndex":3,"symbolLocation":3256},{"imageOffset":4073280,"sourceLine":3375,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq_core(lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":84},{"imageOffset":4118764,"sourceLine":3385,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq(lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":116},{"imageOffset":4209748,"sourceLine":3639,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":1484},{"imageOffset":4211552,"sourceLine":3667,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::name const&)","imageIndex":3,"symbolLocation":428},{"imageOffset":4207860,"sourceLine":3728,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::process_next_alt_core(lean::instance_synthesizer::stack_entry const&, lean::list<lean::name>&)","imageIndex":3,"symbolLocation":108},{"imageOffset":4202984,"sourceLine":3745,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::process_next_alt(lean::instance_synthesizer::stack_entry const&)","imageIndex":3,"symbolLocation":344},{"imageOffset":4195136,"sourceLine":3861,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::process_next_mvar()","imageIndex":3,"symbolLocation":1232},{"imageOffset":4191632,"sourceLine":3884,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::search()","imageIndex":3,"symbolLocation":52},{"imageOffset":4190124,"sourceLine":3960,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::mk_class_instance_core(lean::expr const&)","imageIndex":3,"symbolLocation":360},{"imageOffset":4189556,"sourceLine":3965,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::main(lean::expr const&)","imageIndex":3,"symbolLocation":60},{"imageOffset":4126616,"sourceLine":3984,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::operator()(lean::expr const&)","imageIndex":3,"symbolLocation":844},{"imageOffset":4078740,"sourceLine":4150,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::mk_class_instance(lean::expr const&)","imageIndex":3,"symbolLocation":500},{"imageOffset":5566836,"sourceLine":816,"sourceFile":"tactic_state.cpp","symbol":"lean::tactic_state::pp() const","imageIndex":3,"symbolLocation":232},{"imageOffset":13185888,"sourceLine":121,"sourceFile":"info_manager.cpp","symbol":"lean::term_goal_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const","imageIndex":3,"symbolLocation":80},{"imageOffset":13171676,"sourceLine":118,"sourceFile":"info_manager.h","symbol":"lean::info_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const","imageIndex":3,"symbolLocation":52},{"imageOffset":13170852,"sourceLine":356,"sourceFile":"info_manager.cpp","symbol":"lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const","imageIndex":3,"symbolLocation":432},{"imageOffset":13331820,"sourceLine":214,"sourceFile":"interactive.cpp","symbol":"lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&)","imageIndex":3,"symbolLocation":2984},{"imageOffset":225868,"sourceLine":623,"sourceFile":"server.cpp","symbol":"lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&)","imageIndex":3,"symbolLocation":624},{"imageOffset":425580,"sourceLine":667,"sourceFile":"server.cpp","symbol":"lean::server::handle_info(lean::server::cmd_req const&)::$_5::operator()() const","imageIndex":3,"symbolLocation":60},{"imageOffset":425292,"sourceLine":62,"sourceFile":"task_builder.h","symbol":"lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*)","imageIndex":3,"symbolLocation":40},{"imageOffset":393572,"sourceLine":27,"sourceFile":"task_builder.h","symbol":"lean::delegating_task_imp::execute(void*)","imageIndex":3,"symbolLocation":48},{"imageOffset":4825180,"sourceLine":27,"sourceFile":"library_task_builder.cpp","symbol":"lean::library_scopes_imp::execute(void*)","imageIndex":3,"symbolLocation":156},{"imageOffset":731708,"sourceLine":22,"sourceFile":"task_builder.cpp","symbol":"lean::cancellable_task_imp::execute(void*)","imageIndex":3,"symbolLocation":72},{"imageOffset":420240,"sourceLine":96,"sourceFile":"task.h","symbol":"lean::task_cell<lean::server::cmd_res>::execute()","imageIndex":3,"symbolLocation":136},{"imageOffset":726520,"sourceLine":58,"sourceFile":"task.cpp","symbol":"lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&)","imageIndex":3,"symbolLocation":1036},{"imageOffset":4783332,"sourceLine":116,"sourceFile":"mt_task_queue.cpp","symbol":"lean::mt_task_queue::spawn_worker()::$_2::operator()() const","imageIndex":3,"symbolLocation":524},{"imageOffset":4782776,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782700,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782660,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":4777428,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":1920763,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30728,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":710876,"sourceLine":465,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&)","imageIndex":3,"symbolLocation":324},{"imageOffset":4785436,"sourceLine":520,"sourceFile":"__mutex_base","symbol":"void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","imageIndex":3,"symbolLocation":104},{"imageOffset":4784872,"sourceLine":423,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","imageIndex":3,"symbolLocation":128},{"imageOffset":4787440,"sourceLine":435,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'())","imageIndex":3,"symbolLocation":64},{"imageOffset":4783952,"sourceLine":479,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda0'())","imageIndex":3,"symbolLocation":132},{"imageOffset":4783160,"sourceLine":97,"sourceFile":"mt_task_queue.cpp","symbol":"lean::mt_task_queue::spawn_worker()::$_2::operator()() const","imageIndex":3,"symbolLocation":352},{"imageOffset":4782776,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782700,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782660,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":4777428,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"triggered":true,"id":1920764,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":1},{"value":4443045928},{"value":5899811093222816783},{"value":5899811097024744463},{"value":14757395258967641293},{"value":10},{"value":0},{"value":56},{"value":1509949440},{"value":339968},{"value":328},{"value":8517596464},{"value":0},{"value":6},{"value":6130315264},{"value":4363},{"value":6130296192},{"value":4443045888},{"value":0},{"value":0},{"value":6096569703},{"value":6130315264},{"value":394}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6999396016},"cpsr":{"value":1073745920},"fp":{"value":6130295952},"sp":{"value":6130295920},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6999185848,"matchesCrashFrame":1},"far":{"value":8446042200}},"frames":[{"imageOffset":39352,"symbol":"__pthread_kill","symbolLocation":8,"imageIndex":0},{"imageOffset":28336,"symbol":"pthread_kill","symbolLocation":288,"imageIndex":5},{"imageOffset":496404,"symbol":"abort","symbolLocation":164,"imageIndex":1},{"imageOffset":64028,"symbol":"malloc_vreport","symbolLocation":552,"imageIndex":6},{"imageOffset":150668,"symbol":"malloc_zone_error","symbolLocation":104,"imageIndex":6},{"imageOffset":7600,"symbol":"nanov2_allocate_from_block","symbolLocation":568,"imageIndex":6},{"imageOffset":5012,"symbol":"nanov2_allocate","symbolLocation":128,"imageIndex":6},{"imageOffset":4784,"symbol":"nanov2_malloc","symbolLocation":64,"imageIndex":6},{"imageOffset":124784,"symbol":"_malloc_zone_malloc","symbolLocation":156,"imageIndex":6},{"imageOffset":88288,"symbol":"operator new(unsigned long)","symbolLocation":32,"imageIndex":7},{"imageOffset":4449372,"sourceLine":235,"sourceFile":"new","symbol":"void* std::__1::__libcpp_operator_new<unsigned long>(unsigned long)","imageIndex":3,"symbolLocation":24},{"imageOffset":4449188,"sourceLine":261,"sourceFile":"new","symbol":"std::__1::__libcpp_allocate(unsigned long, unsigned long)","imageIndex":3,"symbolLocation":28},{"imageOffset":4448620,"sourceLine":870,"sourceFile":"memory","symbol":"std::__1::allocator<std::__1::__function::__func<lean::collect_deps(lean::expr const&, lean::buffer<lean::expr, 16u> const&, lean::buffer<lean::param_info, 16u>&)::$_0, std::__1::allocator<lean::collect_deps(lean::expr const&, lean::buffer<lean::expr, 16u> const&, lean::buffer<lean::param_info, 16u>&)::$_0>, bool (lean::expr const&, unsigned int)> >::allocate(unsigned long)","imageIndex":3,"symbolLocation":76},{"imageOffset":4450364,"sourceLine":1698,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::collect_deps(lean::expr const&, lean::buffer<lean::expr, 16u> const&, lean::buffer<lean::param_info, 16u>&)::$_0, std::__1::allocator<lean::collect_deps(lean::expr const&, lean::buffer<lean::expr, 16u> const&, lean::buffer<lean::param_info, 16u>&)::$_0>, bool (lean::expr const&, unsigned int)>::__clone() const","imageIndex":3,"symbolLocation":64},{"imageOffset":1236568,"sourceLine":1820,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<bool (lean::expr const&, unsigned int)>::__value_func(std::__1::__function::__value_func<bool (lean::expr const&, unsigned int)> const&)","imageIndex":3,"symbolLocation":140},{"imageOffset":1236412,"sourceLine":1811,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<bool (lean::expr const&, unsigned int)>::__value_func(std::__1::__function::__value_func<bool (lean::expr const&, unsigned int)> const&)","imageIndex":3,"symbolLocation":36},{"imageOffset":1236360,"sourceLine":2480,"sourceFile":"functional","symbol":"std::__1::function<bool (lean::expr const&, unsigned int)>::function(std::__1::function<bool (lean::expr const&, unsigned int)> const&)","imageIndex":3,"symbolLocation":36},{"imageOffset":1223972,"sourceLine":2480,"sourceFile":"functional","symbol":"std::__1::function<bool (lean::expr const&, unsigned int)>::function(std::__1::function<bool (lean::expr const&, unsigned int)> const&)","imageIndex":3,"symbolLocation":36},{"imageOffset":1223844,"sourceLine":121,"sourceFile":"for_each_fn.cpp","symbol":"lean::for_each_fn::for_each_fn(std::__1::function<bool (lean::expr const&, unsigned int)> const&)","imageIndex":3,"symbolLocation":48},{"imageOffset":1223688,"sourceLine":121,"sourceFile":"for_each_fn.cpp","symbol":"lean::for_each_fn::for_each_fn(std::__1::function<bool (lean::expr const&, unsigned int)> const&)","imageIndex":3,"symbolLocation":36},{"imageOffset":1223564,"sourceLine":126,"sourceFile":"for_each_fn.cpp","symbol":"lean::for_each(lean::expr const&, std::__1::function<bool (lean::expr const&, unsigned int)>&&)","imageIndex":3,"symbolLocation":52},{"imageOffset":4446116,"sourceLine":43,"sourceFile":"fun_info.cpp","symbol":"lean::collect_deps(lean::expr const&, lean::buffer<lean::expr, 16u> const&, lean::buffer<lean::param_info, 16u>&)","imageIndex":3,"symbolLocation":120},{"imageOffset":4437248,"sourceLine":89,"sourceFile":"fun_info.cpp","symbol":"lean::get_core(lean::type_context_old&, lean::expr const&, lean::buffer<lean::param_info, 16u>&, unsigned int)","imageIndex":3,"symbolLocation":720},{"imageOffset":4438220,"sourceLine":112,"sourceFile":"fun_info.cpp","symbol":"lean::get_fun_info(lean::type_context_old&, lean::expr const&, unsigned int)","imageIndex":3,"symbolLocation":264},{"imageOffset":4083376,"sourceLine":2503,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq_args(lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":332},{"imageOffset":4114404,"sourceLine":3357,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq_core_core(lean::expr, lean::expr)","imageIndex":3,"symbolLocation":3256},{"imageOffset":4073280,"sourceLine":3375,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq_core(lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":84},{"imageOffset":4118764,"sourceLine":3385,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::is_def_eq(lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":116},{"imageOffset":4209748,"sourceLine":3639,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::expr const&, lean::expr const&)","imageIndex":3,"symbolLocation":1484},{"imageOffset":4211552,"sourceLine":3667,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::try_instance(lean::instance_synthesizer::stack_entry const&, lean::name const&)","imageIndex":3,"symbolLocation":428},{"imageOffset":4207860,"sourceLine":3728,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::process_next_alt_core(lean::instance_synthesizer::stack_entry const&, lean::list<lean::name>&)","imageIndex":3,"symbolLocation":108},{"imageOffset":4202984,"sourceLine":3745,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::process_next_alt(lean::instance_synthesizer::stack_entry const&)","imageIndex":3,"symbolLocation":344},{"imageOffset":4195136,"sourceLine":3861,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::process_next_mvar()","imageIndex":3,"symbolLocation":1232},{"imageOffset":4191632,"sourceLine":3884,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::search()","imageIndex":3,"symbolLocation":52},{"imageOffset":4190124,"sourceLine":3960,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::mk_class_instance_core(lean::expr const&)","imageIndex":3,"symbolLocation":360},{"imageOffset":4189556,"sourceLine":3965,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::main(lean::expr const&)","imageIndex":3,"symbolLocation":60},{"imageOffset":4126616,"sourceLine":3984,"sourceFile":"type_context.cpp","symbol":"lean::instance_synthesizer::operator()(lean::expr const&)","imageIndex":3,"symbolLocation":844},{"imageOffset":4078740,"sourceLine":4150,"sourceFile":"type_context.cpp","symbol":"lean::type_context_old::mk_class_instance(lean::expr const&)","imageIndex":3,"symbolLocation":500},{"imageOffset":5566836,"sourceLine":816,"sourceFile":"tactic_state.cpp","symbol":"lean::tactic_state::pp() const","imageIndex":3,"symbolLocation":232},{"imageOffset":13185888,"sourceLine":121,"sourceFile":"info_manager.cpp","symbol":"lean::term_goal_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const","imageIndex":3,"symbolLocation":80},{"imageOffset":13171676,"sourceLine":118,"sourceFile":"info_manager.h","symbol":"lean::info_data::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const","imageIndex":3,"symbolLocation":52},{"imageOffset":13170852,"sourceLine":356,"sourceFile":"info_manager.cpp","symbol":"lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const","imageIndex":3,"symbolLocation":432},{"imageOffset":13331820,"sourceLine":214,"sourceFile":"interactive.cpp","symbol":"lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&)","imageIndex":3,"symbolLocation":2984},{"imageOffset":225868,"sourceLine":623,"sourceFile":"server.cpp","symbol":"lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&)","imageIndex":3,"symbolLocation":624},{"imageOffset":425580,"sourceLine":667,"sourceFile":"server.cpp","symbol":"lean::server::handle_info(lean::server::cmd_req const&)::$_5::operator()() const","imageIndex":3,"symbolLocation":60},{"imageOffset":425292,"sourceLine":62,"sourceFile":"task_builder.h","symbol":"lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*)","imageIndex":3,"symbolLocation":40},{"imageOffset":393572,"sourceLine":27,"sourceFile":"task_builder.h","symbol":"lean::delegating_task_imp::execute(void*)","imageIndex":3,"symbolLocation":48},{"imageOffset":4825180,"sourceLine":27,"sourceFile":"library_task_builder.cpp","symbol":"lean::library_scopes_imp::execute(void*)","imageIndex":3,"symbolLocation":156},{"imageOffset":731708,"sourceLine":22,"sourceFile":"task_builder.cpp","symbol":"lean::cancellable_task_imp::execute(void*)","imageIndex":3,"symbolLocation":72},{"imageOffset":420240,"sourceLine":96,"sourceFile":"task.h","symbol":"lean::task_cell<lean::server::cmd_res>::execute()","imageIndex":3,"symbolLocation":136},{"imageOffset":726520,"sourceLine":58,"sourceFile":"task.cpp","symbol":"lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&)","imageIndex":3,"symbolLocation":1036},{"imageOffset":4783332,"sourceLine":116,"sourceFile":"mt_task_queue.cpp","symbol":"lean::mt_task_queue::spawn_worker()::$_2::operator()() const","imageIndex":3,"symbolLocation":524},{"imageOffset":4782776,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782700,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782660,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":4777428,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":1920765,"frames":[{"imageOffset":20672,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30728,"symbol":"_pthread_cond_wait","symbolLocation":1228,"imageIndex":5},{"imageOffset":40568,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":710876,"sourceLine":465,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&)","imageIndex":3,"symbolLocation":324},{"imageOffset":4785436,"sourceLine":520,"sourceFile":"__mutex_base","symbol":"void std::__1::condition_variable::__do_timed_wait<std::__1::chrono::steady_clock>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","imageIndex":3,"symbolLocation":104},{"imageOffset":4784872,"sourceLine":423,"sourceFile":"__mutex_base","symbol":"std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&)","imageIndex":3,"symbolLocation":128},{"imageOffset":4784512,"sourceLine":435,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'())","imageIndex":3,"symbolLocation":64},{"imageOffset":4783804,"sourceLine":479,"sourceFile":"__mutex_base","symbol":"bool std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000l>, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'()>(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&, lean::mt_task_queue::spawn_worker()::$_2::operator()() const::'lambda'())","imageIndex":3,"symbolLocation":132},{"imageOffset":4782976,"sourceLine":89,"sourceFile":"mt_task_queue.cpp","symbol":"lean::mt_task_queue::spawn_worker()::$_2::operator()() const","imageIndex":3,"symbolLocation":168},{"imageOffset":4782776,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mt_task_queue::spawn_worker()::$_2&>(fp)()) std::__1::__invoke<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782700,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mt_task_queue::spawn_worker()::$_2&>(lean::mt_task_queue::spawn_worker()::$_2&)","imageIndex":3,"symbolLocation":28},{"imageOffset":4782660,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":4777428,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":671940,"sourceLine":69,"sourceFile":"thread.cpp","symbol":"lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0::operator()() const","imageIndex":3,"symbolLocation":44},{"imageOffset":671864,"sourceLine":3694,"sourceFile":"type_traits","symbol":"decltype(std::__1::forward<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(fp)()) std::__1::__invoke<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671788,"sourceLine":348,"sourceFile":"__functional_base","symbol":"void std::__1::__invoke_void_return_wrapper<void, true>::__call<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&>(lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0&)","imageIndex":3,"symbolLocation":28},{"imageOffset":671748,"sourceLine":1558,"sourceFile":"functional","symbol":"std::__1::__function::__alloc_func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":666388,"sourceLine":1732,"sourceFile":"functional","symbol":"std::__1::__function::__func<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0, std::__1::allocator<lean::mk_thread_proc(std::__1::function<void ()> const&, unsigned long)::$_0>, void ()>::operator()()","imageIndex":3,"symbolLocation":28},{"imageOffset":722148,"sourceLine":1885,"sourceFile":"functional","symbol":"std::__1::__function::__value_func<void ()>::operator()() const","imageIndex":3,"symbolLocation":56},{"imageOffset":710428,"sourceLine":2560,"sourceFile":"functional","symbol":"std::__1::function<void ()>::operator()() const","imageIndex":3,"symbolLocation":24},{"imageOffset":672616,"sourceLine":50,"sourceFile":"thread.cpp","symbol":"lean::thread_main(void*)","imageIndex":3,"symbolLocation":64},{"imageOffset":663096,"sourceLine":106,"sourceFile":"thread.cpp","symbol":"lean::lthread::imp::_main(void*)","imageIndex":3,"symbolLocation":24},{"imageOffset":29248,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8228,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6999146496,
    "size" : 221184,
    "uuid" : "c8b3081a-5081-3a99-bbe3-01413de444c6",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6998102016,
    "size" : 528384,
    "uuid" : "00fc01c7-36bc-3193-86a3-5c03046b45fb",
    "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6998630400,
    "size" : 409600,
    "uuid" : "f165f001-69bd-338f-a4e1-cd6081b4f94c",
    "path" : "\/usr\/lib\/libc++.1.dylib",
    "name" : "libc++.1.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4370300928,
    "size" : 15335424,
    "uuid" : "34b9ab8c-03a8-327f-a650-a40fcf9b37e7",
    "path" : "\/Users\/USER\/*\/lean",
    "name" : "lean"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 4443766784,
    "size" : 393216,
    "uuid" : "7e92b284-4b90-3b68-b31a-3ddc4c0e8d40",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6999367680,
    "size" : 53248,
    "uuid" : "ed328b18-eeef-3b15-8858-798b19b0c2cd",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6997377024,
    "size" : 176128,
    "uuid" : "0e4e31e8-030c-3527-94a1-42e266f3df58",
    "path" : "\/usr\/lib\/system\/libsystem_malloc.dylib",
    "name" : "libsystem_malloc.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6999040000,
    "size" : 106496,
    "uuid" : "540088b6-cc81-381f-901c-5632f4a73c45",
    "path" : "\/usr\/lib\/libc++abi.dylib",
    "name" : "libc++abi.dylib"
  }
],
  "sharedCache" : {
  "base" : 6996197376,
  "size" : 3089596416,
  "uuid" : "66c33c62-48a9-31e5-b8b5-7a71c9760d07"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=648.5M resident=0K(0%) swapped_out_or_unallocated=648.5M(100%)\nWritable regions: Total=3.7G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=3.7G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nKernel Alloc Once                   32K        1 \nMALLOC                             2.8G       78 \nMALLOC guard page                   96K        5 \nMALLOC_MEDIUM (reserved)         856.0M        8         reserved VM address space (unallocated)\nSTACK GUARD                       56.2M       13 \nStack                            104.4M       13 \nVM_ALLOCATE                        1.0G        2 \n__AUTH                              46K       11 \n__AUTH_CONST                        67K       38 \n__DATA                             221K       39 \n__DATA_CONST                       483K       41 \n__DATA_DIRTY                        73K       21 \n__LINKEDIT                       629.1M        4 \n__OBJC_CONST                        10K        5 \n__OBJC_RO                         82.0M        1 \n__OBJC_RW                         3104K        1 \n__TEXT                            19.4M       44 \ndyld private memory               1408K        3 \nshared memory                       16K        1 \n===========                     =======  ======= \nTOTAL                              5.5G      329 \nTOTAL, minus reserved VM space     4.6G      329 \n",
  "legacyInfo" : {
  "threadTriggered" : {

  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "60da5e84ab0ca017dace9abf",
      "factorPackIds" : {

      },
      "deploymentId" : 240000008
    },
    {
      "rolloutId" : "607844aa04477260f58a8077",
      "factorPackIds" : {
        "SIRI_MORPHUN_ASSETS" : "6103050cbfe6dc472e1c982a"
      },
      "deploymentId" : 240000066
    },
    {
      "rolloutId" : "601d9415f79519000ccd4b69",
      "factorPackIds" : {
        "SIRI_TEXT_TO_SPEECH" : "61f040507303d250981c88d9"
      },
      "deploymentId" : 240000377
    },
    {
      "rolloutId" : "5ffde50ce2aacd000d47a95f",
      "factorPackIds" : {

      },
      "deploymentId" : 240000102
    },
    {
      "rolloutId" : "602ad4dac86151000cf27e46",
      "factorPackIds" : {
        "SIRI_DICTATION_ASSETS" : "61fb0e87c773c43cde3bb80e"
      },
      "deploymentId" : 240000303
    },
    {
      "rolloutId" : "5fc94383418129005b4e9ae0",
      "factorPackIds" : {

      },
      "deploymentId" : 240000231
    }
  ],
  "experiments" : [

  ]
}
}

This one doesn't seem to mention sexpr though... so maybe it's an unrelated one?

Julian avatar Feb 05 '22 18:02 Julian

lean(89652,0x16d653000) malloc: Heap corruption detected, free list is damaged at 0x600055857120

Oooh, this is not good. This means that the error happens somewhere else, and we're just noticing at this point.. (and we still have no idea where it happens)

This one doesn't seem to mention sexpr though... so maybe it's an unrelated one?

Yeah, presumably. It could help to enable ASAN (-fsanitize=address).

gebner avatar Feb 17 '22 19:02 gebner

I've seen ~20 crashes in the past 2-3 hours, and unlike the above, these all seem to come from sexpr:dealloc_cons if my backtrace reading isn't deceiving me. E.g. the most recent one:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               lean [98370]
Path:                  /Users/USER/*/lean
Identifier:            lean
Version:               ???
Code Type:             ARM-64 (Native)
Parent Process:        node [98367]
Responsible:           kitty [3873]
User ID:               501

Date/Time:             2022-03-24 15:45:19.1151 -0400
OS Version:            macOS 12.3 (21E230)
Report Version:        12
Anonymous UUID:        FF557271-B3EE-C222-A3E1-8A5FB0C2AF13

Sleep/Wake UUID:       F73E612F-BD9F-42C4-8123-6CEFC5A21E63

Time Awake Since Boot: 390000 seconds
Time Since Wake:       3587 seconds

System Integrity Protection: enabled

Crashed Thread:        10

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
lean(98370,0x170fff000) malloc: *** error for object 0x600013bf7de0: pointer being freed was not allocated
abort() called


Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x1c5032a0c __read_nocancel + 8
1   libsystem_c.dylib             	       0x1c4f60708 __sread + 24
2   libsystem_c.dylib             	       0x1c4f3b60c _sread + 32
3   libsystem_c.dylib             	       0x1c4f3b5a0 __srefill1 + 36
4   libsystem_c.dylib             	       0x1c4f56a6c __srget + 24
5   libsystem_c.dylib             	       0x1c4f64b94 getc + 72
6   libc++.1.dylib                	       0x1c4fdd7c8 std::__1::__stdinbuf<char>::__getchar(bool) + 160
7   lean                          	       0x10469cff8 std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char) + 148
8   lean                          	       0x104691778 lean::server::run() + 196
9   lean                          	       0x104685838 main + 3000
10  dyld                          	       0x1054e9088 start + 516

Thread 1:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1046ba724 lean::single_timer::worker() + 512
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 2:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1046ba724 lean::single_timer::worker() + 512
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 3:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 4:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 5:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 6:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048986e8 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1220
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 7:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 8:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 9:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048986e8 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1220
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 10 Crashed:
0   libsystem_kernel.dylib        	       0x1c5038db8 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x1c506dee0 pthread_kill + 288
2   libsystem_c.dylib             	       0x1c4fa8340 abort + 168
3   libsystem_malloc.dylib        	       0x1c4e8a8c0 malloc_vreport + 552
4   libsystem_malloc.dylib        	       0x1c4e8df34 malloc_report + 64
5   libsystem_malloc.dylib        	       0x1c4e7cca0 free + 300
6   lean                          	       0x1046d7e6c lean::sexpr_cons::dealloc_cons() + 456
7   lean                          	       0x1046d87a0 lean::sexpr::~sexpr() + 44
8   lean                          	       0x104d8dd38 lean::vm_obj_format_info::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const + 192
9   lean                          	       0x104d91490 lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const + 360
10  lean                          	       0x104da0bc8 lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) + 1972
11  lean                          	       0x104698a78 lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&) + 652
12  lean                          	       0x1046a204c lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*) + 48
13  lean                          	       0x10489a3fc lean::library_scopes_imp::execute(void*) + 100
14  lean                          	       0x1046bb6b8 lean::cancellable_task_imp::execute(void*) + 60
15  lean                          	       0x1046a19ac lean::task_cell<lean::server::cmd_res>::execute() + 172
16  lean                          	       0x1046bb0a8 lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&) + 396
17  lean                          	       0x1048984e4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 704
18  lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
19  libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
20  libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 11:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048986e8 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1220
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 12:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 13:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 14:
0   lean                          	       0x104be7770 lean::vm_compiler_fn::compile_cases_on(lean::expr const&, unsigned int, lean::rb_map<lean::name, unsigned int, lean::name_quick_cmp> const&) + 1636
1   lean                          	       0x104be7750 lean::vm_compiler_fn::compile_cases_on(lean::expr const&, unsigned int, lean::rb_map<lean::name, unsigned int, lean::name_quick_cmp> const&) + 1604
2   lean                          	       0x104be4fb4 lean::vm_compiler_fn::operator()(lean::expr) + 952
3   lean                          	       0x104be38a0 lean::vm_compile(lean::environment const&, lean::options const&, lean::buffer<lean::declaration, 16u> const&, bool) + 636
4   lean                          	       0x104be48cc lean::vm_compile(lean::environment const&, lean::options const&, lean::declaration const&, bool) + 752
5   lean                          	       0x104ba76d4 lean::interaction_monad<lean::lean_parser_state>::evaluator::compile(lean::name const&, lean::expr const&) + 1312
6   lean                          	       0x104ba7c08 lean::interaction_monad<lean::lean_parser_state>::evaluator::operator()(lean::expr const&, lean::buffer<lean::vm_obj, 16u> const&, lean::lean_parser_state const&) + 104
7   lean                          	       0x104ba84a0 lean::run_parser(lean::parser&, lean::expr const&, lean::buffer<lean::vm_obj, 16u> const&, bool) + 360
8   lean                          	       0x104ba88d8 lean::parse_interactive_param(lean::parser&, lean::ast_data&, lean::expr const&) + 620
9   lean                          	       0x104d8afe8 lean::parse_tactic_fn::parse_elem_core(bool) + 768
10  lean                          	       0x104d891e0 lean::parse_tactic_fn::operator()(bool) + 44
11  lean                          	       0x104d87858 lean::parse_begin_end_block_fn::operator()(std::__1::pair<unsigned int, unsigned int> const&, lean::name const&) + 2572
12  lean                          	       0x104d857b4 lean::parse_begin_end_expr_core(lean::parser&, std::__1::pair<unsigned int, unsigned int> const&, lean::name const&) + 144
13  lean                          	       0x104c27234 lean::parser::parse_notation(lean::notation::parse_table, lean::expr*) + 2736
14  lean                          	       0x104c2dbe0 lean::parser::parse_nud() + 1180
15  lean                          	       0x104c1f534 lean::parser::parse_expr(unsigned int) + 40
16  lean                          	       0x104d6fa30 lean::parser::parse_definition(lean::ast_data*, lean::buffer<lean::name, 16u>&, lean::buffer<lean::expr, 16u>&, bool, bool, bool, bool) + 1440
17  lean                          	       0x104d712a8 lean::single_definition_cmd_core(lean::parser_info&, lean::decl_cmd_kind, lean::ast_data*, lean::cmd_meta) + 616
18  lean                          	       0x104d75ac8 lean::definition_cmd_core(lean::parser&, lean::decl_cmd_kind, unsigned int, lean::cmd_meta const&) + 356
19  lean                          	       0x104c2ef40 lean::parser::parse_command(lean::cmd_meta const&) + 1300
20  lean                          	       0x104c828ec lean::modifiers_cmd(lean::parser&, unsigned int&, lean::cmd_meta const&) + 1280
21  lean                          	       0x104c832ac lean::compact_attribute_cmd(lean::parser&, unsigned int&, lean::cmd_meta const&) + 548
22  lean                          	       0x104c2ef40 lean::parser::parse_command(lean::cmd_meta const&) + 1300
23  lean                          	       0x104c31e6c lean::parser::parse_command_like(lean::ast_data*) + 588
24  lean                          	       0x104d9c0c8 lean::module_parser::parse_next_command_like(lean::optional<std::__1::vector<std::__1::shared_ptr<lean::gtask_cell>, std::__1::allocator<std::__1::shared_ptr<lean::gtask_cell> > > > const&)::$_0::operator()() const + 124
25  lean                          	       0x104d9d390 lean::task_builder<lean::module_parser_result>::base_task_imp<lean::module_parser::parse_next_command_like(lean::optional<std::__1::vector<std::__1::shared_ptr<lean::gtask_cell>, std::__1::allocator<std::__1::shared_ptr<lean::gtask_cell> > > > const&)::$_0>::execute(void*) + 32
26  lean                          	       0x10489a3fc lean::library_scopes_imp::execute(void*) + 100
27  lean                          	       0x1046bb6b8 lean::cancellable_task_imp::execute(void*) + 60
28  lean                          	       0x104d9da44 lean::task_cell<lean::module_parser_result>::execute() + 336
29  lean                          	       0x1046bb0a8 lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&) + 396
30  lean                          	       0x1048984e4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 704
31  lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
32  libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
33  libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 15:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 16:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 17:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 18:
0   libsystem_malloc.dylib        	       0x1c4e7d01c nanov2_free_definite_size + 36
1   lean                          	       0x1046dbf2c lean::format::pretty(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, unsigned int, bool, lean::format const&) + 636
2   lean                          	       0x1046dbf2c lean::format::pretty(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, unsigned int, bool, lean::format const&) + 636
3   lean                          	       0x104d8de84 lean::vm_obj_format_info::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const + 524
4   lean                          	       0x104d91490 lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const + 360
5   lean                          	       0x104da0bc8 lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) + 1972
6   lean                          	       0x104698a78 lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&) + 652
7   lean                          	       0x1046a204c lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*) + 48
8   lean                          	       0x10489a3fc lean::library_scopes_imp::execute(void*) + 100
9   lean                          	       0x1046bb6b8 lean::cancellable_task_imp::execute(void*) + 60
10  lean                          	       0x1046a19ac lean::task_cell<lean::server::cmd_res>::execute() + 172
11  lean                          	       0x1046bb0a8 lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&) + 396
12  lean                          	       0x1048984e4 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 704
13  lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
14  libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
15  libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 19:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 20:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 21:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x104898624 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1024
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 22:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048986e8 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1220
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8

Thread 23:
0   libsystem_kernel.dylib        	       0x1c5034290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1c506e83c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1c4fbd2cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   lean                          	       0x1048986e8 std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()() + 1220
4   lean                          	       0x1046b7cc4 lean::lthread::imp::_main(void*) + 40
5   libsystem_pthread.dylib       	       0x1c506e26c _pthread_start + 148
6   libsystem_pthread.dylib       	       0x1c506908c thread_start + 8


Thread 10 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x0000000000000000   x6: 0x0000000000000001   x7: 0x00000001c502a51c
    x8: 0x3c6aa61d8f155c16   x9: 0x3c6aa61cffeaac16  x10: 0xcccccccccccccccd  x11: 0x000000000000000a
   x12: 0x0000000000000000  x13: 0x0000000000000039  x14: 0x0000000046c75000  x15: 0x00000000000000ea
   x16: 0x0000000000000148  x17: 0x000000021eedb640  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000170fff000  x21: 0x000000000000260b  x22: 0x0000000170fff0e0  x23: 0x000000010539c000
   x24: 0x0000000000000000  x25: 0x0000000000000000  x26: 0x000000016b77c56f  x27: 0x0000000170fff000
   x28: 0x00000000ffffffff   fp: 0x0000000170ffde20   lr: 0x00000001c506dee0
    sp: 0x0000000170ffde00   pc: 0x00000001c5038db8 cpsr: 0x40001000
   far: 0x00000001053a0000  esr: 0x56000080  Address size fault

Binary Images:
       0x1c502f000 -        0x1c5066fff libsystem_kernel.dylib (*) <1d7b3b8e-75a1-34ea-aa52-9f7c23155c55> /usr/lib/system/libsystem_kernel.dylib
       0x1c4f2e000 -        0x1c4faffff libsystem_c.dylib (*) <fd566a15-42d8-314a-a99a-b59237ddf5bc> /usr/lib/system/libsystem_c.dylib
       0x1c4fb0000 -        0x1c5016fff libc++.1.dylib (*) <06bc1ec0-9992-398e-a85b-2973eb1fdba2> /usr/lib/libc++.1.dylib
       0x104680000 -        0x104efffff lean (*) <e033bc9c-3523-3418-af29-f4dd97b829e8> /Users/USER/*/lean
       0x1054e4000 -        0x105543fff dyld (*) <fbb89662-e6f2-3434-b542-f75185ac5e74> /usr/lib/dyld
       0x1c5067000 -        0x1c5073fff libsystem_pthread.dylib (*) <cee8bc77-6923-34d9-89a3-6f8f7279605e> /usr/lib/system/libsystem_pthread.dylib
       0x1c4e7b000 -        0x1c4ea5fff libsystem_malloc.dylib (*) <3a021c33-dd59-37f7-9a86-5ceed68ff9ba> /usr/lib/system/libsystem_malloc.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=600.5M resident=0K(0%) swapped_out_or_unallocated=600.5M(100%)
Writable regions: Total=3.3G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=3.3G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Kernel Alloc Once                   32K        1 
MALLOC                             2.2G       63 
MALLOC guard page                   96K        5 
MALLOC_MEDIUM (reserved)         880.0M        8         reserved VM address space (unallocated)
STACK GUARD                       56.4M       24 
Stack                            192.7M       24 
VM_ALLOCATE                         16K        1 
__AUTH                              46K       11 
__AUTH_CONST                        67K       38 
__DATA                             221K       40 
__DATA_CONST                       386K       41 
__DATA_DIRTY                        73K       21 
__LINKEDIT                       587.1M        4 
__OBJC_CONST                        10K        5 
__OBJC_RO                         82.9M        1 
__OBJC_RW                         3152K        1 
__TEXT                            13.4M       44 
dyld private memory               1024K        1 
shared memory                       16K        1 
===========                     =======  ======= 
TOTAL                              4.0G      334 
TOTAL, minus reserved VM space     3.1G      334 



-----------
Full Report
-----------

{"app_name":"lean","timestamp":"2022-03-24 15:45:19.00 -0400","app_version":"","slice_uuid":"e033bc9c-3523-3418-af29-f4dd97b829e8","build_version":"","platform":1,"share_with_app_devs":0,"is_first_party":1,"bug_type":"309","os_version":"macOS 12.3 (21E230)","incident_id":"C9FE0C74-8F7B-41BC-9257-1C2384238760","name":"lean"}
{
  "uptime" : 390000,
  "procLaunch" : "2022-03-24 15:44:56.5254 -0400",
  "procRole" : "Unspecified",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookAir10,1",
  "procStartAbsTime" : 9489111212749,
  "coalitionID" : 1857,
  "osVersion" : {
    "train" : "macOS 12.3",
    "build" : "21E230",
    "releaseType" : "User"
  },
  "captureTime" : "2022-03-24 15:45:19.1151 -0400",
  "incident" : "C9FE0C74-8F7B-41BC-9257-1C2384238760",
  "bug_type" : "309",
  "pid" : 98370,
  "procExitAbsTime" : 9489653372996,
  "translated" : false,
  "cpuType" : "ARM-64",
  "procName" : "lean",
  "procPath" : "\/Users\/USER\/*\/lean",
  "parentProc" : "node",
  "parentPid" : 98367,
  "coalitionName" : "net.kovidgoyal.kitty",
  "crashReporterKey" : "FF557271-B3EE-C222-A3E1-8A5FB0C2AF13",
  "responsiblePid" : 3873,
  "responsibleProc" : "kitty",
  "wakeTime" : 3587,
  "sleepWakeUUID" : "F73E612F-BD9F-42C4-8123-6CEFC5A21E63",
  "sip" : "enabled",
  "isCorpse" : 1,
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "asi" : {"libsystem_malloc.dylib":["lean(98370,0x170fff000) malloc: *** error for object 0x600013bf7de0: pointer being freed was not allocated"],"libsystem_c.dylib":["abort() called"]},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 10,
  "threads" : [{"id":3117416,"queue":"com.apple.main-thread","frames":[{"imageOffset":14860,"symbol":"__read_nocancel","symbolLocation":8,"imageIndex":0},{"imageOffset":206600,"symbol":"__sread","symbolLocation":24,"imageIndex":1},{"imageOffset":54796,"symbol":"_sread","symbolLocation":32,"imageIndex":1},{"imageOffset":54688,"symbol":"__srefill1","symbolLocation":36,"imageIndex":1},{"imageOffset":166508,"symbol":"__srget","symbolLocation":24,"imageIndex":1},{"imageOffset":224148,"symbol":"getc","symbolLocation":72,"imageIndex":1},{"imageOffset":186312,"symbol":"std::__1::__stdinbuf<char>::__getchar(bool)","symbolLocation":160,"imageIndex":2},{"imageOffset":118776,"symbol":"std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char)","symbolLocation":148,"imageIndex":3},{"imageOffset":71544,"symbol":"lean::server::run()","symbolLocation":196,"imageIndex":3},{"imageOffset":22584,"symbol":"main","symbolLocation":3000,"imageIndex":3},{"imageOffset":20616,"symbol":"start","symbolLocation":516,"imageIndex":4}]},{"id":3117417,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":239396,"symbol":"lean::single_timer::worker()","symbolLocation":512,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117418,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":239396,"symbol":"lean::single_timer::worker()","symbolLocation":512,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117787,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117788,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117789,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117790,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197224,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1220,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117792,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117793,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117794,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197224,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1220,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"triggered":true,"id":3117800,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":1},{"value":7600252188,"symbolLocation":0,"symbol":"__cxxabiv1::__vmi_class_type_info::search_above_dst(__cxxabiv1::__dynamic_cast_info*, void const*, void const*, int, bool) const"},{"value":4353474635691809814},{"value":4353474633289870358},{"value":14757395258967641293},{"value":10},{"value":0},{"value":57},{"value":1187467264},{"value":234},{"value":328},{"value":9108829760},{"value":0},{"value":6},{"value":6190788608},{"value":9739},{"value":6190788832},{"value":4382638080},{"value":0},{"value":0},{"value":6097978735},{"value":6190788608},{"value":4294967295}],"flavor":"ARM_THREAD_STATE64","lr":{"value":7600529120},"cpsr":{"value":1073745920},"fp":{"value":6190784032},"sp":{"value":6190784000},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7600311736,"matchesCrashFrame":1},"far":{"value":4382654464}},"frames":[{"imageOffset":40376,"symbol":"__pthread_kill","symbolLocation":8,"imageIndex":0},{"imageOffset":28384,"symbol":"pthread_kill","symbolLocation":288,"imageIndex":5},{"imageOffset":500544,"symbol":"abort","symbolLocation":168,"imageIndex":1},{"imageOffset":63680,"symbol":"malloc_vreport","symbolLocation":552,"imageIndex":6},{"imageOffset":77620,"symbol":"malloc_report","symbolLocation":64,"imageIndex":6},{"imageOffset":7328,"symbol":"free","symbolLocation":300,"imageIndex":6},{"imageOffset":360044,"symbol":"lean::sexpr_cons::dealloc_cons()","symbolLocation":456,"imageIndex":3},{"imageOffset":362400,"symbol":"lean::sexpr::~sexpr()","symbolLocation":44,"imageIndex":3},{"imageOffset":7396664,"symbol":"lean::vm_obj_format_info::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const","symbolLocation":192,"imageIndex":3},{"imageOffset":7410832,"symbol":"lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const","symbolLocation":360,"imageIndex":3},{"imageOffset":7474120,"symbol":"lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&)","symbolLocation":1972,"imageIndex":3},{"imageOffset":100984,"symbol":"lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&)","symbolLocation":652,"imageIndex":3},{"imageOffset":139340,"symbol":"lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*)","symbolLocation":48,"imageIndex":3},{"imageOffset":2204668,"symbol":"lean::library_scopes_imp::execute(void*)","symbolLocation":100,"imageIndex":3},{"imageOffset":243384,"symbol":"lean::cancellable_task_imp::execute(void*)","symbolLocation":60,"imageIndex":3},{"imageOffset":137644,"symbol":"lean::task_cell<lean::server::cmd_res>::execute()","symbolLocation":172,"imageIndex":3},{"imageOffset":241832,"symbol":"lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&)","symbolLocation":396,"imageIndex":3},{"imageOffset":2196708,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":704,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117801,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197224,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1220,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117817,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117818,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117819,"frames":[{"imageOffset":5666672,"symbol":"lean::vm_compiler_fn::compile_cases_on(lean::expr const&, unsigned int, lean::rb_map<lean::name, unsigned int, lean::name_quick_cmp> const&)","symbolLocation":1636,"imageIndex":3},{"imageOffset":5666640,"symbol":"lean::vm_compiler_fn::compile_cases_on(lean::expr const&, unsigned int, lean::rb_map<lean::name, unsigned int, lean::name_quick_cmp> const&)","symbolLocation":1604,"imageIndex":3},{"imageOffset":5656500,"symbol":"lean::vm_compiler_fn::operator()(lean::expr)","symbolLocation":952,"imageIndex":3},{"imageOffset":5650592,"symbol":"lean::vm_compile(lean::environment const&, lean::options const&, lean::buffer<lean::declaration, 16u> const&, bool)","symbolLocation":636,"imageIndex":3},{"imageOffset":5654732,"symbol":"lean::vm_compile(lean::environment const&, lean::options const&, lean::declaration const&, bool)","symbolLocation":752,"imageIndex":3},{"imageOffset":5404372,"symbol":"lean::interaction_monad<lean::lean_parser_state>::evaluator::compile(lean::name const&, lean::expr const&)","symbolLocation":1312,"imageIndex":3},{"imageOffset":5405704,"symbol":"lean::interaction_monad<lean::lean_parser_state>::evaluator::operator()(lean::expr const&, lean::buffer<lean::vm_obj, 16u> const&, lean::lean_parser_state const&)","symbolLocation":104,"imageIndex":3},{"imageOffset":5407904,"symbol":"lean::run_parser(lean::parser&, lean::expr const&, lean::buffer<lean::vm_obj, 16u> const&, bool)","symbolLocation":360,"imageIndex":3},{"imageOffset":5408984,"symbol":"lean::parse_interactive_param(lean::parser&, lean::ast_data&, lean::expr const&)","symbolLocation":620,"imageIndex":3},{"imageOffset":7385064,"symbol":"lean::parse_tactic_fn::parse_elem_core(bool)","symbolLocation":768,"imageIndex":3},{"imageOffset":7377376,"symbol":"lean::parse_tactic_fn::operator()(bool)","symbolLocation":44,"imageIndex":3},{"imageOffset":7370840,"symbol":"lean::parse_begin_end_block_fn::operator()(std::__1::pair<unsigned int, unsigned int> const&, lean::name const&)","symbolLocation":2572,"imageIndex":3},{"imageOffset":7362484,"symbol":"lean::parse_begin_end_expr_core(lean::parser&, std::__1::pair<unsigned int, unsigned int> const&, lean::name const&)","symbolLocation":144,"imageIndex":3},{"imageOffset":5927476,"symbol":"lean::parser::parse_notation(lean::notation::parse_table, lean::expr*)","symbolLocation":2736,"imageIndex":3},{"imageOffset":5954528,"symbol":"lean::parser::parse_nud()","symbolLocation":1180,"imageIndex":3},{"imageOffset":5895476,"symbol":"lean::parser::parse_expr(unsigned int)","symbolLocation":40,"imageIndex":3},{"imageOffset":7273008,"symbol":"lean::parser::parse_definition(lean::ast_data*, lean::buffer<lean::name, 16u>&, lean::buffer<lean::expr, 16u>&, bool, bool, bool, bool)","symbolLocation":1440,"imageIndex":3},{"imageOffset":7279272,"symbol":"lean::single_definition_cmd_core(lean::parser_info&, lean::decl_cmd_kind, lean::ast_data*, lean::cmd_meta)","symbolLocation":616,"imageIndex":3},{"imageOffset":7297736,"symbol":"lean::definition_cmd_core(lean::parser&, lean::decl_cmd_kind, unsigned int, lean::cmd_meta const&)","symbolLocation":356,"imageIndex":3},{"imageOffset":5959488,"symbol":"lean::parser::parse_command(lean::cmd_meta const&)","symbolLocation":1300,"imageIndex":3},{"imageOffset":6301932,"symbol":"lean::modifiers_cmd(lean::parser&, unsigned int&, lean::cmd_meta const&)","symbolLocation":1280,"imageIndex":3},{"imageOffset":6304428,"symbol":"lean::compact_attribute_cmd(lean::parser&, unsigned int&, lean::cmd_meta const&)","symbolLocation":548,"imageIndex":3},{"imageOffset":5959488,"symbol":"lean::parser::parse_command(lean::cmd_meta const&)","symbolLocation":1300,"imageIndex":3},{"imageOffset":5971564,"symbol":"lean::parser::parse_command_like(lean::ast_data*)","symbolLocation":588,"imageIndex":3},{"imageOffset":7454920,"symbol":"lean::module_parser::parse_next_command_like(lean::optional<std::__1::vector<std::__1::shared_ptr<lean::gtask_cell>, std::__1::allocator<std::__1::shared_ptr<lean::gtask_cell> > > > const&)::$_0::operator()() const","symbolLocation":124,"imageIndex":3},{"imageOffset":7459728,"symbol":"lean::task_builder<lean::module_parser_result>::base_task_imp<lean::module_parser::parse_next_command_like(lean::optional<std::__1::vector<std::__1::shared_ptr<lean::gtask_cell>, std::__1::allocator<std::__1::shared_ptr<lean::gtask_cell> > > > const&)::$_0>::execute(void*)","symbolLocation":32,"imageIndex":3},{"imageOffset":2204668,"symbol":"lean::library_scopes_imp::execute(void*)","symbolLocation":100,"imageIndex":3},{"imageOffset":243384,"symbol":"lean::cancellable_task_imp::execute(void*)","symbolLocation":60,"imageIndex":3},{"imageOffset":7461444,"symbol":"lean::task_cell<lean::module_parser_result>::execute()","symbolLocation":336,"imageIndex":3},{"imageOffset":241832,"symbol":"lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&)","symbolLocation":396,"imageIndex":3},{"imageOffset":2196708,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":704,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117821,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117823,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117824,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117831,"frames":[{"imageOffset":8220,"symbol":"nanov2_free_definite_size","symbolLocation":36,"imageIndex":6},{"imageOffset":376620,"symbol":"lean::format::pretty(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, unsigned int, bool, lean::format const&)","symbolLocation":636,"imageIndex":3},{"imageOffset":376620,"symbol":"lean::format::pretty(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, unsigned int, bool, lean::format const&)","symbolLocation":636,"imageIndex":3},{"imageOffset":7396996,"symbol":"lean::vm_obj_format_info::report(lean::io_state_stream const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&) const","symbolLocation":524,"imageIndex":3},{"imageOffset":7410832,"symbol":"lean::info_manager::get_info_record(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::pair<unsigned int, unsigned int>, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&, std::__1::function<bool (lean::info_data const&)>) const","symbolLocation":360,"imageIndex":3},{"imageOffset":7474120,"symbol":"lean::report_info(lean::environment const&, lean::options const&, lean::io_state const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, lean::module_info const&, std::__1::vector<lean::info_manager, std::__1::allocator<lean::info_manager> > const&, std::__1::pair<unsigned int, unsigned int> const&, lean::break_at_pos_exception const&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator>&)","symbolLocation":1972,"imageIndex":3},{"imageOffset":100984,"symbol":"lean::server::info(std::__1::shared_ptr<lean::module_info const> const&, std::__1::pair<unsigned int, unsigned int> const&)","symbolLocation":652,"imageIndex":3},{"imageOffset":139340,"symbol":"lean::task_builder<lean::server::cmd_res>::base_task_imp<lean::server::handle_info(lean::server::cmd_req const&)::$_5>::execute(void*)","symbolLocation":48,"imageIndex":3},{"imageOffset":2204668,"symbol":"lean::library_scopes_imp::execute(void*)","symbolLocation":100,"imageIndex":3},{"imageOffset":243384,"symbol":"lean::cancellable_task_imp::execute(void*)","symbolLocation":60,"imageIndex":3},{"imageOffset":137644,"symbol":"lean::task_cell<lean::server::cmd_res>::execute()","symbolLocation":172,"imageIndex":3},{"imageOffset":241832,"symbol":"lean::task_queue::execute(std::__1::shared_ptr<lean::gtask_cell> const&)","symbolLocation":396,"imageIndex":3},{"imageOffset":2196708,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":704,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117832,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117833,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117834,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197028,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1024,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117835,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197224,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1220,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]},{"id":3117837,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":5},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":2},{"imageOffset":2197224,"symbol":"std::__1::__function::__func<lean::mt_task_queue::spawn_worker()::$_2, std::__1::allocator<lean::mt_task_queue::spawn_worker()::$_2>, void ()>::operator()()","symbolLocation":1220,"imageIndex":3},{"imageOffset":228548,"symbol":"lean::lthread::imp::_main(void*)","symbolLocation":40,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":5},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":5}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7600271360,
    "size" : 229376,
    "uuid" : "1d7b3b8e-75a1-34ea-aa52-9f7c23155c55",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7599218688,
    "size" : 532480,
    "uuid" : "fd566a15-42d8-314a-a99a-b59237ddf5bc",
    "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7599751168,
    "size" : 421888,
    "uuid" : "06bc1ec0-9992-398e-a85b-2973eb1fdba2",
    "path" : "\/usr\/lib\/libc++.1.dylib",
    "name" : "libc++.1.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4368891904,
    "size" : 8912896,
    "uuid" : "e033bc9c-3523-3418-af29-f4dd97b829e8",
    "path" : "\/Users\/USER\/*\/lean",
    "name" : "lean"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 4383981568,
    "size" : 393216,
    "uuid" : "fbb89662-e6f2-3434-b542-f75185ac5e74",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7600500736,
    "size" : 53248,
    "uuid" : "cee8bc77-6923-34d9-89a3-6f8f7279605e",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7598485504,
    "size" : 176128,
    "uuid" : "3a021c33-dd59-37f7-9a86-5ceed68ff9ba",
    "path" : "\/usr\/lib\/system\/libsystem_malloc.dylib",
    "name" : "libsystem_malloc.dylib"
  }
],
  "sharedCache" : {
  "base" : 7597211648,
  "size" : 3136438272,
  "uuid" : "00edbaf8-9281-3f26-b94f-e6a315e3a659"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=600.5M resident=0K(0%) swapped_out_or_unallocated=600.5M(100%)\nWritable regions: Total=3.3G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=3.3G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nKernel Alloc Once                   32K        1 \nMALLOC                             2.2G       63 \nMALLOC guard page                   96K        5 \nMALLOC_MEDIUM (reserved)         880.0M        8         reserved VM address space (unallocated)\nSTACK GUARD                       56.4M       24 \nStack                            192.7M       24 \nVM_ALLOCATE                         16K        1 \n__AUTH                              46K       11 \n__AUTH_CONST                        67K       38 \n__DATA                             221K       40 \n__DATA_CONST                       386K       41 \n__DATA_DIRTY                        73K       21 \n__LINKEDIT                       587.1M        4 \n__OBJC_CONST                        10K        5 \n__OBJC_RO                         82.9M        1 \n__OBJC_RW                         3152K        1 \n__TEXT                            13.4M       44 \ndyld private memory               1024K        1 \nshared memory                       16K        1 \n===========                     =======  ======= \nTOTAL                              4.0G      334 \nTOTAL, minus reserved VM space     3.1G      334 \n",
  "legacyInfo" : {
  "threadTriggered" : {

  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "5fc94383418129005b4e9ae0",
      "factorPackIds" : {

      },
      "deploymentId" : 240000295
    },
    {
      "rolloutId" : "6112e14f37f5d11121dcd519",
      "factorPackIds" : {
        "SIRI_TEXT_TO_SPEECH" : "62265b250683fd69cdcf0e26"
      },
      "deploymentId" : 240000068
    }
  ],
  "experiments" : [

  ]
}
}

EDIT: OK enabling ASAN on all my leans, let's see if that helps...

Julian avatar Mar 24 '22 19:03 Julian

I've just developed a strong hunch that this has to do with our handling of pin updating in the on_lines callback (i.e. my fault...), as I've only ever seen this while editing. I think we may be doing things out of order somewhere in a way that the server doesn't expect. Not sure if that's enough of a lead for either of you, but I promise I'll start getting up to speed with this repo and work on fixing this within the next few days.

rish987 avatar Mar 31 '22 03:03 rish987

^ one way to test this theory would be to pause/disable infoview updates whenever you start editing and only re-enable them once you're done, and see if you ever get a segfault doing this. I'm doing more reading than writing at the moment but lmk if someone else has the chance to daily-drive this.

rish987 avatar Mar 31 '22 04:03 rish987

Thanks for the idea! I think part of the thing that makes this annoying is it's really random to reproduce. Every few weeks it will happen 50 times in a row in a 20 minute period, and then other times only once or twice a day, and I have no idea why...

I want to say you're right that it mostly happens when editing though, which is extra annoying because usually that means I've finally gotten a minute to do some Lean and it's hard to context switch to learning how to C++ debug...

But I'm pretty confident we'll figure it out eventually.

Julian avatar Mar 31 '22 14:03 Julian

On the above -- I gutted infoview.__update_pin_positions to do nothing locally, and still see sigabrts :/.

It's dealloc_cons that always aborts here, and there's a catch there trying to catch bad allocations I see, but my C++ isn't good enough to know whether that catch block is meant to handle this double-free or just failed mallocs. Alternatively I want to try maybe making lean::server::info, which seems to be what calls that, sit behind a mutex and only handle one request at a time possibly? But my C++ is really horrid, so if either of the two of those sound obviously wrong, let me know.

Julian avatar May 17 '22 20:05 Julian

Darn, yeah if #260 is related then I still see the problem in Lean 4 with the pin window paused. So it could be an upstream issue independent of incremental vs full document sync? Though from the sound of it none of you have seen this problem in Lean 4, so maybe something's off on my end.

rish987 avatar May 25 '22 02:05 rish987

Also facing this issue. My main problem is that lean.nvim does not handle it well, and I wind up having to restart neovim completely for it to work again (sometimes doing :LspStart after the segfault works, but not always). I would appreciate some way to force reload lean.nvim as a workaround for this issue until it can be fixed.

EDIT: :LspStart seems to always respawn the LSP properly (:LspInfo says that it's running), but lean.nvim doesn't seem to properly detect that and the infoview doesn't update correctly.

MithicSpirit avatar May 23 '23 03:05 MithicSpirit