weltling / parle

Parser and lexer for PHP
Other
87 stars 10 forks source link

Request: Throw exception instead of crashing #33

Closed vike2000 closed 1 year ago

vike2000 commented 1 year ago

Addendum edit:

I would like to get a php exception thrown instead of a crash.

Talking with BenHanson below it looks like the crash happens because I am

trying to pop from an empty stack


Original post (sort of):

I am running it locally (w/ major scripting in php and bash(1),  via vscode (step-debug - both php/xdebug and c++/lldb - setup in .vscode but using external personal toolchain)  or just bash in iterm from where the following crash comes - via macOS.

It crashes in std::__1::stack and "my" call after entry (from php) being parsertl::lookup(par.sm, lex.iter, par.results, par.productions) of parle.cpp afaics:

Process:               php74 [69811]
Path:                  /opt/local/bin/php74
Identifier:            php74
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        bash [69807]
Responsible:           php74 [69811]
User ID:               501

Date/Time:             2023-04-30 14:26:14.168 +0200
OS Version:            Mac OS X 10.13.6 (17G14042)
Report Version:        12
Anonymous UUID:        68AD1302-B017-10AE-5B0E-65788163B8B6

Time Awake Since Boot: 720000 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       EXC_I386_GPFLT
Exception Note:        EXC_CORPSE_NOTIFY

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

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   parle.so                        0x000000010d401a2f std::__1::deque<std::__1::pair<unsigned short, unsigned short>, std::__1::allocator<std::__1::pair<unsigned short, unsigned short> > >::back() + 63 (deque:1804)
1   parle.so                        0x000000010d401975 std::__1::stack<std::__1::pair<unsigned short, unsigned short>, std::__1::deque<std::__1::pair<unsigned short, unsigned short>, std::__1::allocator<std::__1::pair<unsigned short, unsigned short> > > >::top() + 21 (stack:195)
2   parle.so                        0x000000010d401556 void lexertl::detail::lookup_state<lexertl::detail::basic_internals<unsigned short>, unsigned short, unsigned char, 127ul>::pop<lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul> >(lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>&, std::__1::integral_constant<bool, true> const&) + 54 (lookup.hpp:310)
3   parle.so                        0x000000010d40100e void lexertl::detail::next<lexertl::basic_state_machine<char, unsigned short>, 127ul, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>, false, true>(lexertl::basic_state_machine<char, unsigned short> const&, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>&, std::__1::integral_constant<bool, false> const&, std::__1::integral_constant<bool, true> const&, std::__1::forward_iterator_tag const&) + 510 (lookup.hpp:429)
4   parle.so                        0x000000010d400e01 void lexertl::lookup<std::__1::__wrap_iter<char const*>, lexertl::basic_state_machine<char, unsigned short>, 127ul>(lexertl::basic_state_machine<char, unsigned short> const&, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, lexertl::basic_state_machine<char, unsigned short>::id_type, 127ul>&) + 145 (lookup.hpp:488)
5   parle.so                        0x000000010d400b31 parle::lexer::iterator<std::__1::__wrap_iter<char const*>, lexertl::basic_state_machine<char, unsigned short>, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>, parle::lexer::rlexer, parle::lexer::token_cb, unsigned short>::lookup() + 145 (iterator.hpp:136)
6   parle.so                        0x000000010d4439e9 parle::lexer::iterator<std::__1::__wrap_iter<char const*>, lexertl::basic_state_machine<char, unsigned short>, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>, parle::lexer::rlexer, parle::lexer::token_cb, unsigned short>::operator++() + 25 (iterator.hpp:85)
7   parle.so                        0x000000010d44557b void parsertl::lookup<parsertl::basic_state_machine<unsigned short>, parle::lexer::iterator<std::__1::__wrap_iter<char const*>, lexertl::basic_state_machine<char, unsigned short>, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>, parle::lexer::rlexer, parle::lexer::token_cb, unsigned short>, std::__1::vector<parsertl::token<parle::lexer::iterator<std::__1::__wrap_iter<char const*>, lexertl::basic_state_machine<char, unsigned short>, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>, parle::lexer::rlexer, parle::lexer::token_cb, unsigned short> >, std::__1::allocator<parsertl::token<parle::lexer::iterator<std::__1::__wrap_iter<char const*>, lexertl::basic_state_machine<char, unsigned short>, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>, parle::lexer::rlexer, parle::lexer::token_cb, unsigned short> > > > >(parsertl::basic_state_machine<unsigned short> const&, parle::lexer::iterator<std::__1::__wrap_iter<char const*>, lexertl::basic_state_machine<char, unsigned short>, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>, parle::lexer::rlexer, parle::lexer::token_cb, unsigned short>&, parsertl::basic_match_results<parsertl::basic_state_machine<unsigned short> >&, std::__1::vector<parsertl::token<parle::lexer::iterator<std::__1::__wrap_iter<char const*>, lexertl::basic_state_machine<char, unsigned short>, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>, parle::lexer::rlexer, parle::lexer::token_cb, unsigned short> >, std::__1::allocator<parsertl::token<parle::lexer::iterator<std::__1::__wrap_iter<char const*>, lexertl::basic_state_machine<char, unsigned short>, lexertl::recursive_match_results<std::__1::__wrap_iter<char const*>, unsigned short, 127ul>, parle::lexer::rlexer, parle::lexer::token_cb, unsigned short> > > >&) + 283 (lookup.hpp:103)
8   parle.so                        0x000000010d390391 void _parser_advance<ze_parle_rparser_obj>(_zend_execute_data*, _zval_struct*, _zend_class_entry*) + 625 (parle.cpp:1089)
9   parle.so                        0x000000010d390114 zim_ParleRParser_advance(_zend_execute_data*, _zval_struct*) + 36 (parle.cpp:1106)
10  php74                           0x0000000109499bd1 execute_internal + 49
11  xdebug.so                       0x000000010c405d01 xdebug_execute_internal + 705
12  php74                           0x00000001094ddd4d ZEND_DO_FCALL_SPEC_RETVAL_UNUSED_HANDLER + 765
13  php74                           0x000000010949b1c4 execute_ex + 100
14  xdebug.so                       0x000000010c4058e1 xdebug_execute_ex + 1681
15  php74                           0x000000010949b3fb zend_execute + 283
16  php74                           0x0000000109407fbf zend_eval_stringl + 623
17  php74                           0x0000000109408241 zend_eval_stringl_ex + 49
18  php74                           0x00000001094082d3 zend_eval_string_ex + 67
19  php74                           0x0000000109546c39 do_cli + 3753
20  php74                           0x0000000109545ba5 main + 1909
21  libdyld.dylib                   0x00007fff587fc015 start + 1

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000000  rcx: 0x00007f94c2c79c80  rdx: 0x00007ffee6c61340
  rdi: 0x003fffffffffffff  rsi: 0x00007f94c2c791e8  rbp: 0x00007ffee6c61260  rsp: 0x00007ffee6c61240
   r8: 0x00007f94c2c79063   r9: 0x00007ffee6c61310  r10: 0x000000000000ffff  r11: 0x00007f94c2c00000
  r12: 0x0000000000000000  r13: 0x0000000000000000  r14: 0x0000000000000000  r15: 0x0000000000000000
  rip: 0x000000010d401a2f  rfl: 0x0000000000010217  cr2: 0x000000010d446000

Logical CPU:     2
Error Code:      0x00000000
Trap Number:     13

Binary Images:
       0x108f98000 -        0x109be3fff +php74 (0) <B555CFE6-BDF5-3E51-AFD2-0572AB820A3D> /opt/local/bin/php74
       0x109e87000 -        0x109e8efff +libargon2.1.dylib (0) <C86A87E6-EA82-35DD-8429-7B38DD33DB0B> /opt/local/lib/libargon2.1.dylib
       0x109e9a000 -        0x109ebffff +libreadline.8.dylib (0) <F47B7A3A-F038-3079-8F7C-A9C1AE76AE8B> /opt/local/lib/libreadline.8.dylib
       0x109ede000 -        0x109f1bff3 +libncurses.6.dylib (0) <27F27013-CCAE-31E1-BA8F-4B8B76C33D90> /opt/local/lib/libncurses.6.dylib
       0x109f30000 -        0x109f31ffb +libcom_err.1.1.dylib (0) <FCC90B4B-759D-32B2-8852-CBDB0A0A8EF9> /opt/local/lib/libcom_err.1.1.dylib
       0x109f34000 -        0x109f44fff +libbz2.1.0.dylib (0) <D2D8E1EA-913D-3B8B-982F-52B903F53F11> /opt/local/lib/libbz2.1.0.dylib
       0x109f50000 -        0x10a033fff +libxml2.2.dylib (0) <1FE45863-64B7-3D7E-AB01-864F15219A2C> /opt/local/lib/libxml2.2.dylib
       0x10a06d000 -        0x10a0edff7 +libpcre2-8.0.dylib (0) <D5FB73C7-0CC0-31CF-B448-C877A9568059> /opt/local/lib/libpcre2-8.0.dylib
       0x10a0fa000 -        0x10a10afff +libz.1.dylib (0) <3C9485F9-4437-3696-A0AE-D77C0CF6841A> /opt/local/lib/libz.1.dylib
       0x10a113000 -        0x10a29cffb +libicui18n.67.dylib (0) <A8F400F0-64F9-39F1-BAE2-618EB31FF6E7> /opt/local/lib/libicui18n.67.dylib
       0x10a3af000 -        0x10a4cefff +libicuuc.67.dylib (0) <A41B17F5-2865-3CAA-97CF-15C3A6BD46EE> /opt/local/lib/libicuuc.67.dylib
       0x10a549000 -        0x10c05efff +libicudata.67.dylib (0) <AB92F086-9D87-3A72-B4FD-950F2B45B312> /opt/local/lib/libicudata.67.dylib
       0x10c063000 -        0x10c07eff7 +liblzma.5.dylib (0) <000AFF62-46CA-318C-B5E9-4716D06BC3DC> /opt/local/lib/liblzma.5.dylib
       0x10c08a000 -        0x10c18aff3 +libiconv.2.dylib (0) <6A6F7404-D117-3D83-AFB3-96D7E614BF07> /opt/local/lib/libiconv.2.dylib
       0x10c1bb000 -        0x10c1d9ff7 +curl.so (0) <5D742004-6F3D-3A8A-9283-CF1AD991D47A> /opt/local/lib/*/curl.so
       0x10c1e1000 -        0x10c1f1fff +libpsl.5.dylib (0) <C3E6C0A4-BA1C-30EE-9C15-2A6E61DA76F8> /opt/local/lib/libpsl.5.dylib
       0x10c1f4000 -        0x10c1faff3 +libkrb5support.1.1.dylib (0) <2E7B094C-C887-39CB-B706-9B80E1C736C8> /opt/local/lib/libkrb5support.1.1.dylib
       0x10c400000 -        0x10c45affb +xdebug.so (0) <A4AE2A12-F047-328E-B600-09BE0BC69BAC> /opt/local/lib/*/xdebug.so
       0x10c471000 -        0x10c4d1ffb +libcurl.4.dylib (0) <DCADF016-E700-3C97-983C-739CA6028293> /opt/local/lib/libcurl.4.dylib
       0x10c4e6000 -        0x10c542ffb +libssl.3.dylib (0) <4744E354-49FB-3BC5-82B5-54B3FF461835> /opt/local/libexec/*/libssl.3.dylib
       0x10c56e000 -        0x10c7d30d3 +libcrypto.3.dylib (0) <600DD66F-DE49-317B-8B20-CB39B896ADBF> /opt/local/libexec/*/libcrypto.3.dylib
       0x10c8df000 -        0x10c90cff7 +libidn2.0.dylib (0) <629FD4F1-CACD-3437-BFCB-A06F9A4E2E1C> /opt/local/lib/libidn2.0.dylib
       0x10c911000 -        0x10c9effe7 +libzstd.1.dylib (0) <79C2017C-A512-3D51-B770-80A275F40221> /opt/local/lib/libzstd.1.dylib
       0x10c9fb000 -        0x10cb87fff +libunistring.2.dylib (0) <3472EFFD-923B-3629-8145-8371C880B3CC> /opt/local/lib/libunistring.2.dylib
       0x10cb9c000 -        0x10cba5fff +libintl.8.dylib (0) <88CFFEE8-7A05-37E1-9EAA-993C6B5CDD51> /opt/local/lib/libintl.8.dylib
       0x10cbab000 -        0x10cbb4ffb +iconv.so (0) <8D35FD2B-7A68-3D8D-9B0B-C964CB618006> /opt/local/lib/*/iconv.so
       0x10cbb9000 -        0x10cc21fff +intl.so (0) <8747F6FA-55A1-378A-9758-7AAB8E363595> /opt/local/lib/*/intl.so
       0x10cc62000 -        0x10cc6afff +libicuio.67.dylib (0) <3088B213-3D2E-342E-B550-FEC2BFDA3773> /opt/local/lib/libicuio.67.dylib
       0x10cc71000 -        0x10cd6bff3 +mbstring.so (0) <31288DFB-B419-352D-98A6-9343B10446DD> /opt/local/lib/*/mbstring.so
       0x10cd8a000 -        0x10cdf9ff3 +libonig.5.dylib (0) <899499A1-A8BA-311A-872C-FF44B30E1A47> /opt/local/lib/libonig.5.dylib
       0x10ce11000 -        0x10ce35ff3 +openssl.so (0) <FC84A889-F41B-3432-9DF8-B0E7DA443F9A> /opt/local/lib/*/openssl.so
       0x10ce46000 -        0x10ce76ff3 +libgssapi_krb5.2.2.dylib (0) <AFB2CD8E-FECE-31C6-9950-31431065F1AF> /opt/local/lib/libgssapi_krb5.2.2.dylib
       0x10ce87000 -        0x10cf04ff7 +libkrb5.3.3.dylib (0) <3F97A701-563A-3C52-BFEF-72BAC81F6C71> /opt/local/lib/libkrb5.3.3.dylib
       0x10cf3a000 -        0x10cf46fff +libk5crypto.3.1.dylib (0) <EC9424CE-0D54-3347-ACF8-0E07F2852468> /opt/local/lib/libk5crypto.3.1.dylib
       0x10cf4c000 -        0x10cf9cff3 +libssl.1.1.dylib (0) <08005490-E4F5-363B-B7D8-5E28D37048F9> /opt/local/libexec/*/libssl.1.1.dylib
       0x10cfc5000 -        0x10d178d7f +libcrypto.1.1.dylib (0) <F3D35172-5B19-3C4A-B94B-E06022C1067E> /opt/local/libexec/*/libcrypto.1.1.dylib
       0x10d20a000 -        0x10d218ff7 +sodium.so (0) <4D8B5DF7-2F19-3055-8A38-FD0664E3FAE0> /opt/local/lib/*/sodium.so
       0x10d220000 -        0x10d25efe3 +libsodium.23.dylib (0) <29C70F33-CACA-3A26-AAF3-007754177F41> /opt/local/lib/libsodium.23.dylib
       0x10d26e000 -        0x10d277ff3 +sqlite3.so (0) <857BBC6A-0127-3CB7-A194-1A645A461F1C> /opt/local/lib/*/sqlite3.so
       0x10d27f000 -        0x10d35dff7 +libsqlite3.0.dylib (0) <A045FE66-1CF6-3C8B-A465-2754F3F7BA04> /opt/local/lib/libsqlite3.0.dylib
       0x10d37d000 -        0x10d383fff +pdo_sqlite.so (0) <BCC2514A-C543-361F-8349-D1FFE62F2525> /opt/local/lib/*/pdo_sqlite.so
       0x10d388000 -        0x10d45eff7 +parle.so (0) <36F83BA1-2369-3DA7-949C-D99A7BE84C88> /Users/USER/*/parle.so
       0x10d7e2000 -        0x10d7f0fff +legacy.dylib (0) <03D10CCA-8F19-39B2-B10D-67FF3675A936> /opt/local/libexec/*/legacy.dylib
       0x11495d000 -        0x1149a7adf  dyld (551.5) <CB9BFB56-4511-36F1-A546-891FF770C01C> /usr/lib/dyld
    0x7fff2ca5d000 -     0x7fff2ca5dfff  com.apple.Accelerate (1.11 - Accelerate 1.11) <2EF00EFE-06E8-3082-85C3-2988B422A19D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff2ca76000 -     0x7fff2d1c4ffb  com.apple.vImage (8.1 - ???) <56C275C1-459F-37CD-BF29-2E6D81C29E53> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff2d1c5000 -     0x7fff2d365ff3  libBLAS.dylib (1211.50.2) <93259222-2D94-333D-A1EB-09C6FC4A64B4> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff2d366000 -     0x7fff2d3a0fef  libBNNS.dylib (38.1) <0AAE0109-71D5-3B26-8401-3E62DDF97624> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
    0x7fff2d3a1000 -     0x7fff2d77aff7  libLAPACK.dylib (1211.50.2) <70781D0B-AEAD-33EB-9900-10DC30F37D61> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff2d77b000 -     0x7fff2d791ff7  libLinearAlgebra.dylib (1211.50.2) <FB5A35EA-D636-3D69-AB53-B67E1EB8134C> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
    0x7fff2d792000 -     0x7fff2d797ff3  libQuadrature.dylib (3) <E936BDAF-8492-34D9-8C5C-AFBFCDAD8318> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
    0x7fff2d798000 -     0x7fff2d818fff  libSparse.dylib (79.50.2) <0DC25CDD-F8C1-3D6E-B472-8B060708424F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
    0x7fff2d819000 -     0x7fff2d82bff7  libSparseBLAS.dylib (1211.50.2) <994A7D7E-FA3B-3943-A59C-8150B9AF86BE> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
    0x7fff2d82c000 -     0x7fff2d99ffe7  libvDSP.dylib (622.50.5) <4BF310F4-31A3-3DA5-80E4-7F8014AD380B> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff2d9a0000 -     0x7fff2da56fef  libvMisc.dylib (622.50.5) <88143A88-4FDE-35A1-85FE-54FF0C2A9E43> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff2da57000 -     0x7fff2da57fff  com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <880DEF40-389A-3F56-ACA1-B62A5BC57E59> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff2ebfb000 -     0x7fff2ebfbfff  com.apple.ApplicationServices (48 - 50) <2B5B76E7-0AB2-31F9-BE58-B963BF1EC2E8> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff2ebfc000 -     0x7fff2ec62fff  com.apple.ApplicationServices.ATS (377 - 445.5) <60176327-F757-308E-B61A-D43394E87CC5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x7fff2ecfb000 -     0x7fff2ee1dff7  libFontParser.dylib (222.1.9) <FFF2AC1A-D4D2-3AD3-BFF2-F3649ECB02AC> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
    0x7fff2ee1e000 -     0x7fff2ee69ff7  libFontRegistry.dylib (221.6) <30C6D1DE-C0E3-3447-A0EF-829443D95F0E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x7fff2efab000 -     0x7fff2efafff3  com.apple.ColorSyncLegacy (4.13.0 - 1) <04764FB2-22D8-36F0-9647-2D21562E28D5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy
    0x7fff2f04f000 -     0x7fff2f0a1ffb  com.apple.HIServices (1.22 - 625) <3C059A55-1409-373E-BF0B-C3299AFABDCF> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff2f0a2000 -     0x7fff2f0b0fff  com.apple.LangAnalysis (1.7.0 - 1.7.0) <8BB267F4-D5AA-3D35-8269-1A3CEA054ACD> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
    0x7fff2f0b1000 -     0x7fff2f0fdfff  com.apple.print.framework.PrintCore (13.4 - 503.2) <2EA98448-9D6A-3912-9933-F7703CB01B6E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff2f0fe000 -     0x7fff2f138fff  com.apple.QD (3.12 - 404.2) <525E9518-DFF3-3D8D-BD48-E0D63EEDBD16> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff2f139000 -     0x7fff2f145fff  com.apple.speech.synthesis.framework (7.8.1 - 7.8.1) <CD09019C-569B-3A56-B84C-26F2A6223455> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x7fff2f146000 -     0x7fff2f3d4ff7  com.apple.audio.toolbox.AudioToolbox (1.14 - 1.14) <C7BE1645-BE23-3427-8650-1CEFDAF86710> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff2f6f9000 -     0x7fff2fa96fff  com.apple.CFNetwork (902.6 - 902.6) <46168F79-CCFA-349A-8508-B8CBCE27D440> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff2ffcb000 -     0x7fff30084fff  com.apple.ColorSync (4.13.0 - 3325) <EAD2D314-E810-33FB-B105-BD30ABB912AD> /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x7fff30211000 -     0x7fff302a4ff7  com.apple.audio.CoreAudio (4.3.0 - 4.3.0) <AF2B41CC-DD7A-34EB-A842-00DC3B8F2E9F> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x7fff30335000 -     0x7fff30699ff3  com.apple.CoreData (120 - 851) <283AF401-07BC-3D50-9B8C-7990E64F66BA> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x7fff3069a000 -     0x7fff3077dfff  com.apple.CoreDisplay (99.14 - 99.14) <9B2B211D-EC0A-3569-BB37-887768CD6105> /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
    0x7fff3077e000 -     0x7fff30c1afff  com.apple.CoreFoundation (6.9 - 1455.300) <D9D5D50D-5DA3-34B6-8077-DD24315A4B1E> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff30c1c000 -     0x7fff3124bff7  com.apple.CoreGraphics (2.0 - 1161.21.5) <C8BAA8C0-3DF0-37C3-8FB4-AB90BA8D4D56> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x7fff3124d000 -     0x7fff3153cfff  com.apple.CoreImage (13.0.0 - 579.5) <B2B60A80-2E10-3EDF-920C-94288E55AE25> /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
    0x7fff31911000 -     0x7fff31911fff  com.apple.CoreServices (822.37 - 822.37) <CE816EF2-2B89-3F54-A5C6-D3080B1EFB00> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff31912000 -     0x7fff31986ffb  com.apple.AE (735.2 - 735.2) <0938A72B-6A4A-36F1-95B3-5EF6B915CEEE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff31987000 -     0x7fff31c5efff  com.apple.CoreServices.CarbonCore (1178.4.2 - 1178.4.2) <4692EE3A-11FE-31FD-AF5B-30F892E87A05> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff31c5f000 -     0x7fff31c93fff  com.apple.DictionaryServices (1.2 - 284.2) <F1F3EFAE-2562-394D-8FB3-BE22F16CD75A> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff31c94000 -     0x7fff31c9cffb  com.apple.CoreServices.FSEvents (1239.50.2 - 1239.50.2) <FE465894-4235-3CE2-9A97-32D6C6C7D9AD> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
    0x7fff31c9d000 -     0x7fff31e5bff7  com.apple.LaunchServices (822.37 - 822.37) <0DB4679F-AE39-3BF3-B39B-549322E355AF> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff31e5c000 -     0x7fff31f0cfff  com.apple.Metadata (10.7.0 - 1191.8) <F3BD3FD7-208A-31E9-85CD-6E607DDAFEF0> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff31f0d000 -     0x7fff31f6dfff  com.apple.CoreServices.OSServices (822.37 - 822.37) <564DDE70-0250-346B-B5CC-4AFAC11A7373> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff31f6e000 -     0x7fff31fdcfff  com.apple.SearchKit (1.4.0 - 1.4.0) <97DD9E7D-3567-382B-ACF7-CE0E4FE78D36> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff31fdd000 -     0x7fff32001ffb  com.apple.coreservices.SharedFileList (71.21 - 71.21) <88991F51-0A75-34FF-8C91-ED0F3C270B7B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
    0x7fff322a2000 -     0x7fff323f2fff  com.apple.CoreText (352.0 - 578.23) <10DAF601-85A8-3F9C-8B0B-69DC16B95E47> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
    0x7fff323f3000 -     0x7fff3242dfff  com.apple.CoreVideo (1.8 - 0.0) <0DD4FFDF-E1F1-39D1-8246-5D0D9869F1EA> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff32734000 -     0x7fff32739fff  com.apple.DiskArbitration (2.7 - 2.7) <51DC4AED-6F0C-321F-93E3-20EA4341B768> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff328fa000 -     0x7fff32cc1ffb  com.apple.Foundation (6.9 - 1455.300) <0479E072-1DD0-3881-A9A2-EDAD3EE58C23> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff32d32000 -     0x7fff32d62ff3  com.apple.GSS (4.0 - 2.0) <7E83A21E-4F90-38F3-9FD3-FAC0E0143243> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
    0x7fff32fd8000 -     0x7fff33073fff  com.apple.framework.IOKit (2.0.2 - 1445.71.6) <4B5C715C-6A49-366B-9080-ABADE6A3B3BD> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff33075000 -     0x7fff3307cfff  com.apple.IOSurface (211.15 - 211.15) <08DA3232-805F-304B-80DD-C86B49CC4AAD> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff330d3000 -     0x7fff33251fff  com.apple.ImageIO.framework (3.3.0 - 1739.3.8) <B4911BA1-6844-3BD6-BA68-AF4ACEB9D508> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x7fff33252000 -     0x7fff33256ffb  libGIF.dylib (1739.3.8) <003D0895-622E-3312-9DB3-F7B7BFD33AEE> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x7fff33257000 -     0x7fff3333eff7  libJP2.dylib (1739.3.8) <9CD47B18-AAD7-379F-B04F-606B97CC62EA> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
    0x7fff3333f000 -     0x7fff33362fff  libJPEG.dylib (1739.3.8) <67715B7F-83C3-3A0E-9F1C-8B69041E1E3E> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x7fff33653000 -     0x7fff33679ff3  libPng.dylib (1739.3.8) <CBA3121F-CACF-357A-B59D-804B8EFF8AF7> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x7fff3367a000 -     0x7fff3367cff3  libRadiance.dylib (1739.3.8) <7F224790-D5FF-3671-BDF0-22D676E6EE6A> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x7fff3367d000 -     0x7fff336caffb  libTIFF.dylib (1739.3.8) <1D450863-14A2-3268-B848-037D7ABAB4B0> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff34584000 -     0x7fff3459dff7  com.apple.Kerberos (3.0 - 1) <C7CDC1E0-011B-3220-847D-1AC3DA6D5522> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff34f7f000 -     0x7fff35000fff  com.apple.Metal (125.30 - 125.30) <67EDA241-80B1-3C67-BB2B-FF83E49FEF8D> /System/Library/Frameworks/Metal.framework/Versions/A/Metal
    0x7fff3501d000 -     0x7fff35038fff  com.apple.MetalPerformanceShaders.MPSCore (1.0 - 1) <8DED0F0C-4A10-36A3-A3E2-7D3CF429ACE1> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSCore.framework/Versions/A/MPSCore
    0x7fff35039000 -     0x7fff350a8fef  com.apple.MetalPerformanceShaders.MPSImage (1.0 - 1) <48F4A97F-143A-3918-AB92-6733E258E25A> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSImage.framework/Versions/A/MPSImage
    0x7fff350a9000 -     0x7fff350cdfff  com.apple.MetalPerformanceShaders.MPSMatrix (1.0 - 1) <CD443ADC-07FE-3603-B0C9-60C2AF3616FF> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
    0x7fff350ce000 -     0x7fff351b5ff7  com.apple.MetalPerformanceShaders.MPSNeuralNetwork (1.0 - 1) <40EB0BAE-6DDE-3334-A28C-529AE4C6716A> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
    0x7fff351b6000 -     0x7fff351b6ff7  com.apple.MetalPerformanceShaders.MetalPerformanceShaders (1.0 - 1) <A111E862-43E5-3247-9E98-0A40DC34AD9B> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
    0x7fff361b5000 -     0x7fff361c1ffb  com.apple.NetFS (6.0 - 4.0) <02E09301-324F-3542-875D-B87B144635C8> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
    0x7fff38fb3000 -     0x7fff3900dff7  com.apple.opencl (2.8.24 - 2.8.24) <429B5283-276D-372D-BB0E-EEBE1408C393> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff3900e000 -     0x7fff3902affb  com.apple.CFOpenDirectory (10.13 - 207.50.1) <E9AD4934-5DE3-3DD0-9D7B-9D288D829F15> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff3902b000 -     0x7fff39036fff  com.apple.OpenDirectory (10.13 - 207.50.1) <8B54C486-14C9-3FEF-97B8-F4D6F59F75CF> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff3a1b5000 -     0x7fff3a1b7fff  libCVMSPluginSupport.dylib (16.7.4) <3E26CF2B-5074-3321-AD9E-6A667D61AA35> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
    0x7fff3a1b8000 -     0x7fff3a1bdffb  libCoreFSCache.dylib (162.12) <D12E1D0E-C0E5-329E-99B4-AB152C9ABBE3> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
    0x7fff3a1be000 -     0x7fff3a1c2fff  libCoreVMClient.dylib (162.12) <39951906-8566-3F9D-9EA8-EBD6084DCF73> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x7fff3a1c3000 -     0x7fff3a1ccff3  libGFXShared.dylib (16.7.4) <81A7875B-103D-3C82-B25C-DE24E57E5C8B> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x7fff3a1cd000 -     0x7fff3a1d8fff  libGL.dylib (16.7.4) <2BB333D3-5C61-33DF-8545-06DF2D08B83D> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x7fff3a1d9000 -     0x7fff3a214fe7  libGLImage.dylib (16.7.4) <4DA003CE-0B74-3FE4-808C-B2FBCE517EB4> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x7fff3a383000 -     0x7fff3a3c1ffb  libGLU.dylib (16.7.4) <BCB09CD8-EB0E-38FA-8B5A-9E29532EE364> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff3ad39000 -     0x7fff3ad48ff3  com.apple.opengl (16.7.4 - 16.7.4) <77A788F3-8F0C-305C-AEB9-FF258676C599> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff3bb9c000 -     0x7fff3bde8ff7  com.apple.QuartzCore (1.11 - 584.64.2) <FD9A3180-479E-3DAC-9CF0-0D214C7E46A7> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x7fff3c620000 -     0x7fff3c94bfff  com.apple.security (7.0 - 58286.70.19) <E118FC23-2E20-3999-826B-58488049A277> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff3c94c000 -     0x7fff3c9d8ff7  com.apple.securityfoundation (6.0 - 55185.50.5) <3D9AD4EF-439C-3AE1-9332-AD291CF96C64> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff3ca0a000 -     0x7fff3ca0effb  com.apple.xpc.ServiceManagement (1.0 - 1) <3FCAF325-40C8-3148-9E49-E555F95B2946> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
    0x7fff3cdb3000 -     0x7fff3ce23ff3  com.apple.SystemConfiguration (1.17 - 1.17) <41D509AB-AED3-30FF-BB00-615BB5A8AC00> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff3fd20000 -     0x7fff3fdb3ff3  com.apple.APFS (1.0 - 1) <70034B32-9347-30FB-9DDE-95061F686613> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
    0x7fff40b5d000 -     0x7fff40ba5ff3  com.apple.AppleJPEG (1.0 - 1) <15558577-08E3-3087-86A9-8B6247978BCE> /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
    0x7fff40be0000 -     0x7fff40c08fff  com.apple.applesauce (1.0 - ???) <9CE4CAE2-30B9-3DF6-9BC0-33D532D7B937> /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
    0x7fff4142b000 -     0x7fff41432ff7  com.apple.coreservices.BackgroundTaskManagement (1.0 - 57.1) <B2A1EEDF-490A-38E2-A896-41057C0417BF> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
    0x7fff42e76000 -     0x7fff42e7fff3  com.apple.CommonAuth (4.0 - 2.0) <21AF4AC2-E650-35F9-AB33-3EBA2769FBC0> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
    0x7fff43993000 -     0x7fff439a3ff7  com.apple.CoreEmoji (1.0 - 69.3) <DCCF04BB-DA33-3DC0-B7C2-1D34870C0C0A> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
    0x7fff44b4b000 -     0x7fff44b4fffb  com.apple.DSExternalDisplay (3.1 - 380) <13AA3B17-E649-3B7B-B09D-9AE7C4A60887> /System/Library/PrivateFrameworks/DSExternalDisplay.framework/Versions/A/DSExternalDisplay
    0x7fff45c1a000 -     0x7fff46048fff  com.apple.vision.FaceCore (3.3.2 - 3.3.2) <06065DA3-4091-3682-A308-BF3F2E3E4AF8> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
    0x7fff49310000 -     0x7fff49315fff  com.apple.GPUWrangler (3.20.18 - 3.20.18) <B54A9063-01EC-3D2C-8924-86A1F315DEA2> /System/Library/PrivateFrameworks/GPUWrangler.framework/Versions/A/GPUWrangler
    0x7fff4a08b000 -     0x7fff4a09afff  com.apple.GraphVisualizer (1.0 - 5) <EB42FFAD-2BCA-3DE2-B40E-AFDE6E7FAA4D> /System/Library/PrivateFrameworks/GraphVisualizer.framework/Versions/A/GraphVisualizer
    0x7fff4a11d000 -     0x7fff4a191fff  com.apple.Heimdal (4.0 - 2.0) <FF7BC1AE-1BA6-3150-A7CC-B9E0AD5EBE7F> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
    0x7fff4aaa4000 -     0x7fff4aaabff7  com.apple.IOAccelerator (378.28 - 378.28) <F109E4CB-49D9-37FB-974A-8A3E9E8A61DA> /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
    0x7fff4aaaf000 -     0x7fff4aac6fff  com.apple.IOPresentment (1.0 - 35.1) <AC89202B-8433-3B62-A7BE-467D1905F6FB> /System/Library/PrivateFrameworks/IOPresentment.framework/Versions/A/IOPresentment
    0x7fff4b150000 -     0x7fff4b245ff7  com.apple.LanguageModeling (1.0 - 159.5.3) <FAA236D6-CFB8-37D2-B635-B324E0719E32> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
    0x7fff4b246000 -     0x7fff4b288fff  com.apple.Lexicon-framework (1.0 - 33.5) <F8DD2D09-5CEE-3741-93CF-223FC61FCCA4> /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
    0x7fff4b28c000 -     0x7fff4b293ff7  com.apple.LinguisticData (1.0 - 238.3) <6F2ED02A-2120-3ABA-8EC1-314E4FFE77F3> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
    0x7fff4bfa7000 -     0x7fff4c010ff7  com.apple.gpusw.MetalTools (1.0 - 1) <F2A47319-0430-3BB5-943E-651A40C127A9> /System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
    0x7fff4c245000 -     0x7fff4c26fffb  com.apple.MultitouchSupport.framework (1614.1 - 1614.1) <A376F2FB-64AE-3B35-88B0-7D2BB4D1CB7C> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x7fff4c4d6000 -     0x7fff4c4e1fff  com.apple.NetAuth (6.2 - 6.2) <85C5D94D-C67E-36DC-B0EA-02F53AC4FCD3> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
    0x7fff5252d000 -     0x7fff527cafff  com.apple.SkyLight (1.600.0 - 312.103.12) <A65B547C-B7CA-3E33-A0C5-58AB436A8467> /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
    0x7fff54140000 -     0x7fff54148ff7  com.apple.TCC (1.0 - 1) <9D5466C6-A8B6-3C24-A791-6506B81D9998> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
    0x7fff55def000 -     0x7fff55df1ffb  com.apple.loginsupport (1.0 - 1) <E273A65A-6379-3787-B119-BC6ED94D4A81> /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
    0x7fff55f58000 -     0x7fff55f8bff7  libclosured.dylib (551.5) <112BC241-6626-3848-8DD8-B34B5B6F7ABC> /usr/lib/closure/libclosured.dylib
    0x7fff56045000 -     0x7fff5607eff7  libCRFSuite.dylib (41) <14B00FCF-4C67-3736-95B5-76FEA6E4972C> /usr/lib/libCRFSuite.dylib
    0x7fff5607f000 -     0x7fff5608afff  libChineseTokenizer.dylib (28) <2237A259-0E59-3DD0-BADC-281C361FAB70> /usr/lib/libChineseTokenizer.dylib
    0x7fff5611c000 -     0x7fff5611dff3  libDiagnosticMessagesClient.dylib (104) <3F855622-352B-3EA8-B7C8-94D1DB48C080> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff56154000 -     0x7fff5631eff3  libFosl_dynamic.dylib (17.8) <1A2A9D53-129E-3F7D-AE23-1D6E6D9EA017> /usr/lib/libFosl_dynamic.dylib
    0x7fff56356000 -     0x7fff56356fff  libOpenScriptingUtil.dylib (174) <AC38B2C3-5A37-30EB-A246-CEFABD3DD4E7> /usr/lib/libOpenScriptingUtil.dylib
    0x7fff56492000 -     0x7fff56493ffb  libSystem.B.dylib (1252.50.4) <5A02016C-8F9D-3F47-8C39-AD2CD4F9F11D> /usr/lib/libSystem.B.dylib
    0x7fff56526000 -     0x7fff56526fff  libapple_crypto.dylib (109.50.15) <A8DEA8E9-5769-3C78-824D-969A98B94086> /usr/lib/libapple_crypto.dylib
    0x7fff56527000 -     0x7fff5653dff7  libapple_nghttp2.dylib (1.24) <24338D88-5D73-3165-9CFB-5A92734C9040> /usr/lib/libapple_nghttp2.dylib
    0x7fff5653e000 -     0x7fff56568ff3  libarchive.2.dylib (54) <D2B6AD30-18CB-3E3C-ABBF-A0745654350F> /usr/lib/libarchive.2.dylib
    0x7fff56670000 -     0x7fff56670ff3  libauto.dylib (187) <92E693DF-D74D-39A0-99AB-8A9F6FFEBA18> /usr/lib/libauto.dylib
    0x7fff56671000 -     0x7fff5672affb  libboringssl.dylib (109.50.15) <FC25FE02-6AA8-3F0B-9EF3-56A455C08C0F> /usr/lib/libboringssl.dylib
    0x7fff5672b000 -     0x7fff5673bff3  libbsm.0.dylib (39) <18D57879-A717-3466-9637-1704EE59A32A> /usr/lib/libbsm.0.dylib
    0x7fff5673c000 -     0x7fff56749ffb  libbz2.1.0.dylib (38) <0B4321CD-3D6F-3095-A12E-27F66B4321AD> /usr/lib/libbz2.1.0.dylib
    0x7fff5674a000 -     0x7fff567a0fff  libc++.1.dylib (400.9) <142D6292-F30F-3949-9F37-3C97A579F540> /usr/lib/libc++.1.dylib
    0x7fff567a1000 -     0x7fff567c5ff7  libc++abi.dylib (400.8.2) <EF5E37D7-11D9-3530-BE45-B986612D13E2> /usr/lib/libc++abi.dylib
    0x7fff567c7000 -     0x7fff567d7fff  libcmph.dylib (6) <890DEC4C-4334-393C-8B56-7C8560BBED9D> /usr/lib/libcmph.dylib
    0x7fff567d8000 -     0x7fff567effd3  libcompression.dylib (47.60.2) <CC7ACB0A-49CD-3564-978F-49F843186F27> /usr/lib/libcompression.dylib
    0x7fff56a9a000 -     0x7fff56ab2ff7  libcoretls.dylib (155.50.1) <087E9F90-21E5-376D-9956-C4E346409682> /usr/lib/libcoretls.dylib
    0x7fff56ab3000 -     0x7fff56ab4ff3  libcoretls_cfhelpers.dylib (155.50.1) <78CCDD10-7D71-365E-A0A5-8524ED5F5BF9> /usr/lib/libcoretls_cfhelpers.dylib
    0x7fff56f85000 -     0x7fff56fdaff3  libcups.2.dylib (462.2.10) <590D6ACC-68A0-371E-8646-FC59F814534B> /usr/lib/libcups.2.dylib
    0x7fff5711a000 -     0x7fff5711afff  libenergytrace.dylib (16) <1F11D488-07C6-3D18-BEF2-0B28A992D761> /usr/lib/libenergytrace.dylib
    0x7fff57151000 -     0x7fff57156ff3  libheimdal-asn1.dylib (520.50.9) <EF65C17E-31CD-31DC-876C-BF3EF393099C> /usr/lib/libheimdal-asn1.dylib
    0x7fff57182000 -     0x7fff57273ff7  libiconv.2.dylib (51.50.1) <7965B866-C75A-3450-9891-0500349F7090> /usr/lib/libiconv.2.dylib
    0x7fff57274000 -     0x7fff5749bffb  libicucore.A.dylib (59181.0.1) <17767680-09DF-3954-AB6C-B13B41F92A2E> /usr/lib/libicucore.A.dylib
    0x7fff574e8000 -     0x7fff574e9fff  liblangid.dylib (128) <C54A2059-A4BE-364B-94C2-581C548459BC> /usr/lib/liblangid.dylib
    0x7fff574ea000 -     0x7fff57503ffb  liblzma.5.dylib (10) <60BEAB81-CE65-3479-90CC-03325AACEC95> /usr/lib/liblzma.5.dylib
    0x7fff57504000 -     0x7fff5751aff7  libmarisa.dylib (9) <47540053-02CF-35F8-A75E-074DB3D51812> /usr/lib/libmarisa.dylib
    0x7fff575cb000 -     0x7fff577f3ff7  libmecabra.dylib (779.7.6) <B2ACB6A9-91AE-364B-9418-8EB938BF82B6> /usr/lib/libmecabra.dylib
    0x7fff579cb000 -     0x7fff57b46fff  libnetwork.dylib (1229.70.2) <0596A03E-C984-3FE6-B88E-63D5F96EC49A> /usr/lib/libnetwork.dylib
    0x7fff57bcd000 -     0x7fff57fbe3b7  libobjc.A.dylib (723) <616AB826-9179-3924-AA61-AF760363A3F5> /usr/lib/libobjc.A.dylib
    0x7fff57fd1000 -     0x7fff57fd5fff  libpam.2.dylib (22) <E5840D63-8506-301A-9182-5000031854E1> /usr/lib/libpam.2.dylib
    0x7fff57fd8000 -     0x7fff58010ff7  libpcap.A.dylib (79.20.3) <6A9D27FA-2780-3E96-8B2E-645638AC13AC> /usr/lib/libpcap.A.dylib
    0x7fff5808f000 -     0x7fff580abffb  libresolv.9.dylib (65.1) <D9BB6307-71E4-3A94-A745-1FCA114C6894> /usr/lib/libresolv.9.dylib
    0x7fff580fc000 -     0x7fff58289ff7  libsqlite3.dylib (274.8.1) <B70A2908-E0F7-364E-952A-1D2D19787B89> /usr/lib/libsqlite3.dylib
    0x7fff5845d000 -     0x7fff584bdff3  libusrtcp.dylib (1229.70.2) <1E065228-D0E3-3808-9405-894056C6BEC0> /usr/lib/libusrtcp.dylib
    0x7fff584be000 -     0x7fff584c1ffb  libutil.dylib (51.20.1) <A50E15F1-20A2-3EA7-A8CE-A43662E18587> /usr/lib/libutil.dylib
    0x7fff584c2000 -     0x7fff584cfff3  libxar.1.dylib (417.1) <351781D5-3CCF-320F-BB5A-4DFCC1CCD31D> /usr/lib/libxar.1.dylib
    0x7fff584d3000 -     0x7fff585baffb  libxml2.2.dylib (31.20) <286F8531-7001-3989-9640-284443355433> /usr/lib/libxml2.2.dylib
    0x7fff585bb000 -     0x7fff585e3fff  libxslt.1.dylib (15.16) <57D56366-1E7B-356C-B2B8-F4688FF666E6> /usr/lib/libxslt.1.dylib
    0x7fff585e4000 -     0x7fff585f6ffb  libz.1.dylib (70) <47278BDC-596E-3037-B8DA-05FE9D5DBEF6> /usr/lib/libz.1.dylib
    0x7fff58692000 -     0x7fff58696ff7  libcache.dylib (80) <096D3699-58D2-3D23-9512-BC88DAE7B16C> /usr/lib/system/libcache.dylib
    0x7fff58697000 -     0x7fff586a1ff3  libcommonCrypto.dylib (60118.50.1) <B4E77BD4-A809-37E1-8A79-25955E0F5D9C> /usr/lib/system/libcommonCrypto.dylib
    0x7fff586a2000 -     0x7fff586a9fff  libcompiler_rt.dylib (62) <4CEED002-D00B-35F8-B563-0546A5F71A43> /usr/lib/system/libcompiler_rt.dylib
    0x7fff586aa000 -     0x7fff586b3ffb  libcopyfile.dylib (146.50.5) <F7A7999F-9509-3C67-8EE9-95BEE6772676> /usr/lib/system/libcopyfile.dylib
    0x7fff586b4000 -     0x7fff58739ffb  libcorecrypto.dylib (562.70.3) <9C6E5CC2-272B-3740-AEDB-9EBEC98EC7F9> /usr/lib/system/libcorecrypto.dylib
    0x7fff587c1000 -     0x7fff587faff7  libdispatch.dylib (913.60.3) <285526B6-A2A6-316D-A1CC-37803B71E203> /usr/lib/system/libdispatch.dylib
    0x7fff587fb000 -     0x7fff58818ff7  libdyld.dylib (551.5) <49ABA86D-DD48-3133-9B14-B9A564EEBC66> /usr/lib/system/libdyld.dylib
    0x7fff58819000 -     0x7fff58819ffb  libkeymgr.dylib (28) <7CC7B5E1-AB7F-3495-A26A-396461BCB66B> /usr/lib/system/libkeymgr.dylib
    0x7fff5881a000 -     0x7fff58826ff3  libkxld.dylib (4570.71.82.8) <44AF05D7-6BDF-3A9B-B5CF-D16C98B6844E> /usr/lib/system/libkxld.dylib
    0x7fff58827000 -     0x7fff58827ff7  liblaunch.dylib (1205.70.16) <265EE555-E988-3EE5-A39E-028FB3A5FE11> /usr/lib/system/liblaunch.dylib
    0x7fff58828000 -     0x7fff5882cffb  libmacho.dylib (906) <F5F16E2F-F961-3FF4-B02F-69BBDB57B8DC> /usr/lib/system/libmacho.dylib
    0x7fff5882d000 -     0x7fff5882ffff  libquarantine.dylib (86.70.1) <262CECFE-A493-3EC6-8608-CEA93757265E> /usr/lib/system/libquarantine.dylib
    0x7fff58830000 -     0x7fff58831ff3  libremovefile.dylib (45) <EA24BFB6-24B7-3841-8AAC-FAF400910706> /usr/lib/system/libremovefile.dylib
    0x7fff58832000 -     0x7fff58849fff  libsystem_asl.dylib (356.70.1) <9481D82D-CFB7-3032-A07F-88F7F59CAC2C> /usr/lib/system/libsystem_asl.dylib
    0x7fff5884a000 -     0x7fff5884afff  libsystem_blocks.dylib (67) <FA2C3663-9DBB-3AFB-80A3-E77BE0816AD0> /usr/lib/system/libsystem_blocks.dylib
    0x7fff5884b000 -     0x7fff588d4ff7  libsystem_c.dylib (1244.50.9) <25DD83D8-80CA-3DFF-8626-FE704911F19C> /usr/lib/system/libsystem_c.dylib
    0x7fff588d5000 -     0x7fff588d8ffb  libsystem_configuration.dylib (963.50.9) <61B26E1D-FEFF-38C6-AE0E-A6DD90145EB2> /usr/lib/system/libsystem_configuration.dylib
    0x7fff588d9000 -     0x7fff588dcffb  libsystem_coreservices.dylib (51) <E8FA663F-1B0F-3B12-8F97-31A46E6B4D68> /usr/lib/system/libsystem_coreservices.dylib
    0x7fff588dd000 -     0x7fff588defff  libsystem_darwin.dylib (1244.50.9) <6195EEA1-83A7-35F0-8147-5AB031020CD0> /usr/lib/system/libsystem_darwin.dylib
    0x7fff588df000 -     0x7fff588e5ffb  libsystem_dnssd.dylib (878.70.4) <0D2C9583-5D28-375B-AEB4-F66F18C78322> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff588e6000 -     0x7fff5892fff7  libsystem_info.dylib (517.30.1) <9C2C96F3-638B-34E7-A2BD-24C643EAF957> /usr/lib/system/libsystem_info.dylib
    0x7fff58930000 -     0x7fff58956ff7  libsystem_kernel.dylib (4570.71.82.8) <C34BA704-FAFF-3DDB-9827-5930B5BEF134> /usr/lib/system/libsystem_kernel.dylib
    0x7fff58957000 -     0x7fff589a2fcb  libsystem_m.dylib (3147.50.1) <B3172533-77D2-3416-8487-4A505198E9E1> /usr/lib/system/libsystem_m.dylib
    0x7fff589a3000 -     0x7fff589c2ff7  libsystem_malloc.dylib (140.50.7) <821E16C8-7A7E-3269-9167-10F4F413BF93> /usr/lib/system/libsystem_malloc.dylib
    0x7fff589c3000 -     0x7fff58af3ff7  libsystem_network.dylib (1229.70.2) <07BFD80A-E7EB-3DEB-B765-5E1659453114> /usr/lib/system/libsystem_network.dylib
    0x7fff58af4000 -     0x7fff58afeffb  libsystem_networkextension.dylib (767.70.2) <A90BAFFD-AC3D-3078-90B2-71463DBFD4A5> /usr/lib/system/libsystem_networkextension.dylib
    0x7fff58aff000 -     0x7fff58b08ff3  libsystem_notify.dylib (172) <738B3BB0-4F20-3446-A3B6-095D796E5903> /usr/lib/system/libsystem_notify.dylib
    0x7fff58b09000 -     0x7fff58b10ff7  libsystem_platform.dylib (161.50.1) <90A2A62F-8690-3FA7-A4D0-9085BF2FA44A> /usr/lib/system/libsystem_platform.dylib
    0x7fff58b11000 -     0x7fff58b1cfff  libsystem_pthread.dylib (301.50.1) <283E64A7-A2B2-3212-95BA-4D21F9AE36CF> /usr/lib/system/libsystem_pthread.dylib
    0x7fff58b1d000 -     0x7fff58b20fff  libsystem_sandbox.dylib (765.70.2) <C29E1B7A-F39B-344E-98F7-8FB32B10AE0A> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff58b21000 -     0x7fff58b22ff3  libsystem_secinit.dylib (30) <4E84DF62-57B5-36F9-819F-3C1E7FEDA856> /usr/lib/system/libsystem_secinit.dylib
    0x7fff58b23000 -     0x7fff58b2aff7  libsystem_symptoms.dylib (820.60.3) <A45B4D84-2C69-3F19-83C2-2F1EEA73A7B5> /usr/lib/system/libsystem_symptoms.dylib
    0x7fff58b2b000 -     0x7fff58b3fff7  libsystem_trace.dylib (829.70.2) <4C4E5351-E370-3226-9B30-61E250DE3B2E> /usr/lib/system/libsystem_trace.dylib
    0x7fff58b41000 -     0x7fff58b46ff7  libunwind.dylib (35.3) <BAE12DA3-CF33-32AD-86B0-CCD6705ADFAA> /usr/lib/system/libunwind.dylib
    0x7fff58b47000 -     0x7fff58b74fff  libxpc.dylib (1205.70.16) <26D99819-B813-320E-9E8F-9D57AD2DA63B> /usr/lib/system/libxpc.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: 919641
    thread_create: 0
    thread_set_state: 977

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

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Kernel Alloc Once                    8K        2 
MALLOC                            36.7M       16 
MALLOC guard page                   32K        9 
Memory Tag 250                    2048K        2 
STACK GUARD                       56.0M        2 
Stack                             8192K        2 
VM_ALLOCATE (reserved)             192K        2         reserved VM address space (unallocated)
__DATA                            16.0M      230 
__FONT_DATA                          4K        2 
__LINKEDIT                       202.2M       46 
__TEXT                           162.9M      222 
__UNICODE                          560K        2 
shared memory                       12K        4 
===========                     =======  ======= 
TOTAL                            484.6M      528 
TOTAL, minus reserved VM space   484.4M      528 

Model: iMac11,2, BootROM 99.0.0.0.0, 2 processors, Intel Core i3, 3.2 GHz, 16 GB, SMC 1.64f5
Graphics: ATI Radeon HD 5670, ATI Radeon HD 5670, PCIe
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1333 MHz, 0x802C, 0x31364A53463531323634485A2D3147344431
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1333 MHz, 0x802C, 0x31364A53463531323634485A2D3147344431
Memory Module: BANK 0/DIMM1, 4 GB, DDR3, 1333 MHz, 0x859B, 0x435435313236344243313333392E4D313646
Memory Module: BANK 1/DIMM1, 4 GB, DDR3, 1333 MHz, 0x859B, 0x435435313236344243313333392E4D313646
AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x8F), Atheros 9280: 4.0.74.0-P2P
Bluetooth: Version 6.0.7f22, 3 services, 27 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Serial ATA Device: SAMSUNG HD103SJ, 1 TB
Serial ATA Device: HL-DT-STDVDRW  GA32N
USB Device: USB 2.0 Bus
USB Device: Hub
USB Device: Keyboard Hub
USB Device: Apple Keyboard
USB Device: Internal Memory Card Reader
USB Device: BRCM2046 Hub
USB Device: Bluetooth USB Host Controller
USB Device: USB 2.0 Bus
USB Device: Hub
USB Device: USB 2.0 Hub
USB Device: USB 2.0 Hub
USB Device: IR Receiver
USB Device: Built-in iSight
FireWire Device:
Thunderbolt Bus: 
vike2000 commented 1 year ago

the effective php code that crashes, and though the whole ruleset/machine is probably highly incomplete, I can't say I see a clear reason for it to crash...

<?php 
$c='\\t';

$p=new \Parle\RParser;
$p -> token('ESCAPE');
$p -> token('ESCAPED');
$p -> push('start','ESCAPE');
$p -> build();

$l=new \Parle\RLexer;
$l -> pushState('stt_esc');
$l -> push('INITIAL','\\\\',1,'stt_esc');
$l -> push('stt_esc','.',1,'<');
$l -> build();

$p -> consume($c,$l);
$p -> advance();?>

I don't understand much of the c++ code, but looking through the crashing stack in vscode, it looks like most is in the parsertl/lexertl libs, so maybe this could be seen as an upstream issue (@BenHanson)...

vike2000 commented 1 year ago
more or less useless post now the following echoes true and doesn't crash. I still don't see the clear reason for the previous code to crash. ``` php $c='\\t'; $p=new \Parle\RParser; $p -> nonassoc('\'\\\''); $p -> token('ESCAPED'); $p -> push('start','esc'); $p -> push('esc','\'\\\\\' ESCAPED'); $p -> build(); $l=new \Parle\RLexer; $l -> pushState('stt_esc'); $l -> push('INITIAL','\\\\',$p -> tokenId('\'\\\''),'stt_esc'); $l -> push('stt_esc','.',$p -> tokenId('ESCAPED'),'<'); $l -> build(); $p -> consume($c,$l); echo((json_encode(\Parle\RParser::ACTION_ERROR == $p -> action)).PHP_EOL); $p -> advance(); ```
vike2000 commented 1 year ago
more or less useless post now one last php variant; as I clearly don't understand jack, I won't give any more examples until asked to, or should I understand something more real... the following echoes true and then crashes: ``` php $c='\\t'; $p=new \Parle\RParser; $p -> token("'\\'"); $p -> token('ESCAPED'); $p -> push('start','esc'); $p -> push('esc',"'\\' ESCAPED"); $p -> build(); $l=new \Parle\RLexer; $l -> pushState('stt_esc'); $l -> push('INITIAL',"\\\\",$p -> tokenId("'\\'"),'stt_esc'); $l -> push('stt_esc','.',$p -> tokenId('ESCAPED'),'<'); $l -> build(); $p -> consume($c,$l); echo((json_encode(\Parle\RParser::ACTION_SHIFT == $p -> action)).PHP_EOL); $p -> advance(); ```
BenHanson commented 1 year ago

the effective php code that crashes, and though the whole ruleset/machine is probably highly incomplete, I can't say I see a clear reason for it to crash...

<?php 
$c='\\t';

$p=new \Parle\RParser;
$p -> token('ESCAPE');
$p -> token('ESCAPED');
$p -> push('start','ESCAPE');
$p -> build();

$l=new \Parle\RLexer;
$l -> pushState('stt_esc');
$l -> push('INITIAL','\\\\',1,'stt_esc');
$l -> push('stt_esc','.',1,'<');
$l -> build();

$p -> consume($c,$l);
$p -> advance();?>

I don't understand much of the c++ code, but looking through the crashing stack in vscode, it looks like most is in the parsertl/lexertl libs, so maybe this could be seen as an upstream issue (@BenHanson)...

Hello, I am the author of lexertl and parsertl.

The problem is that you are doing a 'goto' state ('stt_esc') and then trying to pop from an empty stack with '<'.

If you do:

$l -> push('stt_esc','.',$p -> tokenId('ESCAPED'),'INITIAL');

instead then things will work as expected.

If you want to stack your states then you would do:

$l -> push('INITIAL',"\\\\",$p -> tokenId("'\\'"),'>stt_esc');

See "Recursive Rules" under http://benhanson.net/lexertl.html

vike2000 commented 1 year ago

Thank you very much @BenHanson for helping me get the states right. I have them working in a jison program that I now want to port to parle. I have written another program using parle (and looking as much as possible at your documentation) but ended up not using states as I never got them right.

My real issue, as I will now try to make more clear in the OP, is yet that I would like to have an explanatory exception thrown instead of just a crash, in the case I thanks to you now know is

trying to pop from an empty stack

Saying it now I realize that the parle side has to catch that c++ exception and transform it into a php exception any way, so you can't solve my issue with parle in lexertl alone, unless parle has some kind of general exception handling already prepared, hmm... Even if parle would catch an exception raised in lexertl, perhaps parle would be better to throw a PHP exception at some adequate point before calling lexertl in this case. You (and any possible contributors) of course do with exceptions as you see fit in lexertl.

While I realize I shouldn've pinged you for my main issue here I again thank you for helping me getting my states right.

vike2000 commented 1 year ago

For completeness. An example of a full working example, albeit small:

$c='\\t';

$p=new \Parle\RParser;
$p -> token('ESCAPE');
$p -> token('ESCAPED');
$p -> push('start',"ESCAPE ESCAPED");
$p -> build();

$l=new \Parle\RLexer;
$l -> pushState('stt_esc');
$l -> push('INITIAL','\\\\',$p -> tokenId('ESCAPE'),'>'.'stt_esc');
$l -> push('stt_esc','.',$p -> tokenId('ESCAPED'),'<');
$l -> build();

$p -> consume($c,$l);
echo var_export((\Parle\RParser::ACTION_SHIFT==$p -> action),true).PHP_EOL;
$p -> advance();
echo var_export((\Parle\RParser::ACTION_SHIFT==$p -> action),true).PHP_EOL;
$p -> advance();
echo var_export((\Parle\RParser::ACTION_REDUCE==$p -> action),true).PHP_EOL;
echo var_export(($p -> sigil(0)),true).PHP_EOL;
echo var_export(($p -> sigil(1)),true).PHP_EOL;

Outputs:

true
true
true
'\\'
't'

My bad usage and its crash is reintroduced by removing the '>'.

BenHanson commented 1 year ago

Thanks for the feedback, glad I could help.

Yes, crashing on an empty stack is pretty brutal. Just FYI, crashing dereferencing invalid iterators is acceptable in C++(!)

I have updated the C++ library to throw when attempting to pop from an empty stack. Anatol has added me as a collaborator so I have pushed that change to the repo. It appears that the code already does a php_parle_rethrow_from_cpp if parsertl::lookup() fails, so it should already work as you requested.

If you've got any other queries, I'm happy to answer them.