[webkit-dev] jsc bus error EXC_BAD_ACCESS with jsc-only build on Mac

Michael Saboff msaboff at apple.com
Tue Mar 28 20:19:57 PDT 2023


Great news.

In all the time I have been on the team, I have never heard of the “--jsc-only” option.  It doesn’t show up in the —help output.

- Michael

> On Mar 28, 2023, at 4:57 PM, Laurence Rowe <l at lrowe.co.uk> wrote:
> 
> Michael,
> 
> So build-jsc without the —jsc-only works:
> 
> lrowe at Laurences-MacBook-Air WebKit % ./WebKitBuild/Release/JavaScriptCore.framework/Helpers/jsc
> >>> print(1+1)
> 2
> 
> I was hoping to try and wrap the jsc-only build into a rust crate since the existing rust wrappers either include gtk dependencies or only wrap the lower level api and link against the system libraries. Though it is looking like I lack the C++ build experience to pull that off!
> 
> Thanks for you help debugging this. Is it worth turning this into a bug report for fixing the jsc-only build on Mac?
> 
> Laurence
> 
> On Mar 28, 2023 at 4:22:20 PM, Michael Saboff <msaboff at apple.com <mailto:msaboff at apple.com>> wrote:
>> Laurence,
>> 
>> The problem you are having is that you don’t have the OS privilege to write to the memory allocated for JIT’ed code.  It is the “dynamic-codesigning” entitlement.
>> 
>> Instead of building with cmake, why don’t you try “make clean ; build-jsc" and see what happens.  I see that you already tried build-jsc, but let’s just see what happens when with a make clean first.
>> 
>> - Michael
>> 
>>> On Mar 28, 2023, at 4:03 PM, Laurence Rowe <l at lrowe.co.uk <mailto:l at lrowe.co.uk>> wrote:
>>> 
>>> Michael,
>>> 
>>> Here’s the lldb bt output:
>>> 
>>> lrowe at Laurences-MacBook-Air WebKit % DYLD_FRAMEWORK_PATH=/Users/lrowe/scratch/WebKit/WebKitBuild/Release lldb ./WebKitBuild/Release/bin/jsc
>>> (lldb) target create "./WebKitBuild/Release/bin/jsc"
>>> Current executable set to '/Users/lrowe/scratch/WebKit/WebKitBuild/Release/bin/jsc' (arm64).
>>> 
>>> (lldb) run
>>> Process 94428 launched: '/Users/lrowe/scratch/WebKit/WebKitBuild/Release/bin/jsc' (arm64)
>>> Process 94428 stopped
>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x10d5ac000)
>>>     frame #0: 0x00000001a1b43f78 libsystem_platform.dylib`_platform_memmove + 168
>>> libsystem_platform.dylib`:
>>> ->  0x1a1b43f78 <+168>: stp    q2, q3, [x0]
>>>     0x1a1b43f7c <+172>: subs   x2, x2, #0x40
>>>     0x1a1b43f80 <+176>: b.ls <http://b.ls/>   0x1a1b43f9c               ; <+204>
>>>     0x1a1b43f84 <+180>: stp    q0, q1, [x3]
>>> Target 0: (jsc) stopped.
>>> 
>>> (lldb) bt
>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x10d5ac000)
>>>   * frame #0: 0x00000001a1b43f78 libsystem_platform.dylib`_platform_memmove + 168
>>>     frame #1: 0x0000000101bbd850 JavaScriptCore`void JSC::LinkBuffer::copyCompactAndLinkCode<unsigned int>(JSC::MacroAssembler&, JSC::JITCompilationEffort) + 4668
>>>     frame #2: 0x0000000101bbc460 JavaScriptCore`JSC::LinkBuffer::linkCode(JSC::MacroAssembler&, JSC::JITCompilationEffort) + 64
>>>     frame #3: 0x00000001025aa698 JavaScriptCore`JSC::nativeForGenerator(JSC::VM&, JSC::ThunkFunctionType, JSC::CodeSpecializationKind, JSC::ThunkEntryType, JSC::IncludeDebuggerHook) + 2872
>>>     frame #4: 0x0000000102592700 JavaScriptCore`JSC::JITThunks::ctiStub(JSC::VM&, JSC::MacroAssemblerCodeRef<(WTF::PtrTag)26129> (*)(JSC::VM&)) + 444
>>>     frame #5: 0x0000000102592abc JavaScriptCore`JSC::JITThunks::ctiInternalFunctionCall(JSC::VM&) + 32
>>>     frame #6: 0x00000001029f95a0 JavaScriptCore`JSC::VM::VM(JSC::VM::VMType, JSC::HeapType, WTF::RunLoop*, bool*) + 9008
>>>     frame #7: 0x00000001029fd318 JavaScriptCore`JSC::VM::create(JSC::HeapType, WTF::RunLoop*) + 56
>>>     frame #8: 0x000000010000776c jsc`jscmain(int, char**) + 744
>>>     frame #9: 0x00000001000073a0 jsc`main + 40
>>>     frame #10: 0x00000001a17ebe50 dyld`start + 2544
>>> 
>>> And that for vmmap:
>>> 
>>> lrowe at Laurences-MacBook-Air WebKit % vmmap jsc
>>> Can't examine target process's malloc zone WebKit Malloc_0x1035b68f8, so memory analysis will be incomplete or incorrect.
>>> Reason: dlopen(/Users/lrowe/scratch/WebKit/WebKitBuild/Release/lib/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore, 0x0185): tried: '/Users/lrowe/scratch/WebKit/WebKitBuild/Release/lib/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore' (mach-o file, but is an incompatible architecture (have 'arm64', need '')), '/System/Volumes/Preboot/Cryptexes/OS/Users/lrowe/scratch/WebKit/WebKitBuild/Release/lib/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore' (no such file), '/Users/lrowe/scratch/WebKit/WebKitBuild/Release/lib/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore' (mach-o file, but is an incompatible architecture (have 'arm64', need '')), '/System/Library/Frameworks/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore' (no such file, not in dyld cache)
>>> 
>>> Process:         jsc [94428]
>>> Path:            /Users/USER/*/jsc
>>> Load Address:    0x100000000
>>> Identifier:      jsc
>>> Version:         ???
>>> Code Type:       ARM64
>>> Platform:        macOS
>>> Parent Process:  debugserver [94429]
>>> 
>>> Date/Time:       2023-03-28 15:56:42.068 -0700
>>> Launch Time:     2023-03-28 15:56:12.787 -0700
>>> OS Version:      macOS 13.2.1 (22D68)
>>> Report Version:  7
>>> Analysis Tool:   /Applications/Xcode.app/Contents/Developer/usr/bin/vmmap
>>> Analysis Tool Version:  Xcode 14.2 (14C18)
>>> 
>>> Physical footprint:         2577K
>>> Physical footprint (peak):  2577K
>>> Idle exit: untracked
>>> ----
>>> 
>>> Virtual Memory Map of process 94428 (jsc)
>>> Output report format:  2.4  -- 64-bit process
>>> VM page size:  16384 bytes
>>> 
>>> ==== Non-writable regions for process 94428
>>> REGION TYPE                    START - END         [ VSIZE  RSDNT  DIRTY   SWAP] PRT/MAX SHRMOD PURGE    REGION DETAIL
>>> __TEXT                      100000000-10003c000    [  240K   112K     0K     0K] r-x/r-x SM=COW          /Users/USER/*/jsc
>>> __DATA_CONST                10003c000-100040000    [   16K    16K     0K     0K] r--/rw- SM=COW          /Users/USER/*/jsc
>>> __LINKEDIT                  100044000-10005c000    [   96K    96K     0K     0K] r--/r-- SM=COW          /Users/USER/*/jsc
>>> dyld private memory         10005c000-10009c000    [  256K    32K    32K    16K] r--/rwx SM=PRV  
>>> shared memory               1000e4000-1000e8000    [   16K    16K    16K     0K] r--/r-- SM=SHM  
>>> MALLOC metadata             1000e8000-1000ec000    [   16K    16K    16K     0K] r--/rwx SM=ZER          MallocHelperZone_0x1000e8000 zone structure
>>> MALLOC guard page           1000f0000-1000f4000    [   16K     0K     0K     0K] ---/rwx SM=ZER  
>>> MALLOC guard page           1000fc000-100100000    [   16K     0K     0K     0K] ---/rwx SM=ZER  
>>> MALLOC guard page           100100000-100104000    [   16K     0K     0K     0K] ---/rwx SM=NUL  
>>> MALLOC guard page           10010c000-100114000    [   32K     0K     0K     0K] ---/rwx SM=NUL  
>>> MALLOC guard page           10011c000-100120000    [   16K     0K     0K     0K] ---/rwx SM=NUL  
>>> MALLOC metadata             100120000-100124000    [   16K    16K    16K     0K] r--/rwx SM=PRV  
>>> MALLOC metadata             100124000-100128000    [   16K    16K    16K     0K] r--/rwx SM=ZER          DefaultMallocZone_0x100124000 zone structure
>>> __TEXT                      101b38000-103000000    [ 20.8M  2768K     0K     0K] r-x/rwx SM=COW          /Users/USER/*/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore
>>> __DATA_CONST                103000000-103048000    [  288K   176K     0K     0K] r--/rw- SM=COW          /Users/USER/*/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore
>>> __LINKEDIT                  103078000-1035a8000    [ 5312K  5312K     0K     0K] r--/rwx SM=COW          /Users/USER/*/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore
>>> JS JIT generated code       10d5a8000-10d5ac000    [   16K     0K     0K     0K] ---/rwx SM=NUL  
>>> JS JIT generated code       12d5ac000-12d5b0000    [   16K     0K     0K     0K] ---/rwx SM=NUL  
>>> STACK GUARD                 16be00000-16f604000    [ 56.0M     0K     0K     0K] ---/rwx SM=NUL          stack guard for thread 0
>>> STACK GUARD                 16fe00000-16fe04000    [   16K     0K     0K     0K] ---/rwx SM=NUL          stack guard for thread 1
>>> __TEXT                      1a17a0000-1a17e4000    [  272K   272K     0K     0K] r-x/r-x SM=COW          /usr/lib/libobjc.A.dylib
>>> __TEXT                      1a17e4000-1a17e6000    [    8K     8K     8K     0K] r-x/rwx SM=COW          /usr/lib/libobjc.A.dylib
>>> __TEXT                      1a17e6000-1a17e8000    [    8K     8K     8K     0K] r-x/rwx SM=COW          /usr/lib/dyld
>>> __TEXT                      1a17e8000-1a1818000    [  192K   192K     0K     0K] r-x/r-x SM=COW          /usr/lib/dyld
>>> __TEXT                      1a1818000-1a181c000    [   16K     0K     0K    16K] r-x/rwx SM=COW          /usr/lib/dyld
>>> __TEXT                      1a181c000-1a1871000    [  340K   324K     0K     0K] r-x/r-x SM=COW          /usr/lib/dyld
>>> __TEXT                      1a1871000-1a1876000    [   20K    20K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_blocks.dylib
>>> __TEXT                      1a1876000-1a18ba000    [  272K   272K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libxpc.dylib
>>> __TEXT                      1a18ba000-1a18d4000    [  104K   104K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_trace.dylib
>>> __TEXT                      1a18d4000-1a195e000    [  552K   552K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libcorecrypto.dylib
>>> __TEXT                      1a195e000-1a198a000    [  176K   176K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_malloc.dylib
>>> __TEXT                      1a198a000-1a19d2000    [  288K   288K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libdispatch.dylib
>>> __TEXT                      1a19d2000-1a19d5000    [   12K    12K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_featureflags.dylib
>>> __TEXT                      1a19d5000-1a1a56000    [  516K   500K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_c.dylib
>>> __TEXT                      1a1a56000-1a1abd000    [  412K   380K     0K     0K] r-x/r-x SM=COW          /usr/lib/libc++.1.dylib
>>> __TEXT                      1a1abd000-1a1ad5000    [   96K    96K     0K     0K] r-x/r-x SM=COW          /usr/lib/libc++abi.dylib
>>> __TEXT                      1a1ad5000-1a1b0f000    [  232K   232K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_kernel.dylib
>>> __TEXT                      1a1b0f000-1a1b1c000    [   52K    52K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_pthread.dylib
>>> __TEXT                      1a1b1c000-1a1b40000    [  144K   144K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libdyld.dylib
>>> __TEXT                      1a1b40000-1a1b48000    [   32K    32K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_platform.dylib
>>> __TEXT                      1a1b48000-1a1b74000    [  176K   160K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_info.dylib
>>> __TEXT                      1a46be000-1a4975000    [ 2780K  2460K     0K     0K] r-x/r-x SM=COW          /usr/lib/libicucore.A.dylib
>>> __TEXT                      1a4975000-1a4980000    [   44K    44K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_darwin.dylib
>>> __TEXT                      1a4ddf000-1a4def000    [   64K    64K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_notify.dylib
>>> __TEXT                      1a6764000-1a677d000    [  100K   100K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_networkextension.dylib
>>> __TEXT                      1a67e4000-1a67fc000    [   96K    96K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_asl.dylib
>>> __TEXT                      1a7fb9000-1a7fc2000    [   36K    36K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_symptoms.dylib
>>> __TEXT                      1aadaa000-1aaddc000    [  200K   200K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_containermanager.dylib
>>> __TEXT                      1abd3b000-1abd40000    [   20K    20K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_configuration.dylib
>>> __TEXT                      1abd40000-1abd46000    [   24K    24K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_sandbox.dylib
>>> __TEXT                      1ac81b000-1ac81e000    [   12K    12K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libquarantine.dylib
>>> __TEXT                      1ace5c000-1ace62000    [   24K    24K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_coreservices.dylib
>>> __TEXT                      1ad124000-1ad15c000    [  224K   192K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_m.dylib
>>> __TEXT                      1ad15d000-1ad163000    [   24K    24K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libmacho.dylib
>>> __TEXT                      1ad17f000-1ad190000    [   68K    68K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libcommonCrypto.dylib
>>> __TEXT                      1ad190000-1ad19b000    [   44K    44K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libunwind.dylib
>>> __TEXT                      1ad19b000-1ad1a3000    [   32K    32K     0K     0K] r-x/r-x SM=COW          /usr/lib/liboah.dylib
>>> __TEXT                      1ad1a3000-1ad1ad000    [   40K    40K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libcopyfile.dylib
>>> __TEXT                      1ad1ad000-1ad1b1000    [   16K    16K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libcompiler_rt.dylib
>>> __TEXT                      1ad1b1000-1ad1b6000    [   20K    20K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_collections.dylib
>>> __TEXT                      1ad1b6000-1ad1b9000    [   12K    12K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_secinit.dylib
>>> __TEXT                      1ad1b9000-1ad1bc000    [   12K    12K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libremovefile.dylib
>>> __TEXT                      1ad1bc000-1ad1bd000    [    4K     4K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libkeymgr.dylib
>>> __TEXT                      1ad1bd000-1ad1c6000    [   36K    36K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libsystem_dnssd.dylib
>>> __TEXT                      1ad1c6000-1ad1cc000    [   24K    24K     0K     0K] r-x/r-x SM=COW          /usr/lib/system/libcache.dylib
>>> __TEXT                      1ad1cc000-1ad1ce000    [    8K     8K     0K     0K] r-x/r-x SM=COW          /usr/lib/libSystem.B.dylib
>>> __TEXT                      1c70d3000-1c7104000    [  196K   148K     0K     0K] r-x/r-x SM=COW          /usr/lib/libncurses.5.4.dylib
>>> __TEXT                      1e381e000-1e383c000    [  120K   120K     0K     0K] r-x/r-x SM=COW          /usr/lib/libedit.3.dylib
>>> __OBJC_RO                   1f19d8f50-1f5b51b18    [ 65.5M  31.1M     0K     0K] r-x/r-x SM=COW          /usr/lib/libobjc.A.dylib
>>> __DATA_CONST                1f5b54000-1f5b54de0    [  3552   3552     0K     0K] r--/rw- SM=COW          /usr/lib/libobjc.A.dylib
>>> __DATA_CONST                1f5b54de0-1f5b54f58    [   376    376     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_blocks.dylib
>>> __DATA_CONST                1f5b54f58-1f5b55750    [  2040   2040     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_trace.dylib
>>> __DATA_CONST                1f5b55750-1f5b56028    [  2264   2264     0K     0K] r--/rw- SM=COW          /usr/lib/system/libcorecrypto.dylib
>>> __DATA_CONST                1f5b56028-1f5b56080    [    88     88     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_malloc.dylib
>>> __DATA_CONST                1f5b56080-1f5b560c0    [    64     64     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_featureflags.dylib
>>> __DATA_CONST                1f5b560c0-1f5b578a0    [    6K     6K     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_c.dylib
>>> __DATA_CONST                1f5b578a0-1f5b58200    [  2400   2400     0K     0K] r--/rw- SM=COW          /usr/lib/libc++.1.dylib
>>> __DATA_CONST                1f5b58200-1f5b582d0    [   208    208     0K     0K] r--/rw- SM=COW          /usr/lib/libc++abi.dylib
>>> __DATA_CONST                1f5b582d0-1f5b5a5b0    [    9K     9K     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_kernel.dylib
>>> __DATA_CONST                1f5b5a5b0-1f5b5a5e8    [    56     56     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_pthread.dylib
>>> __DATA_CONST                1f5b5a5e8-1f5b5aa28    [  1088   1088     0K     0K] r--/rw- SM=COW          /usr/lib/system/libdyld.dylib
>>> __DATA_CONST                1f5b5aa28-1f5b5aa48    [    32     32     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_platform.dylib
>>> __DATA_CONST                1f5b5aa48-1f5b5af60    [  1304   1304     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_info.dylib
>>> __DATA_CONST                1f5bfdee0-1f5c0cda0    [   60K    60K     0K     0K] r--/rw- SM=COW          /usr/lib/libicucore.A.dylib
>>> __DATA_CONST                1f5c0cda0-1f5c0f720    [   10K    10K     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_darwin.dylib
>>> __DATA_CONST                1f5c1af48-1f5c1b0a0    [   344    344     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_notify.dylib
>>> __DATA_CONST                1f5dfe280-1f5dfe8d0    [  1616   1616     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_networkextension.dylib
>>> __DATA_CONST                1f5dffb30-1f5e00150    [  1568   1568     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_asl.dylib
>>> __DATA_CONST                1f5e4b0d0-1f5e4b280    [   432    432     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_symptoms.dylib
>>> __DATA_CONST                1f60d7378-1f60d7e90    [  2840   2840     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_containermanager.dylib
>>> __DATA_CONST                1f618ab38-1f618ad10    [   472    472     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_configuration.dylib
>>> __DATA_CONST                1f618ad10-1f618ad88    [   120    120     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_sandbox.dylib
>>> __DATA_CONST                1f61c3ca0-1f61c3cf0    [    80     80     0K     0K] r--/rw- SM=COW          /usr/lib/system/libquarantine.dylib
>>> __DATA_CONST                1f625a798-1f625b038    [  2208   2208     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_coreservices.dylib
>>> __DATA_CONST                1f6282fa8-1f62836f0    [  1864   1864     0K     0K] r--/rw- SM=COW          /usr/lib/system/libmacho.dylib
>>> __DATA_CONST                1f6283700-1f6283ea0    [  1952   1952     0K     0K] r--/rw- SM=COW          /usr/lib/system/libcommonCrypto.dylib
>>> __DATA_CONST                1f6283ea0-1f62841c0    [   800    800     0K     0K] r--/rw- SM=COW          /usr/lib/system/libunwind.dylib
>>> __DATA_CONST                1f62841c0-1f62841d8    [    24     24     0K     0K] r--/rw- SM=COW          /usr/lib/liboah.dylib
>>> __DATA_CONST                1f62841d8-1f62844c8    [   752    752     0K     0K] r--/rw- SM=COW          /usr/lib/system/libcopyfile.dylib
>>> __DATA_CONST                1f62844c8-1f62844d0    [     8      8     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_collections.dylib
>>> __DATA_CONST                1f62844d0-1f6284540    [   112    112     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_secinit.dylib
>>> __DATA_CONST                1f6284540-1f6284550    [    16     16     0K     0K] r--/rw- SM=COW          /usr/lib/system/libremovefile.dylib
>>> __DATA_CONST                1f6284550-1f6284560    [    16     16     0K     0K] r--/rw- SM=COW          /usr/lib/system/libkeymgr.dylib
>>> __DATA_CONST                1f6284560-1f62845d8    [   120    120     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_dnssd.dylib
>>> __DATA_CONST                1f62845d8-1f6284658    [   128    128     0K     0K] r--/rw- SM=COW          /usr/lib/system/libcache.dylib
>>> __DATA_CONST                1f6284658-1f6284668    [    16     16     0K     0K] r--/rw- SM=COW          /usr/lib/libSystem.B.dylib
>>> __DATA_CONST                1f73e77e0-1f73ea858    [   12K    12K     0K     0K] r--/rw- SM=COW          /usr/lib/libncurses.5.4.dylib
>>> __DATA_CONST                1f845db60-1f845eeb8    [    5K     5K     0K     0K] r--/rw- SM=COW          /usr/lib/libedit.3.dylib
>>> __AUTH_CONST                1feaa8000-1feaa8ac0    [  2752   2752     0K     0K] r--/rw- SM=COW          /usr/lib/libobjc.A.dylib
>>> __OBJC_CONST                1feaa8ac0-1feaa8d90    [   720    720     0K     0K] r--/rw- SM=COW          /usr/lib/libobjc.A.dylib
>>> __DATA_CONST                1feaa8d90-1feaae410    [   22K    22K     0K     0K] r--/rw- SM=COW          /usr/lib/dyld
>>> __AUTH_CONST                1feaae410-1feaae478    [   104    104     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_blocks.dylib
>>> __OBJC_CONST                1feaae478-1feaae7d8    [   864    864     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_blocks.dylib
>>> __DATA_CONST                1feaae7e0-1feab3948    [   20K    20K     0K     0K] r--/rw- SM=COW          /usr/lib/system/libxpc.dylib
>>> __OBJC_CONST                1feab3948-1feab4bd8    [    5K     5K     0K     0K] r--/rw- SM=COW          /usr/lib/system/libxpc.dylib
>>> __AUTH_CONST                1feab4bd8-1feab58e0    [  3336   3336     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_trace.dylib
>>> __OBJC_CONST                1feab58e0-1feab5a90    [   432    432     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_trace.dylib
>>> __AUTH_CONST                1feab5a90-1feab6f30    [    5K     5K     0K     0K] r--/rw- SM=COW          /usr/lib/system/libcorecrypto.dylib
>>> __AUTH_CONST                1feab6f30-1feab7550    [  1568   1568     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_malloc.dylib
>>> __DATA_CONST                1feab7580-1feaca740    [   76K    44K     0K     0K] r--/rw- SM=COW          /usr/lib/system/libdispatch.dylib
>>> __OBJC_CONST                1feaca740-1feacb790    [    4K     4K     0K     0K] r--/rw- SM=COW          /usr/lib/system/libdispatch.dylib
>>> __AUTH_CONST                1feacb790-1feacb908    [   376    376     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_featureflags.dylib
>>> __AUTH_CONST                1feacb908-1feacc280    [  2424   2424     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_c.dylib
>>> __AUTH_CONST                1feacc280-1feace3c0    [    8K     8K     0K     0K] r--/rw- SM=COW          /usr/lib/libc++.1.dylib
>>> __AUTH_CONST                1feace3c0-1fead15c8    [   13K    13K     0K     0K] r--/rw- SM=COW          /usr/lib/libc++abi.dylib
>>> __AUTH_CONST                1fead15c8-1fead16e8    [   288    288     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_kernel.dylib
>>> __AUTH_CONST                1fead16e8-1fead1918    [   560    560     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_pthread.dylib
>>> __AUTH_CONST                1fead1918-1fead2540    [  3112   3112     0K     0K] r--/rw- SM=COW          /usr/lib/system/libdyld.dylib
>>> __AUTH_CONST                1fead2540-1fead27c8    [   648    648     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_platform.dylib
>>> __AUTH_CONST                1fead27c8-1fead3968    [    4K     4K     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_info.dylib
>>> __AUTH_CONST                1fec27ce8-1fec39c38    [   72K    72K     0K     0K] r--/rw- SM=COW          /usr/lib/libicucore.A.dylib
>>> __AUTH_CONST                1fec39c38-1fec3a080    [  1096   1096     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_darwin.dylib
>>> __AUTH_CONST                1fec55fb0-1fec56330    [   896    896     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_notify.dylib
>>> __AUTH_CONST                1fedd91f8-1fedd9dd0    [  3032   3032     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_networkextension.dylib
>>> __AUTH_CONST                1fee3bb80-1fee3c5c8    [  2632   2632     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_asl.dylib
>>> __AUTH_CONST                1feed9a90-1feed9d58    [   712    712     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_symptoms.dylib
>>> __AUTH_CONST                1ff017830-1ff019020    [    6K     6K     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_containermanager.dylib
>>> __AUTH_CONST                1ff1369d8-1ff136d00    [   808    808     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_configuration.dylib
>>> __AUTH_CONST                1ff136d00-1ff136f08    [   520    520     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_sandbox.dylib
>>> __AUTH_CONST                1ff173640-1ff173750    [   272    272     0K     0K] r--/rw- SM=COW          /usr/lib/system/libquarantine.dylib
>>> __AUTH_CONST                1ff1fd268-1ff1fd550    [   744    744     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_coreservices.dylib
>>> __AUTH_CONST                1ff223b60-1ff223b80    [    32     32     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_m.dylib
>>> __AUTH_CONST                1ff223c00-1ff223c70    [   112    112     0K     0K] r--/rw- SM=COW          /usr/lib/system/libmacho.dylib
>>> __AUTH_CONST                1ff223d88-1ff224b78    [  3568   3568     0K     0K] r--/rw- SM=COW          /usr/lib/system/libcommonCrypto.dylib
>>> __AUTH_CONST                1ff224b78-1ff224c90    [   280    280     0K     0K] r--/rw- SM=COW          /usr/lib/system/libunwind.dylib
>>> __AUTH_CONST                1ff224c90-1ff224fb8    [   808    808     0K     0K] r--/rw- SM=COW          /usr/lib/liboah.dylib
>>> __AUTH_CONST                1ff224fb8-1ff225418    [  1120   1120     0K     0K] r--/rw- SM=COW          /usr/lib/system/libcopyfile.dylib
>>> __AUTH_CONST                1ff225418-1ff225478    [    96     96     0K     0K] r--/rw- SM=COW          /usr/lib/system/libcompiler_rt.dylib
>>> __AUTH_CONST                1ff225478-1ff2255c8    [   336    336     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_collections.dylib
>>> __AUTH_CONST                1ff2255c8-1ff225890    [   712    712     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_secinit.dylib
>>> __AUTH_CONST                1ff225890-1ff225a00    [   368    368     0K     0K] r--/rw- SM=COW          /usr/lib/system/libremovefile.dylib
>>> __AUTH_CONST                1ff225a00-1ff225a80    [   128    128     0K     0K] r--/rw- SM=COW          /usr/lib/system/libkeymgr.dylib
>>> __AUTH_CONST                1ff225a80-1ff225c40    [   448    448     0K     0K] r--/rw- SM=COW          /usr/lib/system/libsystem_dnssd.dylib
>>> __AUTH_CONST                1ff225c40-1ff225d18    [   216    216     0K     0K] r--/rw- SM=COW          /usr/lib/system/libcache.dylib
>>> __AUTH_CONST                1ff225d18-1ff225fd8    [   704    704     0K     0K] r--/rw- SM=COW          /usr/lib/libSystem.B.dylib
>>> __AUTH_CONST                20089cfd8-20089d2f8    [   800    800     0K     0K] r--/rw- SM=COW          /usr/lib/libncurses.5.4.dylib
>>> __AUTH_CONST                201ab73a8-201ab7b08    [  1888   1888     0K     0K] r--/rw- SM=COW          /usr/lib/libedit.3.dylib
>>> __LINKEDIT                  23ef38000-26ef04000    [767.8M  29.5M     0K     0K] r--/r-- SM=COW          dyld shared cache combined __LINKEDIT
>>> unused __TEXT               26ef04000-26ef08000    [   16K    16K    16K     0K] r--/r-- SM=COW          on dirty page  unused system shared lib __DATA
>>> JS VM Gigacage             7800000000-8000000000   [ 32.0G     0K     0K     0K] ---/rwx SM=NUL  
>>> 
>>> ==== Writable regions for process 94428
>>> REGION TYPE                    START - END         [ VSIZE  RSDNT  DIRTY   SWAP] PRT/MAX SHRMOD PURGE    REGION DETAIL
>>> __DATA                      100040000-100044000    [   16K     0K     0K    16K] rw-/rw- SM=COW          /Users/USER/*/jsc
>>> WebKit Malloc               10009c000-1000b0000    [   80K     0K     0K    80K] rw-/rwx SM=PRV  
>>> Kernel Alloc Once           1000dc000-1000e4000    [   32K     0K     0K    16K] rw-/rwx SM=PRV  
>>> MALLOC metadata             1000ec000-1000f0000    [   16K    16K    16K     0K] rw-/rwx SM=ZER  
>>> MALLOC metadata             1000f4000-1000fc000    [   32K    32K    32K     0K] rw-/rwx SM=ZER  
>>> MALLOC metadata             100104000-10010c000    [   32K    32K    32K     0K] rw-/rwx SM=PRV  
>>> MALLOC metadata             100114000-10011c000    [   32K     0K     0K    32K] rw-/rwx SM=PRV  
>>> MALLOC metadata             100128000-10012c000    [   16K    16K    16K     0K] rw-/rwx SM=ZER  
>>> MALLOC_TINY                 100200000-100300000    [ 1024K    32K    32K     0K] rw-/rwx SM=PRV          MallocHelperZone_0x1000e8000
>>> MALLOC_SMALL                100800000-101000000    [ 8192K    16K    16K    16K] rw-/rwx SM=PRV          MallocHelperZone_0x1000e8000
>>> __DATA                      103048000-103060000    [   96K     0K     0K    48K] rw-/rw- SM=COW          /Users/USER/*/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore
>>> __DATA                      103060000-103078000    [   96K     0K     0K    96K] rw-/rwx SM=PRV          /Users/USER/*/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore
>>> WebKit Malloc               1035a8000-10b5a8000    [128.0M    16K    16K   176K] rw-/rwx SM=PRV  
>>> WebKit Malloc               10b5a8000-10d5a8000    [ 32.0M    32K    32K   448K] rw-/rwx SM=PRV  
>>> JS JIT generated code       10d5ac000-12d5ac000    [512.0M     0K     0K    16K] rwx/rwx SM=PRV  
>>> WebKit Malloc               12d5b0000-12f5b0000    [ 32.0M    32K    32K   288K] rw-/rwx SM=PRV  
>>> Stack                       16f604000-16fe00000    [ 8176K    16K    16K    16K] rw-/rwx SM=PRV          thread 0
>>> Stack                       16fe04000-16fe8c000    [  544K     0K     0K    16K] rw-/rwx SM=PRV          thread 1
>>> __DATA                      1fab58000-1fab5b4c0    [   13K     0K     0K    13K] rw-/rw- SM=COW          /usr/lib/libobjc.A.dylib
>>> __DATA                      1fab5b4c0-1fab5b4d8    [    24     0K     0K     24] rw-/rw- SM=COW          /usr/lib/system/libsystem_blocks.dylib
>>> __DATA                      1fab5b4d8-1fab5c228    [  3408     0K     0K   3408] rw-/rw- SM=COW          /usr/lib/system/libxpc.dylib
>>> __DATA                      1fab5c228-1fab5c410    [   488     0K     0K    488] rw-/rw- SM=COW          /usr/lib/system/libsystem_trace.dylib
>>> __DATA                      1fab5c410-1fab64bc0    [   34K     0K     0K    34K] rw-/rw- SM=COW          /usr/lib/system/libcorecrypto.dylib
>>> __DATA                      1fab64bc0-1fab66e7c    [    9K     0K     0K     9K] rw-/rw- SM=COW          /usr/lib/system/libsystem_malloc.dylib
>>> unused __DATA               1fab66e7c-1fab66e80    [     4     0K     0K      4] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __DATA                      1fab66e80-1fab66eb9    [    57     0K     0K     57] rw-/rw- SM=COW          /usr/lib/system/libsystem_featureflags.dylib
>>> unused __DATA               1fab66eb9-1fab66ec0    [     7     0K     0K      7] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __DATA                      1fab66ec0-1fab69040    [    8K     0K     0K     8K] rw-/rw- SM=COW          /usr/lib/system/libsystem_c.dylib
>>> unused __DATA               1fab69040-1fab6a000    [  4032     0K     0K   4032] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __DATA                      1fab6a000-1fab70720    [   26K    16K     0K    10K] rw-/rw- SM=COW          /usr/lib/libc++.1.dylib
>>> __DATA                      1fab70720-1fab70a68    [   840     0K     0K    840] rw-/rw- SM=COW          /usr/lib/libc++abi.dylib
>>> __DATA                      1fab70a68-1fab70ce0    [   632     0K     0K    632] rw-/rw- SM=COW          /usr/lib/system/libsystem_kernel.dylib
>>> unused __DATA               1fab70ce0-1fab74000    [   13K     0K     0K    13K] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __DATA                      1fab74000-1fab7c000    [   32K    32K     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_pthread.dylib
>>> __DATA                      1fab7c000-1fab80000    [   16K    16K     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_pthread.dylib
>>> __DATA                      1fab80000-1fab80048    [    72     72     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_pthread.dylib
>>> __DATA                      1fab80048-1fab800b0    [   104    104     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libdyld.dylib
>>> __DATA                      1fab800b0-1fab800f0    [    64     64     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_platform.dylib
>>> __DATA                      1fab800f0-1fab80c40    [  2896   2896     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_info.dylib
>>> __DATA                      1fac1c558-1fac1e038    [    7K     7K     0K     0K] rw-/rw- SM=COW          /usr/lib/libicucore.A.dylib
>>> __DATA                      1fac1e038-1fac1e048    [    16     16     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_darwin.dylib
>>> __DATA                      1fac27000-1fac27058    [    88     88     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_notify.dylib
>>> __DATA                      1fac5d6a8-1fac5dc68    [  1472   1472     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_networkextension.dylib
>>> __DATA                      1fac5e340-1fac5e450    [   272    272     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_asl.dylib
>>> __DATA                      1fac7e290-1fac7e2d0    [    64     64     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_symptoms.dylib
>>> __DATA                      1facd7b88-1facd7d40    [   440    440     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_containermanager.dylib
>>> __DATA                      1fad03730-1fad037f1    [   193    193     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_configuration.dylib
>>> __DATA                      1fad037f8-1fad03820    [    40     40     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_sandbox.dylib
>>> __DATA                      1fad19050-1fad19060    [    16     16     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libquarantine.dylib
>>> __DATA                      1fad21f10-1fad21fb8    [   168    168     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_coreservices.dylib
>>> __DATA                      1fad2a164-1fad2a168    [     4      4     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_m.dylib
>>> __DATA                      1fad2a228-1fad2ab21    [  2297   2297     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libunwind.dylib
>>> __DATA                      1fad2ab28-1fad2bb30    [    4K     4K     0K     0K] rw-/rw- SM=COW          /usr/lib/liboah.dylib
>>> __DATA                      1fad2bb30-1fad2bb40    [    16     16     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libcopyfile.dylib
>>> __DATA                      1fad2bb40-1fad2cb40    [    4K     4K     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libcompiler_rt.dylib
>>> __DATA                      1fad2cb40-1fad2cb80    [    64     64     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_secinit.dylib
>>> __DATA                      1fad2cb80-1fad2cbb0    [    48     48     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_dnssd.dylib
>>> __DATA                      1fad2cbb0-1fad2cbb8    [     8      8     0K     0K] rw-/rw- SM=COW          /usr/lib/libSystem.B.dylib
>>> __DATA                      1fb3a81b8-1fb3a8bdc    [  2596   2596     0K     0K] rw-/rw- SM=COW          /usr/lib/libncurses.5.4.dylib
>>> __DATA                      1fbc05098-1fbc09018    [   16K    16K     0K     0K] rw-/rw- SM=COW          /usr/lib/libedit.3.dylib
>>> __OBJC_RW                   1fceac000-1fd09d080    [ 1988K  1188K     4K    16K] rw-/rw- SM=COW          /usr/lib/libobjc.A.dylib
>>> __DATA_DIRTY                1fd09d080-1fd09fef0    [   12K    12K    12K     0K] rw-/rw- SM=COW          /usr/lib/libobjc.A.dylib
>>> unused __DATA               1fd09fef0-1fd09ff00    [    16     16     16     0K] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __DATA_DIRTY                1fd09ff00-1fd0a1a34    [    7K     7K     7K     0K] rw-/rw- SM=COW          /usr/lib/dyld
>>> unused __DATA               1fd0a1a34-1fd0a1a38    [     4      4      4     0K] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __DATA_DIRTY                1fd0a1a38-1fd0a1c30    [   504    504    504     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_blocks.dylib
>>> __DATA_DIRTY                1fd0a1c30-1fd0a2720    [  2800   2800   2800     0K] rw-/rw- SM=COW          /usr/lib/system/libxpc.dylib
>>> __DATA_DIRTY                1fd0a2720-1fd0a2b90    [  1136   1136   1136     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_trace.dylib
>>> __DATA_DIRTY                1fd0a2b90-1fd0a2c68    [   216    216    216     0K] rw-/rw- SM=COW          /usr/lib/system/libcorecrypto.dylib
>>> __DATA_DIRTY                1fd0a2c68-1fd0a2e80    [   536    536    536     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_malloc.dylib
>>> __DATA_DIRTY                1fd0a2e80-1fd0a6828    [   14K     4K     4K    10K] rw-/rw- SM=COW          /usr/lib/system/libdispatch.dylib
>>> __DATA_DIRTY                1fd0a6828-1fd0a6838    [    16     0K     0K     16] rw-/rw- SM=COW          /usr/lib/system/libsystem_featureflags.dylib
>>> __DATA_DIRTY                1fd0a6838-1fd0a93c0    [   11K     0K     0K    11K] rw-/rw- SM=COW          /usr/lib/system/libsystem_c.dylib
>>> __DATA_DIRTY                1fd0a93c0-1fd0aa590    [    4K     0K     0K     4K] rw-/rw- SM=COW          /usr/lib/libc++.1.dylib
>>> __DATA_DIRTY                1fd0aa590-1fd0aa5b8    [    40     0K     0K     40] rw-/rw- SM=COW          /usr/lib/libc++abi.dylib
>>> __DATA_DIRTY                1fd0aa5b8-1fd0aac8c    [  1748     0K     0K   1748] rw-/rw- SM=COW          /usr/lib/system/libsystem_kernel.dylib
>>> unused __DATA               1fd0aac8c-1fd0ac000    [    5K     0K     0K     5K] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __DATA_DIRTY                1fd0ac000-1fd0b1838    [   22K     0K     0K    22K] rw-/rw- SM=COW          /usr/lib/system/libsystem_pthread.dylib
>>> __DATA_DIRTY                1fd0b1838-1fd0b1858    [    32     0K     0K     32] rw-/rw- SM=COW          /usr/lib/system/libdyld.dylib
>>> __DATA_DIRTY                1fd0b1858-1fd0b186c    [    20     0K     0K     20] rw-/rw- SM=COW          /usr/lib/system/libsystem_platform.dylib
>>> unused __DATA               1fd0b186c-1fd0b1870    [     4     0K     0K      4] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __DATA_DIRTY                1fd0b1870-1fd0b1b00    [   656     0K     0K    656] rw-/rw- SM=COW          /usr/lib/system/libsystem_info.dylib
>>> unused __DATA_DIRTY         1fd0b1b00-1fd0b4000    [    9K     0K     0K     9K] rw-/rw- SM=COW          ...ary/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
>>> unused __DATA_DIRTY         1fd0c4000-1fd0c4200    [   512     0K     0K    512] rw-/rw- SM=COW          ...m/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
>>> unused __DATA_DIRTY         1fd0c4200-1fd0c4320    [   288     0K     0K    288] rw-/rw- SM=COW          ...Frameworks/AudioToolboxCore.framework/Versions/A/AudioToolboxCore
>>> unused __DATA_DIRTY         1fd0c4320-1fd0c4b28    [  2056     0K     0K   2056] rw-/rw- SM=COW          .../System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
>>> unused __DATA_DIRTY         1fd0c4b28-1fd0c4e50    [   808     0K     0K    808] rw-/rw- SM=COW          ...ystem/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
>>> unused __DATA_DIRTY         1fd0c4e50-1fd0c6300    [    5K     0K     0K     5K] rw-/rw- SM=COW          .../System/Library/Frameworks/Security.framework/Versions/A/Security
>>> __DATA_DIRTY                1fd0c6300-1fd0c7a60    [    6K     0K     0K     6K] rw-/rw- SM=COW          /usr/lib/libicucore.A.dylib
>>> __DATA_DIRTY                1fd0c7a60-1fd0c7a90    [    48     0K     0K     48] rw-/rw- SM=COW          /usr/lib/system/libsystem_darwin.dylib
>>> unused __DATA_DIRTY         1fd0c7a90-1fd0c8000    [  1392     0K     0K   1392] rw-/rw- SM=COW          .../Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
>>> __DATA_DIRTY                1fd0cab18-1fd0cab20    [     8      8     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_notify.dylib
>>> __DATA_DIRTY                1fd0fe3a8-1fd0fe3e8    [    64     64     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_networkextension.dylib
>>> __DATA_DIRTY                1fd0ffa90-1fd0ffbec    [   348    348     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_asl.dylib
>>> __DATA_DIRTY                1fd10a9d0-1fd10a9e0    [    16     16     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_symptoms.dylib
>>> unused __DATA_DIRTY         1fd5a4000-1fd5a4ccc    [  3276     0K     0K   3276] rw-/rw- SM=COW          ...orks/GPUCompiler.framework/Versions/31001/Libraries/libLLVM.dylib
>>> unused __DATA               1fd5a4ccc-1fd5a4cd0    [     4     0K     0K      4] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> unused __DATA_DIRTY         1fd5a4cd0-1fd5a5614    [  2372     0K     0K   2372] rw-/rw- SM=COW          ...piler.framework/Versions/31001/Libraries/libGPUCompilerImpl.dylib
>>> unused __DATA               1fd5a5614-1fd5a5618    [     4     0K     0K      4] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> unused __DATA_DIRTY         1fd5a5618-1fd5a58e8    [   720     0K     0K    720] rw-/rw- SM=COW          ...ks/GPUCompiler.framework/Versions/A/Libraries/libairutility.dylib
>>> unused __DATA_DIRTY         1fd5a58e8-1fd5a5918    [    48     0K     0K     48] rw-/rw- SM=COW          ...rivateFrameworks/MTLCompiler.framework/Versions/31001/MTLCompiler
>>> unused __DATA               1fd5a5918-1fd5a5920    [     8     0K     0K      8] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> unused __DATA_DIRTY         1fd5a5920-1fd5a7570    [    7K     0K     0K     7K] rw-/rw- SM=COW          .../OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
>>> unused __DATA_DIRTY         1fd5a7570-1fd5a7578    [     8     0K     0K      8] rw-/rw- SM=COW          ...rary/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
>>> __AUTH                      1fd5a7578-1fd5a75f0    [   120     0K     0K    120] rw-/rw- SM=COW          /usr/lib/libobjc.A.dylib
>>> unused __DATA               1fd5a75f0-1fd5a7600    [    16     0K     0K     16] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __DATA                      1fd5a7600-1fd5aa1cc    [   11K     0K     0K    11K] rw-/rw- SM=COW          /usr/lib/dyld
>>> unused __DATA               1fd5aa1cc-1fd5aa1d0    [     4     0K     0K      4] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __AUTH                      1fd5aa1d0-1fd5aa388    [   440     0K     0K    440] rw-/rw- SM=COW          /usr/lib/system/libsystem_trace.dylib
>>> __AUTH                      1fd5aa388-1fd5aa418    [   144     0K     0K    144] rw-/rw- SM=COW          /usr/lib/system/libcorecrypto.dylib
>>> unused __DATA               1fd5aa418-1fd5ac000    [    7K     0K     0K     7K] rw-/rw- SM=COW          on dirty page  unused system shared lib __DATA
>>> __AUTH                      1fd5ac000-1fd5b4000    [   32K    32K     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_malloc.dylib
>>> __DATA                      1fd5b4000-1fd5b5340    [    5K     5K     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libdispatch.dylib
>>> __AUTH                      1fd5b5340-1fd5b6058    [  3352   3352     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libsystem_c.dylib
>>> __AUTH                      1fd5b6058-1fd5b84f0    [    9K     8K     0K   1264] rw-/rw- SM=COW          /usr/lib/libc++.1.dylib
>>> __AUTH                      1fd5b84f0-1fd5b8538    [    72     0K     0K     72] rw-/rw- SM=COW          /usr/lib/libc++abi.dylib
>>> __AUTH                      1fd5b8538-1fd5b8588    [    80     0K     0K     80] rw-/rw- SM=COW          /usr/lib/system/libdyld.dylib
>>> __AUTH                      1fd5b8588-1fd5b8758    [   464     0K     0K    464] rw-/rw- SM=COW          /usr/lib/system/libsystem_info.dylib
>>> unused __AUTH               1fd5b8758-1fd5b94c8    [  3440     0K     0K   3440] rw-/rw- SM=COW          ...ary/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
>>> unused __DATA               1fd5b94c8-1fd5bc000    [   11K     0K     0K    11K] rw-/rw- SM=COW          ...ary/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
>>> __AUTH                      1fd653e70-1fd653e90    [    32     32     0K     0K] rw-/rw- SM=COW          /usr/lib/system/libcommonCrypto.dylib
>>> __AUTH                      1fd653e90-1fd653e98    [     8      8     0K     0K] rw-/rw- SM=COW          /usr/lib/libSystem.B.dylib
>>> __AUTH                      1fd7dece8-1fd7ded00    [    24     24     0K     0K] rw-/rw- SM=COW          /usr/lib/libncurses.5.4.dylib
>>> __AUTH                      1fdddb9b8-1fdddb9c8    [    16     0K     0K     0K] rw-/rw- SM=COW          /usr/lib/libedit.3.dylib
>>> WebKit Malloc               300000000-308000000    [128.0M     0K     0K    16K] rw-/rwx SM=COW  
>>> WebKit Malloc (reserved)    308000000-400000000    [  3.9G     0K     0K     0K] rw-/rwx SM=NUL          reserved VM address space (unallocated)
>>> JS VM Gigacage (reserved   7000000000-7038000000   [896.0M     0K     0K     0K] rw-/rwx SM=NUL          reserved VM address space (unallocated)
>>> JS VM Gigacage             7038000000-7040000000   [128.0M     0K     0K    16K] rw-/rwx SM=PRV  
>>> JS VM Gigacage (reserved   7040000000-7800000000   [ 31.0G     0K     0K     0K] rw-/rwx SM=NUL          reserved VM address space (unallocated)
>>> JS VM Gigacage (reserved   8000000000-8400000000   [ 16.0G     0K     0K     0K] rw-/rwx SM=NUL          reserved VM address space (unallocated)
>>> MALLOC_NANO              600000000000-600008000000 [128.0M    80K    80K   224K] rw-/rwx SM=PRV          DefaultMallocZone_0x100124000
>>> MALLOC_NANO (empty)      600008000000-600020000000 [384.0M     0K     0K     0K] rw-/rwx SM=NUL  
>>> 
>>> ==== Legend
>>> SM=sharing mode:  
>>> 	COW=copy_on_write PRV=private NUL=empty ALI=aliased 
>>> 	SHM=shared ZER=zero_filled S/A=shared_alias
>>> PURGE=purgeable mode:  
>>> 	V=volatile N=nonvolatile E=empty   otherwise is unpurgeable
>>> 
>>> ==== Summary for process 94428
>>> ReadOnly portion of Libraries: Total=802.1M resident=45.1M(6%) swapped_out_or_unallocated=757.0M(94%)
>>> Writable regions: Total=53.2G written=1696K(0%) resident=320K(0%) swapped_out=1456K(0%) unallocated=53.2G(100%)
>>> 
>>>                                 VIRTUAL RESIDENT    DIRTY  SWAPPED VOLATILE   NONVOL    EMPTY   REGION 
>>> REGION TYPE                        SIZE     SIZE     SIZE     SIZE     SIZE     SIZE     SIZE    COUNT (non-coalesced) 
>>> ===========                     ======= ========    =====  ======= ========   ======    =====  ======= 
>>> JS JIT generated code            512.0M       0K       0K      16K       0K       0K       0K        3 
>>> JS VM Gigacage                    32.1G       0K       0K      16K       0K       0K       0K        2 
>>> JS VM Gigacage (reserved)         47.9G       0K       0K       0K       0K       0K       0K        3         reserved VM address space (unallocated)
>>> Kernel Alloc Once                   32K       0K       0K      16K       0K       0K       0K        1 
>>> MALLOC guard page                   96K       0K       0K       0K       0K       0K       0K        5 
>>> MALLOC metadata                    176K     144K     144K      32K       0K       0K       0K        8 
>>> MALLOC_NANO                      128.0M      80K      80K     224K       0K       0K       0K        1         see MALLOC ZONE table below
>>> MALLOC_NANO (empty)              384.0M       0K       0K       0K       0K       0K       0K        1         see MALLOC ZONE table below
>>> MALLOC_SMALL                      8192K      16K      16K      16K       0K       0K       0K        1         see MALLOC ZONE table below
>>> MALLOC_TINY                       1024K      32K      32K       0K       0K       0K       0K        1         see MALLOC ZONE table below
>>> STACK GUARD                       56.0M       0K       0K       0K       0K       0K       0K        2 
>>> Stack                             8720K      16K      16K      32K       0K       0K       0K        2 
>>> WebKit Malloc                    320.1M      80K      80K    1008K       0K       0K       0K        5 
>>> WebKit Malloc (reserved)           3.9G       0K       0K       0K       0K       0K       0K        1         reserved VM address space (unallocated)
>>> __AUTH                              46K      43K       0K     2584       0K       0K       0K       13 
>>> __AUTH_CONST                       145K     145K       0K       0K       0K       0K       0K       41 
>>> __DATA                             408K     110K       0K     250K       0K       0K       0K       43 
>>> __DATA_CONST                       552K     408K       0K       0K       0K       0K       0K       44 
>>> __DATA_DIRTY                        84K      28K      28K      56K       0K       0K       0K       23 
>>> __LINKEDIT                       773.1M    34.8M       0K       0K       0K       0K       0K        3 
>>> __OBJC_CONST                        11K      11K       0K       0K       0K       0K       0K        5 
>>> __OBJC_RO                         65.5M    31.1M       0K       0K       0K       0K       0K        1 
>>> __OBJC_RW                         1988K    1188K       4K      16K       0K       0K       0K        1 
>>> __TEXT                            29.0M    10.3M      16K      16K       0K       0K       0K       50 
>>> dyld private memory                256K      32K      32K      16K       0K       0K       0K        1 
>>> shared memory                       16K      16K      16K       0K       0K       0K       0K        1 
>>> unused but dirty shlib __DATA       92K      16K      16K      75K       0K       0K       0K       30 
>>> ===========                     ======= ========    =====  ======= ========   ======    =====  ======= 
>>> TOTAL                             86.1G    78.5M     480K    1792K       0K       0K       0K      292 
>>> TOTAL, minus reserved VM space    34.4G    78.5M     480K    1792K       0K       0K       0K      292 
>>> 
>>>                                  VIRTUAL   RESIDENT      DIRTY    SWAPPED ALLOCATION      BYTES DIRTY+SWAP          REGION
>>> MALLOC ZONE                         SIZE       SIZE       SIZE       SIZE      COUNT  ALLOCATED  FRAG SIZE  % FRAG   COUNT
>>> ===========                      =======  =========  =========  =========  =========  =========  =========  ======  ======
>>> DefaultMallocZone_0x100124000     128.0M        80K        80K       224K        216        10K       294K     97%       1
>>> MallocHelperZone_0x1000e8000       9216K        48K        48K        16K          2       2064        62K     97%       2
>>> ===========                      =======  =========  =========  =========  =========  =========  =========  ======  ======
>>> TOTAL                             137.0M       128K       128K       240K        218        12K       356K     97%       3
>>> 
>>> 
>>> 
>>> -Laurence
>>> 
>>> On Mar 28, 2023 at 3:49:28 PM, Michael Saboff <msaboff at apple.com <mailto:msaboff at apple.com>> wrote:
>>>> Laurence,
>>>> 
>>>> It grabbed the correct JavaScriptCore framework, so the issue is something else.
>>>> 
>>>> After the crash, provide the output of the lldb “bt” command,  Also, after it crashes in another terminal window run the command “vmmap jsc”.  This will give the memory regions of the process and allow you to see what memory region the faulting address is in, in the output below that is 0x10d5ac000,
>>>> 
>>>> - Michael
>>>> 
>>>>> On Mar 28, 2023, at 3:02 PM, Laurence Rowe <l at lrowe.co.uk <mailto:l at lrowe.co.uk>> wrote:
>>>>> 
>>>>> Here is the lldb image list output. It seems to be the same whether I specify DYLD_FRAMEWORK_PATH or not:
>>>>> 
>>>>> lrowe at Laurences-MacBook-Air WebKit % DYLD_FRAMEWORK_PATH=/Users/lrowe/scratch/WebKit/WebKitBuild/Release lldb ./WebKitBuild/Release/bin/jsc
>>>>> (lldb) target create "./WebKitBuild/Release/bin/jsc"
>>>>> Current executable set to '/Users/lrowe/scratch/WebKit/WebKitBuild/Release/bin/jsc' (arm64).
>>>>> 
>>>>> (lldb) run
>>>>> Process 91742 launched: '/Users/lrowe/scratch/WebKit/WebKitBuild/Release/bin/jsc' (arm64)
>>>>> Process 91742 stopped
>>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x10d5ac000)
>>>>>     frame #0: 0x00000001a1b43f78 libsystem_platform.dylib`_platform_memmove + 168
>>>>> libsystem_platform.dylib`:
>>>>> ->  0x1a1b43f78 <+168>: stp    q2, q3, [x0]
>>>>>     0x1a1b43f7c <+172>: subs   x2, x2, #0x40
>>>>>     0x1a1b43f80 <+176>: b.ls <http://b.ls/>   0x1a1b43f9c               ; <+204>
>>>>>     0x1a1b43f84 <+180>: stp    q0, q1, [x3]
>>>>> Target 0: (jsc) stopped.
>>>>> 
>>>>> (lldb) image list
>>>>> [  0] 064A1932-6DA6-30DA-AAE0-6E48255D19E9 0x0000000100000000 /Users/lrowe/scratch/WebKit/WebKitBuild/Release/bin/jsc 
>>>>> [  1] 191E84F1-4B95-39C8-B253-1C1EF56C0FA8 0x00000001a17e6000 /usr/lib/dyld 
>>>>> [  2] 2965B7D1-7C3C-3AC2-BF1B-C787A98082F0 0x0000000101b38000 /Users/lrowe/scratch/WebKit/WebKitBuild/Release/lib/JavaScriptCore.framework/Versions/1.0.0/JavaScriptCore 
>>>>> [  3] C317087F-0609-39AA-844D-9378CB52F508 0x00000001e381e000 /usr/lib/libedit.3.dylib 
>>>>> [  4] 61BADBC5-2602-32FD-A771-1A5DF3E268B6 0x00000001c70d3000 /usr/lib/libncurses.5.4.dylib 
>>>>> [  5] 75D125D4-CB3B-3D71-B5A9-454DE0731FEB 0x00000001ad1cc000 /usr/lib/libSystem.B.dylib 
>>>>> [  6] 671A562C-829A-378C-92D5-68BF20D9B10D 0x00000001ad1c6000 /usr/lib/system/libcache.dylib 
>>>>> [  7] 83AB18AB-518C-33A3-9401-9811A372021D 0x00000001ad17f000 /usr/lib/system/libcommonCrypto.dylib 
>>>>> [  8] 1045AD14-6370-3C2B-8B00-8C4C10610516 0x00000001ad1ad000 /usr/lib/system/libcompiler_rt.dylib 
>>>>> [  9] E5136197-CE86-3F9D-82FD-85127BF03D8F 0x00000001ad1a3000 /usr/lib/system/libcopyfile.dylib 
>>>>> [ 10] B315532A-683B-36D0-9EAB-43B5BB417CB6 0x00000001a18d4000 /usr/lib/system/libcorecrypto.dylib 
>>>>> [ 11] 4D52C3A5-32E6-37A2-9D6C-23C612038354 0x00000001a198a000 /usr/lib/system/libdispatch.dylib 
>>>>> [ 12] 3ECAE184-B3F4-38BA-A9F3-629F01DAA4D3 0x00000001a1b1c000 /usr/lib/system/libdyld.dylib 
>>>>> [ 13] 3FEBE2F0-6CDF-3D7F-9B65-4D0D1C39C49F 0x00000001ad1bc000 /usr/lib/system/libkeymgr.dylib 
>>>>> [ 14] 48DD5AF4-3485-3705-BCEE-1EF259F40AE8 0x00000001ad15d000 /usr/lib/system/libmacho.dylib 
>>>>> [ 15] EA65D28B-25C1-39EE-A71E-91B940DE96B5 0x00000001ac81b000 /usr/lib/system/libquarantine.dylib 
>>>>> [ 16] 39212493-0C60-3913-BA8F-DE930523BA84 0x00000001ad1b9000 /usr/lib/system/libremovefile.dylib 
>>>>> [ 17] 97E87061-20ED-3FA4-A5D2-5AA78A2AA0DB 0x00000001a67e4000 /usr/lib/system/libsystem_asl.dylib 
>>>>> [ 18] DC0068A7-D49A-34B6-A296-6CA3913D9467 0x00000001a1871000 /usr/lib/system/libsystem_blocks.dylib 
>>>>> [ 19] 14CD841B-0C7B-34A2-A342-CC6796EF9259 0x00000001a19d5000 /usr/lib/system/libsystem_c.dylib 
>>>>> [ 20] B5DCE8FF-ACAD-3FA2-AA13-09CF57E260B8 0x00000001ad1b1000 /usr/lib/system/libsystem_collections.dylib 
>>>>> [ 21] CC84D310-8C96-3321-8DC7-46CCB412546C 0x00000001abd3b000 /usr/lib/system/libsystem_configuration.dylib 
>>>>> [ 22] 9D25ADF2-0895-323A-9274-DC4BBA3E3E93 0x00000001aadaa000 /usr/lib/system/libsystem_containermanager.dylib 
>>>>> [ 23] 84CD7D6F-D943-3988-BED8-7D0759C412A3 0x00000001ace5c000 /usr/lib/system/libsystem_coreservices.dylib 
>>>>> [ 24] 3298B664-57B0-3F23-841F-787D8934187E 0x00000001a4975000 /usr/lib/system/libsystem_darwin.dylib 
>>>>> [ 25] 287985EB-DCA6-3851-887A-F6DF5A99F220 0x00000001ad1bd000 /usr/lib/system/libsystem_dnssd.dylib 
>>>>> [ 26] F8C4FA4C-C898-379D-8275-4D67C026F041 0x00000001a19d2000 /usr/lib/system/libsystem_featureflags.dylib 
>>>>> [ 27] 0B8128B1-BE39-33DE-AA69-9FC1BF3C4F7B 0x00000001a1b48000 /usr/lib/system/libsystem_info.dylib 
>>>>> [ 28] 1CE3B16D-4433-3A27-8978-94C653F7B6EE 0x00000001ad124000 /usr/lib/system/libsystem_m.dylib 
>>>>> [ 29] FA535B05-4593-3A78-93D7-7BCFF7431DF6 0x00000001a195e000 /usr/lib/system/libsystem_malloc.dylib 
>>>>> [ 30] F32A2564-6ED1-3DB9-8987-DCF48DBB8BE1 0x00000001a6764000 /usr/lib/system/libsystem_networkextension.dylib 
>>>>> [ 31] C6B67595-08FF-3268-A400-0C0C89F541A8 0x00000001a4ddf000 /usr/lib/system/libsystem_notify.dylib 
>>>>> [ 32] 4593512A-A84B-3D4A-B95A-860679313411 0x00000001abd40000 /usr/lib/system/libsystem_sandbox.dylib 
>>>>> [ 33] 09FD13E7-266A-38B8-B797-EA32EDFBFB7F 0x00000001ad1b6000 /usr/lib/system/libsystem_secinit.dylib 
>>>>> [ 34] 3DCD49B9-B3C5-3D90-BE40-A3B807CB9CD7 0x00000001a1ad5000 /usr/lib/system/libsystem_kernel.dylib 
>>>>> [ 35] 4CF75103-429D-3AAE-BA13-2C1F67E47DBB 0x00000001a1b40000 /usr/lib/system/libsystem_platform.dylib 
>>>>> [ 36] 9F3B729A-ED04-3E65-ADAC-D75AD06EBBDC 0x00000001a1b0f000 /usr/lib/system/libsystem_pthread.dylib 
>>>>> [ 37] FFDC0C2D-5E65-32F7-B687-99313DD7CCD0 0x00000001a7fb9000 /usr/lib/system/libsystem_symptoms.dylib 
>>>>> [ 38] E71E8D9E-3A87-33E0-B198-31666F5A6FF1 0x00000001a18ba000 /usr/lib/system/libsystem_trace.dylib 
>>>>> [ 39] 3C7E16C5-77E1-3F26-B016-63D485708187 0x00000001ad190000 /usr/lib/system/libunwind.dylib 
>>>>> [ 40] 413746C4-9C63-3DC4-A7C4-BBE90CF7D6B3 0x00000001a1876000 /usr/lib/system/libxpc.dylib 
>>>>> [ 41] 871CF1B2-BA2C-385B-8F92-E41F4966C38D 0x00000001a1abd000 /usr/lib/libc++abi.dylib 
>>>>> [ 42] 951F5871-2D10-31AC-999D-7584AD121FA6 0x00000001a17a0000 /usr/lib/libobjc.A.dylib 
>>>>> [ 43] 01904D2A-57A5-3B53-8751-D6CBCA281FF3 0x00000001ad19b000 /usr/lib/liboah.dylib 
>>>>> [ 44] E2679357-B2AF-30D4-8130-50D31765AF88 0x00000001a1a56000 /usr/lib/libc++.1.dylib 
>>>>> [ 45] AFE750D8-70E2-3DD8-9822-4CD1285CDA39 0x00000001a46be000 /usr/lib/libicucore.A.dylib 
>>>>> 
>>>>> Laurence
>>>>> 
>>>>> On Mar 28, 2023 at 8:13:55 AM, Michael Saboff <msaboff at apple.com <mailto:msaboff at apple.com>> wrote:
>>>>>> Laurence,
>>>>>> 
>>>>>> When you try to run the jsc command, are you setting DYLD_FRAMEWORK_PATH to the location of the built frameworks?  You can either set it and export it in your shell environment, e.g.
>>>>>> 
>>>>>>  % export DYLD_FRAMEWORK_PATH=/Users/lrowe/scratch/WebKit/WebKitBuild/Release
>>>>>> 
>>>>>> Or prepend the setting of it in your command string:
>>>>>> 
>>>>>>  % DYLD_FRAMEWORK_PATH=/Users/lrowe/scratch/WebKit/WebKitBuild/Release lldb ./WebKitBuild/Release/bin/jsc
>>>>>> 
>>>>>> I that doesn’t work, a backtrace at the time of the crash and the output of the lldb command “image list” would be helpful.
>>>>>> 
>>>>>> - Michael
>>>>>> 
>>>>>> 
>>>>>>> On Mar 27, 2023, at 11:11 PM, Laurence Rowe via webkit-dev <webkit-dev at lists.webkit.org <mailto:webkit-dev at lists.webkit.org>> wrote:
>>>>>>> 
>>>>>>> Hi, I’m trying to build jsc on my M1 Mac following the instructions at https://trac.webkit.org/wiki/JSCOnly and https://webkit.org/getting-started/ . However when I run the built binary it exits immediately with a bus error which lldb shows to be EXC_BAD_ACCESS.
>>>>>>> 
>>>>>>> lrowe at Laurences-MacBook-Air WebKit % git reset --hard origin/main
>>>>>>> HEAD is now at b2362a5d6b [UI-side compositing] Safari occasionally crashes when scrolling underneath `NSScrollerImpPair` https://bugs.webkit.org/show_bug.cgi?id=254484 rdar://107139674
>>>>>>> lrowe at Laurences-MacBook-Air WebKit % git clean -Xf
>>>>>>> lrowe at Laurences-MacBook-Air WebKit % sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
>>>>>>> lrowe at Laurences-MacBook-Air WebKit % Tools/Scripts/build-jsc --jsc-only
>>>>>>> # build log below
>>>>>>> lrowe at Laurences-MacBook-Air WebKit % ./WebKitBuild/Release/bin/jsc     
>>>>>>> zsh: bus error  ./WebKitBuild/Release/bin/jsc
>>>>>>> 
>>>>>>> lrowe at Laurences-MacBook-Air WebKit % lldb ./WebKitBuild/Release/bin/jsc
>>>>>>> (lldb) target create "./WebKitBuild/Release/bin/jsc"
>>>>>>> Current executable set to '/Users/lrowe/scratch/WebKit/WebKitBuild/Release/bin/jsc' (arm64).
>>>>>>> (lldb) run
>>>>>>> Process 73062 launched: '/Users/lrowe/scratch/WebKit/WebKitBuild/Release/bin/jsc' (arm64)
>>>>>>> Process 73062 stopped
>>>>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x10d5ac000)
>>>>>>>     frame #0: 0x00000001a1b43f78 libsystem_platform.dylib`_platform_memmove + 168
>>>>>>> libsystem_platform.dylib`:
>>>>>>> ->  0x1a1b43f78 <+168>: stp    q2, q3, [x0]
>>>>>>>     0x1a1b43f7c <+172>: subs   x2, x2, #0x40
>>>>>>>     0x1a1b43f80 <+176>: b.ls <http://b.ls/>   0x1a1b43f9c               ; <+204>
>>>>>>>     0x1a1b43f84 <+180>: stp    q0, q1, [x3]
>>>>>>> Target 0: (jsc) stopped.
>>>>>>> 
>>>>>>> Versions:
>>>>>>> WebKit main (b2362a5d6b)
>>>>>>> Xcode 14.2 (14C18)
>>>>>>> macOS 13.2.1
>>>>>>> CMake.app 3.26.1 (not mentioned at https://webkit.org/build-tools/ but required)
>>>>>>> 
>>>>>>> I’ve also tried variously with Xcode command line tools, homebrew cmake, WebKit tag WebKit-7615.1.26.10.23, and adding the —debug flag to the build but I see the same error.
>>>>>>> 
>>>>>>> Is there anything else I should be doing to build jsc?
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> 
>>>>>>> Laurence Rowe
>>>>>>> 
>>>>>>> 
>>>>>>> # build log
>>>>>>> +  cmake --build /Users/lrowe/scratch/WebKit/WebKitBuild/Release --config Release -- jsc testb3 testair testapi testmasm testdfg -j8
>>>>>>> [  0%] Built target JavaScriptCore_CopyHeaders
>>>>>>> [  1%] Built target JavaScriptCoreSharedScripts
>>>>>>> [  1%] Built target JSCBuiltins
>>>>>>> [  1%] Built target Bytecodes
>>>>>>> [ 35%] Built target WTF_CopyHeaders
>>>>>>> [ 38%] Built target bmalloc_CopyHeaders
>>>>>>> [ 46%] Built target bmalloc
>>>>>>> [ 53%] Built target WTF
>>>>>>> [ 53%] Built target LLIntSettingsExtractor
>>>>>>> [ 53%] Building CXX object Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/llint/LLIntOffsetsExtractor.cpp.o
>>>>>>> [ 53%] Linking CXX executable ../../bin/LLIntOffsetsExtractor
>>>>>>> [ 53%] Built target LLIntOffsetsExtractor
>>>>>>> [ 53%] Generating ../../JavaScriptCore/DerivedSources/LLIntAssembly.h
>>>>>>> [ 53%] Building CXX object Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/LowLevelInterpreter.cpp.o
>>>>>>> [ 53%] Built target LowLevelInterpreterLib
>>>>>>> [ 53%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-f0a787a9-7.cpp.o
>>>>>>> [ 53%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-f0a787a9-11.cpp.o
>>>>>>> [ 53%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-bfc896e1-4.cpp.o
>>>>>>> [ 53%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-bfc896e1-3.cpp.o
>>>>>>> [ 53%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-bfc896e1-9.cpp.o
>>>>>>> [ 53%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGSpeculativeJIT.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGSpeculativeJIT32_64.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/dfg/DFGSpeculativeJIT64.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-bfc896e1-14.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-02aa2997-1.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/ftl/FTLLowerDFGToB3.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-3.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-0e543b66-1.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-3a3c4ec0-1.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-f2e18ffc-21.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-f2e18ffc-34.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-f2e18ffc-42.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/wasm/WasmAirIRGenerator32_64.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/wasm/WasmAirIRGenerator64.cpp.o
>>>>>>> [ 54%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-0284c6ac-1.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/wasm/WasmBBQJIT.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-1.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-2.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-4.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-5.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-6.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-7.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-8.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-9.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-10.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-11.cpp.o
>>>>>>> [ 55%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-12.cpp.o
>>>>>>> [ 55%] Linking CXX shared library ../../lib/JavaScriptCore.framework/JavaScriptCore
>>>>>>> [ 66%] Built target JavaScriptCore
>>>>>>> [ 66%] Generating ../../JavaScriptCore/PrivateHeaders/JavaScriptCore/WasmCallee.h
>>>>>>> [100%] Built target JavaScriptCore_CopyPrivateHeaders
>>>>>>> [100%] Building CXX object Source/JavaScriptCore/shell/CMakeFiles/jsc.dir/__/jsc.cpp.o
>>>>>>> [100%] Linking CXX executable ../../../bin/jsc
>>>>>>> [100%] Built target jsc
>>>>>>> [  0%] Built target Bytecodes
>>>>>>> [  1%] Built target JavaScriptCoreSharedScripts
>>>>>>> [  1%] Built target JavaScriptCore_CopyHeaders
>>>>>>> [  1%] Built target JSCBuiltins
>>>>>>> [ 21%] Built target WTF_CopyHeaders
>>>>>>> [ 38%] Built target bmalloc_CopyHeaders
>>>>>>> [ 46%] Built target bmalloc
>>>>>>> [ 53%] Built target WTF
>>>>>>> [ 53%] Built target LLIntSettingsExtractor
>>>>>>> [ 53%] Built target LLIntOffsetsExtractor
>>>>>>> [ 53%] Built target LowLevelInterpreterLib
>>>>>>> [ 66%] Built target JavaScriptCore
>>>>>>> [100%] Built target JavaScriptCore_CopyPrivateHeaders
>>>>>>> [100%] Linking CXX executable ../../../bin/testb3
>>>>>>> [100%] Built target testb3
>>>>>>> [  1%] Built target JavaScriptCoreSharedScripts
>>>>>>> [  1%] Built target JavaScriptCore_CopyHeaders
>>>>>>> [  1%] Built target Bytecodes
>>>>>>> [ 18%] Built target WTF_CopyHeaders
>>>>>>> [ 18%] Built target JSCBuiltins
>>>>>>> [ 38%] Built target bmalloc_CopyHeaders
>>>>>>> [ 46%] Built target bmalloc
>>>>>>> [ 53%] Built target WTF
>>>>>>> [ 53%] Built target LLIntSettingsExtractor
>>>>>>> [ 53%] Built target LLIntOffsetsExtractor
>>>>>>> [ 53%] Built target LowLevelInterpreterLib
>>>>>>> [ 66%] Built target JavaScriptCore
>>>>>>> [100%] Built target JavaScriptCore_CopyPrivateHeaders
>>>>>>> [100%] Linking CXX executable ../../../bin/testair
>>>>>>> [100%] Built target testair
>>>>>>> [  0%] Built target Bytecodes
>>>>>>> [  0%] Built target JavaScriptCore_CopyHeaders
>>>>>>> [  1%] Built target JavaScriptCoreSharedScripts
>>>>>>> [  1%] Built target JSCBuiltins
>>>>>>> [ 37%] Built target WTF_CopyHeaders
>>>>>>> [ 38%] Built target bmalloc_CopyHeaders
>>>>>>> [ 45%] Built target bmalloc
>>>>>>> [ 53%] Built target WTF
>>>>>>> [ 53%] Built target LLIntSettingsExtractor
>>>>>>> [ 53%] Built target LLIntOffsetsExtractor
>>>>>>> [ 53%] Built target LowLevelInterpreterLib
>>>>>>> [ 65%] Built target JavaScriptCore
>>>>>>> [ 98%] Built target JavaScriptCore_CopyPrivateHeaders
>>>>>>> [ 98%] Linking CXX executable ../../../bin/testapi
>>>>>>> [100%] Built target testapi
>>>>>>> [  1%] Built target JavaScriptCoreSharedScripts
>>>>>>> [  1%] Built target JavaScriptCore_CopyHeaders
>>>>>>> [  1%] Built target JSCBuiltins
>>>>>>> [  1%] Built target Bytecodes
>>>>>>> [ 21%] Built target bmalloc_CopyHeaders
>>>>>>> [ 38%] Built target WTF_CopyHeaders
>>>>>>> [ 45%] Built target bmalloc
>>>>>>> [ 53%] Built target WTF
>>>>>>> [ 53%] Built target LLIntSettingsExtractor
>>>>>>> [ 53%] Built target LLIntOffsetsExtractor
>>>>>>> [ 53%] Built target LowLevelInterpreterLib
>>>>>>> [ 65%] Built target JavaScriptCore
>>>>>>> [ 98%] Built target JavaScriptCore_CopyPrivateHeaders
>>>>>>> [100%] Linking CXX executable ../../../bin/testmasm
>>>>>>> [100%] Built target testmasm
>>>>>>> [  1%] Built target JavaScriptCoreSharedScripts
>>>>>>> [  1%] Built target JavaScriptCore_CopyHeaders
>>>>>>> [  1%] Built target JSCBuiltins
>>>>>>> [  1%] Built target Bytecodes
>>>>>>> [ 36%] Built target WTF_CopyHeaders
>>>>>>> [ 38%] Built target bmalloc_CopyHeaders
>>>>>>> [ 46%] Built target bmalloc
>>>>>>> [ 53%] Built target WTF
>>>>>>> [ 53%] Built target LLIntSettingsExtractor
>>>>>>> [ 53%] Built target LLIntOffsetsExtractor
>>>>>>> [ 53%] Built target LowLevelInterpreterLib
>>>>>>> [ 66%] Built target JavaScriptCore
>>>>>>> [100%] Built target JavaScriptCore_CopyPrivateHeaders
>>>>>>> [100%] Linking CXX executable ../../../bin/testdfg
>>>>>>> [100%] Built target testdfg
>>>>>>> 
>>>>>>> ====================================================================
>>>>>>>  JavaScriptCore is now built (01m:00s). 
>>>>>>> ====================================================================
>>>>>>> _______________________________________________
>>>>>>> webkit-dev mailing list
>>>>>>> webkit-dev at lists.webkit.org <mailto:webkit-dev at lists.webkit.org>
>>>>>>> https://lists.webkit.org/mailman/listinfo/webkit-dev
>>>>>> 
>>>> 
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20230328/0a8b22ec/attachment-0001.htm>


More information about the webkit-dev mailing list