Skip to content

Instantly share code, notes, and snippets.

@bmeck
Last active August 29, 2015 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bmeck/3bbd5a14f3d977f20c71 to your computer and use it in GitHub Desktop.
Save bmeck/3bbd5a14f3d977f20c71 to your computer and use it in GitHub Desktop.
Segfault from HeapGraphEdge
unsigned long dump(
FileOutputStream* fninfo_stream,
const HeapProfiler* profiler,
const HeapGraphNode* node,
unsigned int visited_count = 0,
unsigned int seen_closures = false,
std::set<SnapshotObjectId>* visited = NULL,
StringSet* strings = new StringSet
) {
bool cleanup = visited == NULL;
if (cleanup) {
visited = new std::set<SnapshotObjectId>();
}
SnapshotObjectId id = node->GetId();
//if (node->GetName()->IsString()==false) printf("TYPE OF NAME %s\n", strForValueType(node->GetName()));
const char* node_name = *String::Utf8Value(node->GetName());
std::set<SnapshotObjectId>::iterator pos = visited->find(id);
if (pos != visited->end()) {
return visited_count;
}
visited->insert(id);
visited_count++;
HeapGraphNode::Type node_type = node->GetType();
if (node_type == HeapGraphNode::Type::kClosure) {
if (seen_closures) {
fninfo_stream->WriteAsciiChunk(",\n", 2);
}
dumpHeapGraphNode(fninfo_stream, profiler, node, strings);
seen_closures = true;
}
for (unsigned int i = 0; i < node->GetChildrenCount(); i++) {
const HeapGraphEdge* edge = node->GetChild(i);
const String::Utf8Value utf8(edge->GetName());
const char* name = *utf8;
const HeapGraphNode* child = edge->GetToNode();
visited_count = dump(fninfo_stream, profiler, child, visited_count, seen_closures, visited, strings);
}
// fprintf(stderr, "<<\n");
if (cleanup) {
free(visited);
}
return visited_count;
}
Macintosh:snapshot-study bradleymeck$ lldb -- ../io.js/iojs ./example/collect.js
(lldb) target create "../io.js/iojs"
Current executable set to '../io.js/iojs' (x86_64).
(lldb) settings set -- target.run-args "./example/collect.js"
(lldb) r
Process 36666 launched: '../io.js/iojs' (x86_64)
Process 36666 stopped
* thread #1: tid = 0x3e29a, 0x0000000100168390 iojs`v8::HeapGraphEdge::GetName() const [inlined] v8::internal::HeapGraphEdge::type() const at heap-snapshot-generator.h:35, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
frame #0: 0x0000000100168390 iojs`v8::HeapGraphEdge::GetName() const [inlined] v8::internal::HeapGraphEdge::type() const at heap-snapshot-generator.h:35
32 HeapGraphEdge(Type type, int index, int from, int to);
33 void ReplaceToIndexWithEntry(HeapSnapshot* snapshot);
34
-> 35 Type type() const { return TypeField::decode(bit_field_); }
36 int index() const {
37 DCHECK(type() == kElement || type() == kHidden);
38 return index_;
(lldb) bt
* thread #1: tid = 0x3e29a, 0x0000000100168390 iojs`v8::HeapGraphEdge::GetName() const [inlined] v8::internal::HeapGraphEdge::type() const at heap-snapshot-generator.h:35, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
* frame #0: 0x0000000100168390 iojs`v8::HeapGraphEdge::GetName() const [inlined] v8::internal::HeapGraphEdge::type() const at heap-snapshot-generator.h:35
frame #1: 0x0000000100168390 iojs`v8::HeapGraphEdge::GetName(this=0x01059c0030000000) const + 32 at api.cc:7344
frame #2: 0x00000001010f0c05 SnapshotStudy.node`dump(fninfo_stream=0x00007fff5fbff2a8, profiler=0x000000010110b4e0, node=0x00000001055c0028, visited_count=1, seen_closures=1, visited=0x000000010110cdb0, strings=<unavailable>) + 330 at addon.cc:61
frame #3: 0x00000001010f0c44 SnapshotStudy.node`dump(fninfo_stream=0x00007fff5fbff2a8, profiler=0x000000010110b4e0, node=0x00000001055c0000, visited_count=0, seen_closures=1, visited=0x0000000000000000, strings=<unavailable>) + 393 at addon.cc:64
frame #4: 0x00000001010f0dc7 SnapshotStudy.node`WriteFiles(args=<unavailable>) + 316 at addon.cc:104
frame #5: 0x0000000100174f9e iojs`v8::internal::FunctionCallbackArguments::Call(this=0x00007fff5fbff3b0, f=0x00000001010f0c8b)(v8::FunctionCallbackInfo<v8::Value> const&)) + 158 at arguments.cc:33
frame #6: 0x000000010019e2f9 iojs`v8::internal::MaybeHandle<v8::internal::Object> v8::internal::HandleApiCallHelper<false>(isolate=0x0000000101804c00, args=0x00007fff5fbff450)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>&) + 809 at builtins.cc:1077
frame #7: 0x00000001001a100d iojs`v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) + 32 at builtins.cc:1100
frame #8: 0x00000001001a0fed iojs`v8::internal::Builtin_HandleApiCall(args_length=<unavailable>, args_object=<unavailable>, isolate=0x0000000101804c00) + 29 at builtins.cc:1096
frame #9: 0x000006ff4e9060bb
frame #10: 0x000006ff4e9e77e0
frame #11: 0x000006ff4e91aca6
frame #12: 0x000006ff4e9e6980
frame #13: 0x000006ff4e9e0d01
frame #14: 0x000006ff4e9dcff6
frame #15: 0x000006ff4e9d2dab
frame #16: 0x000006ff4e9d25ce
frame #17: 0x000006ff4e95f04a
frame #18: 0x000006ff4e95d5aa
frame #19: 0x000006ff4e915320
frame #20: 0x000006ff4e9140d1
frame #21: 0x00000001002af608 iojs`v8::internal::Invoke(is_construct=<unavailable>, function=<unavailable>, receiver=<unavailable>, argc=1, args=0x00007fff5fbff978) + 984 at execution.cc:128
frame #22: 0x0000000100160111 iojs`v8::Function::Call(this=0x0000000101846a18, recv=<unavailable>, argc=1, argv=0x00007fff5fbff978) + 193 at api.cc:4217
frame #23: 0x0000000100624eb1 iojs`node::LoadEnvironment(env=0x0000000102002400) + 484 at node.cc:3014
frame #24: 0x00000001006261a2 iojs`node::Start(int, char**) + 218 at node.cc:3905
frame #25: 0x00000001006260c8 iojs`node::Start(argc=<unavailable>, argv=<unavailable>) + 190 at node.cc:3985
frame #26: 0x0000000100000f34 iojs`start + 52
(lldb) frame select 2
frame #2: 0x00000001010f0c05 SnapshotStudy.node`dump(fninfo_stream=0x00007fff5fbff2a8, profiler=0x000000010110b4e0, node=0x00000001055c0028, visited_count=1, seen_closures=1, visited=0x000000010110cdb0, strings=<unavailable>) + 330 at addon.cc:61
58 }
59 for (unsigned int i = 0; i < node->GetChildrenCount(); i++) {
60 const HeapGraphEdge* edge = node->GetChild(i);
-> 61 const String::Utf8Value utf8(edge->GetName());
62 const char* name = *utf8;
63 const HeapGraphNode* child = edge->GetToNode();
64 visited_count = dump(fninfo_stream, profiler, child, visited_count, seen_closures, visited, strings);
(lldb) print edge
(const v8::HeapGraphEdge *) $2 = 0x01059c0030000000
(lldb) print node->GetChildrenCount()
(int) $3 = 16
(lldb) print i
(unsigned int) $4 = 0
(lldb) frame select 1
frame #1: 0x0000000100168390 iojs`v8::HeapGraphEdge::GetName(this=0x01059c0030000000) const + 32 at api.cc:7344
7341 Handle<Value> HeapGraphEdge::GetName() const {
7342 i::Isolate* isolate = i::Isolate::Current();
7343 i::HeapGraphEdge* edge = ToInternal(this);
-> 7344 switch (edge->type()) {
7345 case i::HeapGraphEdge::kContextVariable:
7346 case i::HeapGraphEdge::kInternal:
7347 case i::HeapGraphEdge::kProperty:
(lldb) print this
(v8::HeapGraphEdge *) $0 = 0x01059c0030000000
(lldb) print this->GetType()
error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=EXC_I386_GPFLT).
The process has been returned to the state before expression evaluation.
Process: iojs [36666]
Path: /Users/bradleymeck/Documents/io.js/out/Release/iojs
Load Address: 0
Identifier: iojs
Version: ???
Code Type: X86-64
Parent Process: debugserver [36667]
Date/Time: 2015-07-13 09:20:58.423 -0500
OS Version: Mac OS X 10.10.4 (14E46)
Report Version: 7
Analysis Tool: /Applications/Xcode.app/Contents/Developer/usr/bin/vmmap
Analysis Tool Version: Xcode 6.4 (6E35b)
----
Virtual Memory Map of process 36666 (iojs)
Output report format: 2.3 -- 64-bit process
==== Non-writable regions for process 36666
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
__TEXT 0000000100000000-00000001009b7000 [ 9948K] r-x/rwx SM=COW ...bradleymeck/Documents/io.js/out/Release/iojs
__LINKEDIT 0000000100a30000-0000000100fd6000 [ 5784K] r--/rwx SM=COW ...bradleymeck/Documents/io.js/out/Release/iojs
MALLOC (admin) 0000000100fd7000-0000000100fd8000 [ 4K] r--/rwx SM=COW
MALLOC (admin) 0000000100fd9000-0000000100fda000 [ 4K] ---/rwx SM=NUL
MALLOC (admin) 0000000100fef000-0000000100ff1000 [ 8K] ---/rwx SM=NUL
MALLOC (admin) 0000000101006000-0000000101007000 [ 4K] ---/rwx SM=NUL
MALLOC (admin) 0000000101007000-0000000101008000 [ 4K] r--/rwx SM=COW
STACK GUARD 0000000101008000-0000000101009000 [ 4K] ---/rwx SM=NUL stack guard for thread 1
__TEXT 00000001010ef000-00000001010f2000 [ 12K] r-x/rwx SM=COW ...pshot-study/build/Release/SnapshotStudy.node
__LINKEDIT 00000001010f3000-00000001010f6000 [ 12K] r--/rwx SM=COW ...pshot-study/build/Release/SnapshotStudy.node
shared memory 00000001010f8000-00000001010f9000 [ 4K] r-x/rwx SM=ZER
STACK GUARD 0000000101200000-0000000101201000 [ 4K] ---/rwx SM=NUL stack guard for thread 2
STACK GUARD 0000000101283000-0000000101284000 [ 4K] ---/rwx SM=NUL stack guard for thread 3
STACK GUARD 0000000101306000-0000000101307000 [ 4K] ---/rwx SM=NUL stack guard for thread 4
STACK GUARD 0000000101500000-0000000101501000 [ 4K] ---/rwx SM=NUL stack guard for thread 5
Memory Tag 255 000006ff4e43a000-000006ff4e600000 [ 1816K] ---/rwx SM=NUL
Memory Tag 255 000006ff4e605000-000006ff4e606000 [ 4K] ---/rwx SM=NUL
Memory Tag 255 000006ff4e607000-000006ff4e700000 [ 996K] ---/rwx SM=NUL
Memory Tag 255 000006ff4e705000-000006ff4e706000 [ 4K] ---/rwx SM=NUL
Memory Tag 255 000006ff4e707000-000006ff4e800000 [ 996K] ---/rwx SM=NUL
Memory Tag 255 000006ff4e805000-000006ff4e806000 [ 4K] ---/rwx SM=NUL
Memory Tag 255 000006ff4e807000-000006ff4e900000 [ 996K] ---/rwx SM=NUL
Memory Tag 255 000006ff4e905000-000006ff4e906000 [ 4K] ---/rwx SM=NUL
Memory Tag 255 000006ff4e9ff000-000006ff4ec00000 [ 2052K] ---/rwx SM=NUL
Memory Tag 255 000006ff4ec05000-000006ff4ec06000 [ 4K] ---/rwx SM=NUL
Memory Tag 255 000006ff4ecff000-000006ff6e43a000 [503.2M] ---/rwx SM=NUL
Memory Tag 255 0000155c5321d000-0000155c5361d000 [ 4096K] ---/rwx SM=NUL
Memory Tag 255 00001d24868fd000-00001d24868fe000 [ 4K] r-x/rwx SM=PRV
Memory Tag 255 00002500d4963000-00002500d4b43000 [ 1920K] ---/rwx SM=NUL
Memory Tag 255 000030d09c400000-000030d09d000000 [ 12.0M] ---/rwx SM=NUL
Memory Tag 255 000030d09d400000-000030d09e000000 [ 12.0M] ---/rwx SM=NUL
Memory Tag 255 0000397cf1589000-0000397cf15c0000 [ 220K] ---/rwx SM=NUL
Memory Tag 255 0000397cf15e0000-0000397cf15e9000 [ 36K] ---/rwx SM=NUL
STACK GUARD 00007fff5bc00000-00007fff5f400000 [ 56.0M] ---/rwx SM=NUL stack guard for thread 0
__TEXT 00007fff5fc00000-00007fff5fc0d000 [ 52K] r-x/rwx SM=COW /usr/lib/dyld
__TEXT 00007fff5fc0d000-00007fff5fc0e000 [ 4K] r-x/rwx SM=PRV /usr/lib/dyld
__TEXT 00007fff5fc0e000-00007fff5fc37000 [ 164K] r-x/rwx SM=COW /usr/lib/dyld
__LINKEDIT 00007fff5fc70000-00007fff5fc84000 [ 80K] r--/rwx SM=COW /usr/lib/dyld
__TEXT 00007fff89e76000-00007fff89e7b000 [ 20K] r-x/r-x SM=COW /usr/lib/system/libcache.dylib
__TEXT 00007fff8a919000-00007fff8a91f000 [ 24K] r-x/r-x SM=COW /usr/lib/system/libsystem_stats.dylib
__TEXT 00007fff8b6c0000-00007fff8b6e9000 [ 164K] r-x/r-x SM=COW /usr/lib/system/libsystem_info.dylib
__TEXT 00007fff8b849000-00007fff8b84b000 [ 8K] r-x/r-x SM=COW /usr/lib/system/libsystem_blocks.dylib
__TEXT 00007fff8b9b1000-00007fff8b9b7000 [ 24K] r-x/r-x SM=COW /usr/lib/system/libmacho.dylib
__TEXT 00007fff8c044000-00007fff8c056000 [ 72K] r-x/r-x SM=COW /usr/lib/system/libsystem_coretls.dylib
__TEXT 00007fff8cb82000-00007fff8cb8c000 [ 40K] r-x/r-x SM=COW /usr/lib/system/libsystem_pthread.dylib
__TEXT 00007fff8d3e7000-00007fff8d3e9000 [ 8K] r-x/r-x SM=COW /usr/lib/libSystem.B.dylib
__TEXT 00007fff8d746000-00007fff8d74f000 [ 36K] r-x/r-x SM=COW /usr/lib/system/libsystem_platform.dylib
__TEXT 00007fff8e171000-00007fff8e173000 [ 8K] r-x/r-x SM=COW /usr/lib/system/libsystem_secinit.dylib
__TEXT 00007fff8e591000-00007fff8e5c2000 [ 196K] r-x/r-x SM=COW /usr/lib/system/libsystem_m.dylib
__TEXT 00007fff8ec2c000-00007fff8ec2d000 [ 4K] r-x/r-x SM=COW /usr/lib/system/libkeymgr.dylib
__TEXT 00007fff8f1d9000-00007fff8f212000 [ 228K] r-x/r-x SM=COW /usr/lib/system/libsystem_network.dylib
__TEXT 00007fff8f228000-00007fff8f245000 [ 116K] r-x/r-x SM=COW /usr/lib/system/libsystem_malloc.dylib
__TEXT 00007fff8f3a9000-00007fff8f3b2000 [ 36K] r-x/r-x SM=COW /usr/lib/system/libcopyfile.dylib
__TEXT 00007fff905fa000-00007fff905fd000 [ 12K] r-x/r-x SM=COW /usr/lib/system/libsystem_configuration.dylib
__TEXT 00007fff905fd000-00007fff90604000 [ 28K] r-x/r-x SM=COW .../lib/system/libsystem_networkextension.dylib
__TEXT 00007fff90687000-00007fff9068f000 [ 32K] r-x/r-x SM=COW /usr/lib/system/libcompiler_rt.dylib
__TEXT 00007fff90738000-00007fff90763000 [ 172K] r-x/r-x SM=COW /usr/lib/system/libdispatch.dylib
__TEXT 00007fff90a6d000-00007fff90a71000 [ 16K] r-x/r-x SM=COW /usr/lib/system/libdyld.dylib
__TEXT 00007fff90a87000-00007fff90c6d000 [ 1944K] r-x/r-x SM=COW /usr/lib/libicucore.A.dylib
__TEXT 00007fff92a60000-00007fff92a67000 [ 28K] r-x/r-x SM=COW /usr/lib/system/libsystem_trace.dylib
__TEXT 00007fff93165000-00007fff93168000 [ 12K] r-x/r-x SM=COW /usr/lib/system/libquarantine.dylib
__TEXT 00007fff93de2000-00007fff93deb000 [ 36K] r-x/r-x SM=COW /usr/lib/system/libsystem_dnssd.dylib
__TEXT 00007fff94630000-00007fff94633000 [ 12K] r-x/r-x SM=COW /usr/lib/system/libsystem_sandbox.dylib
__TEXT 00007fff94693000-00007fff94696000 [ 12K] r-x/r-x SM=COW /usr/lib/system/libsystem_coreservices.dylib
__TEXT 00007fff94696000-00007fff946a0000 [ 40K] r-x/r-x SM=COW /usr/lib/system/libsystem_notify.dylib
__TEXT 00007fff94e7d000-00007fff94ef7000 [ 488K] r-x/r-x SM=COW /usr/lib/system/libcorecrypto.dylib
__TEXT 00007fff94efb000-00007fff94f19000 [ 120K] r-x/r-x SM=COW /usr/lib/system/libsystem_kernel.dylib
__TEXT 00007fff95164000-00007fff95189000 [ 148K] r-x/r-x SM=COW /usr/lib/libc++abi.dylib
__TEXT 00007fff95189000-00007fff9518a000 [ 4K] r-x/rwx SM=PRV /usr/lib/libc++abi.dylib
__TEXT 00007fff9518a000-00007fff95190000 [ 24K] r-x/r-x SM=COW /usr/lib/libc++abi.dylib
__TEXT 00007fff9586a000-00007fff95878000 [ 56K] r-x/r-x SM=COW /usr/lib/libobjc.A.dylib
__TEXT 00007fff95878000-00007fff95879000 [ 4K] r-x/rwx SM=PRV /usr/lib/libobjc.A.dylib
__TEXT 00007fff95879000-00007fff95a65000 [ 1968K] r-x/r-x SM=COW /usr/lib/libobjc.A.dylib
__TEXT 00007fff95add000-00007fff95ade000 [ 4K] r-x/r-x SM=COW /usr/lib/system/libunc.dylib
__TEXT 00007fff95b53000-00007fff95b9a000 [ 284K] r-x/r-x SM=COW /usr/lib/libauto.dylib
__TEXT 00007fff966b0000-00007fff966c2000 [ 72K] r-x/r-x SM=COW /usr/lib/libz.1.dylib
__TEXT 00007fff96801000-00007fff96898000 [ 604K] r-x/r-x SM=COW ...undation.framework/Versions/A/CoreFoundation
__TEXT 00007fff96898000-00007fff96b9a000 [ 3080K] r-x/r-x SM=COW ...undation.framework/Versions/A/CoreFoundation
__TEXT 00007fff96f6f000-00007fff96f71000 [ 8K] r-x/r-x SM=COW /usr/lib/system/libremovefile.dylib
__TEXT 00007fff98249000-00007fff9824b000 [ 8K] r-x/r-x SM=COW /usr/lib/libDiagnosticMessagesClient.dylib
__TEXT 00007fff985ed000-00007fff985ee000 [ 4K] r-x/r-x SM=COW /usr/lib/system/liblaunch.dylib
__TEXT 00007fff985ee000-00007fff98605000 [ 92K] r-x/r-x SM=COW /usr/lib/system/libsystem_asl.dylib
__TEXT 00007fff9869c000-00007fff986a8000 [ 48K] r-x/r-x SM=COW /usr/lib/system/libcommonCrypto.dylib
__TEXT 00007fff987a0000-00007fff987c9000 [ 164K] r-x/r-x SM=COW /usr/lib/system/libxpc.dylib
__TEXT 00007fff98847000-00007fff9884d000 [ 24K] r-x/r-x SM=COW /usr/lib/system/libunwind.dylib
__TEXT 00007fff98b40000-00007fff98bcd000 [ 564K] r-x/r-x SM=COW /usr/lib/system/libsystem_c.dylib
__TEXT 00007fff98cbc000-00007fff98d11000 [ 340K] r-x/r-x SM=COW /usr/lib/libc++.1.dylib
__TEXT 00007fff995e7000-00007fff99637000 [ 320K] r-x/r-x SM=COW /usr/lib/libstdc++.6.0.9.dylib
__UNICODE 00007fff996bb000-00007fff99745000 [ 552K] r--/r-- SM=COW ...undation.framework/Versions/A/CoreFoundation
__LINKEDIT 00007fff999cc000-00007fff9e0a0000 [ 70.8M] r--/r-- SM=COW dyld shared cache combined __LINKEDIT
VM_ALLOCATE 00007fffffe00000-00007fffffe01000 [ 4K] r--/r-- SM=SHM
shared memory 00007fffffe9b000-00007fffffe9c000 [ 4K] r-x/r-x SM=SHM
==== Writable regions for process 36666
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
__DATA 00000001009b7000-0000000100a27000 [ 448K] rw-/rwx SM=COW ...bradleymeck/Documents/io.js/out/Release/iojs
__DATA 0000000100a27000-0000000100a30000 [ 36K] rw-/rwx SM=PRV ...bradleymeck/Documents/io.js/out/Release/iojs
Kernel Alloc Once 0000000100fd6000-0000000100fd7000 [ 4K] rw-/rwx SM=PRV
MALLOC 0000000100fd8000-0000000100fd9000 [ 4K] rw-/rwx SM=COW
MALLOC 0000000100fda000-0000000100fef000 [ 84K] rw-/rwx SM=COW
MALLOC 0000000100ff1000-0000000101006000 [ 84K] rw-/rwx SM=COW
Stack 0000000101009000-000000010108b000 [ 520K] rw-/rwx SM=PRV thread 1
MALLOC_LARGE (freed) 000000010108b000-00000001010ac000 [ 132K] rw-/rwx SM=PRV
MALLOC_LARGE metadata 00000001010ac000-00000001010ad000 [ 4K] rw-/rwx SM=COW DefaultMallocZone_0x100fd7000
MALLOC_LARGE (freed) 00000001010ad000-00000001010ef000 [ 264K] rw-/rwx SM=PRV
__DATA 00000001010f2000-00000001010f3000 [ 4K] rw-/rwx SM=PRV ...pshot-study/build/Release/SnapshotStudy.node
VM_ALLOCATE (reserved) 00000001010f6000-00000001010f7000 [ 4K] rwx/rwx SM=NUL reserved VM address space (unallocated)
VM_ALLOCATE 00000001010f7000-00000001010f8000 [ 4K] rw-/rwx SM=ZER
MALLOC_TINY 0000000101100000-0000000101200000 [ 1024K] rw-/rwx SM=COW DefaultMallocZone_0x100fd7000
Stack 0000000101201000-0000000101283000 [ 520K] rw-/rwx SM=PRV thread 2
Stack 0000000101284000-0000000101306000 [ 520K] rw-/rwx SM=PRV thread 3
Stack 0000000101307000-0000000101389000 [ 520K] rw-/rwx SM=PRV thread 4
MALLOC_LARGE (freed) 0000000101389000-00000001013b9000 [ 192K] rw-/rwx SM=PRV
MALLOC_TINY 0000000101400000-0000000101500000 [ 1024K] rw-/rwx SM=COW DefaultMallocZone_0x100fd7000
Stack 0000000101501000-0000000101583000 [ 520K] rw-/rwx SM=PRV thread 5
MALLOC_LARGE 0000000101583000-0000000101606000 [ 524K] rw-/rwx SM=PRV DefaultMallocZone_0x100fd7000
MALLOC_LARGE (freed) 0000000101606000-0000000101689000 [ 524K] rw-/rwx SM=PRV
MALLOC_TINY 0000000101700000-0000000101800000 [ 1024K] rw-/rwx SM=COW DefaultMallocZone_0x100fd7000
MALLOC_SMALL 0000000101800000-0000000103000000 [ 24.0M] rw-/rwx SM=COW DefaultMallocZone_0x100fd7000
MALLOC_TINY 0000000103000000-0000000103100000 [ 1024K] rw-/rwx SM=COW DefaultMallocZone_0x100fd7000
MALLOC_LARGE (freed) 0000000103100000-00000001032d0000 [ 1856K] rw-/rwx SM=PRV
MALLOC_TINY (freed) 0000000103300000-0000000103400000 [ 1024K] rw-/rwx SM=COW DefaultMallocZone_0x100fd7000
MALLOC_LARGE (freed) 0000000103400000-00000001034a0000 [ 640K] rw-/rwx SM=PRV
MALLOC_LARGE 00000001034a0000-0000000103620000 [ 1536K] rw-/rwx SM=PRV DefaultMallocZone_0x100fd7000
MALLOC_LARGE (freed) 0000000103620000-00000001037a0000 [ 1536K] rw-/rwx SM=PRV
MALLOC_SMALL (freed) 0000000103800000-0000000105000000 [ 24.0M] rw-/rwx SM=COW DefaultMallocZone_0x100fd7000
MALLOC_LARGE (freed) 0000000105000000-0000000105840000 [ 8448K] rw-/rwx SM=PRV
MALLOC_LARGE 0000000105840000-00000001059c0000 [ 1536K] rw-/rwx SM=PRV DefaultMallocZone_0x100fd7000
MALLOC_LARGE 00000001059c0000-0000000105fc0000 [ 6144K] rw-/rwx SM=PRV
MALLOC_SMALL (freed) 0000000106000000-0000000106800000 [ 8192K] rw-/rwx SM=COW DefaultMallocZone_0x100fd7000
VM_ALLOCATE (reserved) 0000000106800000-0000000106880000 [ 512K] rw-/rwx SM=NUL reserved VM address space (unallocated)
VM_ALLOCATE 0000000106880000-00000001068ac000 [ 176K] rw-/rwx SM=COW
VM_ALLOCATE 00000001068ac000-0000000106a00000 [ 1360K] rw-/rwx SM=ZER
Memory Tag 255 000006a091b00000-000006a091c00000 [ 1024K] rw-/rwx SM=PRV
Memory Tag 255 000006ff4e600000-000006ff4e605000 [ 20K] rw-/rwx SM=PRV
Memory Tag 255 000006ff4e606000-000006ff4e607000 [ 4K] rwx/rwx SM=PRV
Memory Tag 255 000006ff4e700000-000006ff4e705000 [ 20K] rw-/rwx SM=PRV
Memory Tag 255 000006ff4e706000-000006ff4e707000 [ 4K] rwx/rwx SM=PRV
Memory Tag 255 000006ff4e800000-000006ff4e805000 [ 20K] rw-/rwx SM=PRV
Memory Tag 255 000006ff4e806000-000006ff4e807000 [ 4K] rwx/rwx SM=PRV
Memory Tag 255 000006ff4e900000-000006ff4e905000 [ 20K] rw-/rwx SM=PRV
Memory Tag 255 000006ff4e906000-000006ff4e9ff000 [ 996K] rwx/rwx SM=PRV
Memory Tag 255 000006ff4ec00000-000006ff4ec05000 [ 20K] rw-/rwx SM=PRV
Memory Tag 255 000006ff4ec06000-000006ff4ecff000 [ 996K] rwx/rwx SM=PRV
Memory Tag 255 0000096381100000-0000096381200000 [ 1024K] rw-/rwx SM=PRV
Memory Tag 255 0000129e9f400000-0000129e9f500000 [ 1024K] rw-/rwx SM=PRV
Memory Tag 255 000013d980300000-000013d980400000 [ 1024K] rw-/rwx SM=PRV
Memory Tag 255 000018dfd2f00000-000018dfd3000000 [ 1024K] rw-/rwx SM=PRV
Memory Tag 255 00001dd08ca00000-00001dd08cb00000 [ 1024K] rw-/rwx SM=PRV
Memory Tag 255 00002500d4943000-00002500d4963000 [ 128K] rw-/rwx SM=PRV
Memory Tag 255 00002cd1ea800000-00002cd1ea900000 [ 1024K] rw-/rwx SM=PRV
Memory Tag 255 000030d09c000000-000030d09c400000 [ 4096K] rw-/rwx SM=PRV
Memory Tag 255 000030d09d000000-000030d09d400000 [ 4096K] rw-/rwx SM=PRV
Memory Tag 255 0000397cf15c0000-0000397cf15e0000 [ 128K] rw-/rwx SM=PRV
Stack 00007fff5f400000-00007fff5fbff000 [ 8188K] rw-/rwx SM=PRV thread 0
Stack 00007fff5fbff000-00007fff5fc00000 [ 4K] rw-/rwx SM=COW thread 0
__DATA 00007fff5fc37000-00007fff5fc70000 [ 228K] rw-/rwx SM=COW /usr/lib/dyld
__DATA 00007fff79bfd000-00007fff79bfe000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libcache.dylib
__DATA 00007fff79d16000-00007fff79d17000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libsystem_stats.dylib
__DATA 00007fff79fc8000-00007fff79fcb000 [ 12K] rw-/rw- SM=COW /usr/lib/system/libsystem_info.dylib
__DATA 00007fff7a01a000-00007fff7a01b000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libsystem_blocks.dylib
__DATA 00007fff7a039000-00007fff7a03a000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libmacho.dylib
__DATA 00007fff7a0ff000-00007fff7a100000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libsystem_coretls.dylib
__DATA 00007fff7a2ab000-00007fff7a2af000 [ 16K] rw-/rwx SM=COW /usr/lib/system/libsystem_pthread.dylib
__DATA 00007fff7a3d3000-00007fff7a3d4000 [ 4K] rw-/rwx SM=COW /usr/lib/libSystem.B.dylib
__DATA 00007fff7a485000-00007fff7a486000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libsystem_platform.dylib
__DATA 00007fff7a672000-00007fff7a673000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libsystem_secinit.dylib
__DATA 00007fff7a775000-00007fff7a776000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libsystem_m.dylib
__DATA 00007fff7a80d000-00007fff7a80e000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libkeymgr.dylib
__DATA 00007fff7a928000-00007fff7a92e000 [ 24K] rw-/rwx SM=COW /usr/lib/system/libsystem_network.dylib
__DATA 00007fff7a936000-00007fff7a937000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libsystem_malloc.dylib
__DATA 00007fff7a98e000-00007fff7a98f000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libcopyfile.dylib
__DATA 00007fff7abd7000-00007fff7abd8000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libsystem_configuration.dylib
__DATA 00007fff7abd8000-00007fff7abd9000 [ 4K] rw-/rw- SM=COW .../lib/system/libsystem_networkextension.dylib
__DATA 00007fff7ac06000-00007fff7ac08000 [ 8K] rw-/rwx SM=COW /usr/lib/system/libcompiler_rt.dylib
__DATA 00007fff7ac33000-00007fff7ac44000 [ 68K] rw-/rwx SM=COW /usr/lib/system/libdispatch.dylib
__DATA 00007fff7ad64000-00007fff7ad65000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libdyld.dylib
__DATA 00007fff7ad6c000-00007fff7ad8d000 [ 132K] rw-/rwx SM=COW /usr/lib/libicucore.A.dylib
__DATA 00007fff7b055000-00007fff7b056000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libsystem_trace.dylib
__DATA 00007fff7b0fb000-00007fff7b0fc000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libquarantine.dylib
__DATA 00007fff7b3e9000-00007fff7b3ea000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libsystem_dnssd.dylib
__DATA 00007fff7b570000-00007fff7b571000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libsystem_sandbox.dylib
__DATA 00007fff7b594000-00007fff7b595000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libsystem_coreservices.dylib
__DATA 00007fff7b595000-00007fff7b596000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libsystem_notify.dylib
__DATA 00007fff7b83b000-00007fff7b843000 [ 32K] rw-/rwx SM=COW /usr/lib/system/libcorecrypto.dylib
__DATA 00007fff7b844000-00007fff7b847000 [ 12K] rw-/rwx SM=COW /usr/lib/system/libsystem_kernel.dylib
__DATA 00007fff7b895000-00007fff7b897000 [ 8K] rw-/rwx SM=COW /usr/lib/libc++abi.dylib
__DATA 00007fff7b9c3000-00007fff7b9d2000 [ 60K] rw-/rwx SM=COW /usr/lib/libobjc.A.dylib
__DATA 00007fff7ba12000-00007fff7ba14000 [ 8K] rw-/rwx SM=COW /usr/lib/libauto.dylib
__DATA 00007fff7bb43000-00007fff7bb44000 [ 4K] rw-/rwx SM=COW /usr/lib/libz.1.dylib
__DATA 00007fff7bb9e000-00007fff7bbf4000 [ 344K] rw-/rwx SM=COW ...undation.framework/Versions/A/CoreFoundation
__DATA 00007fff7bcc9000-00007fff7bcca000 [ 4K] rw-/rw- SM=COW /usr/lib/system/libremovefile.dylib
__DATA 00007fff7bee1000-00007fff7bee2000 [ 4K] rw-/rwx SM=COW /usr/lib/libDiagnosticMessagesClient.dylib
__DATA 00007fff7bf81000-00007fff7bf83000 [ 8K] rw-/rwx SM=COW /usr/lib/system/libsystem_asl.dylib
__DATA 00007fff7bf89000-00007fff7bf8b000 [ 8K] rw-/rwx SM=COW /usr/lib/system/libcommonCrypto.dylib
__DATA 00007fff7bfcf000-00007fff7bfd4000 [ 20K] rw-/rwx SM=COW /usr/lib/system/libxpc.dylib
__DATA 00007fff7bff7000-00007fff7bff8000 [ 4K] rw-/rwx SM=COW /usr/lib/system/libunwind.dylib
__DATA 00007fff7c01e000-00007fff7c028000 [ 40K] rw-/rwx SM=COW /usr/lib/system/libsystem_c.dylib
__DATA 00007fff7c044000-00007fff7c04c000 [ 32K] rw-/rwx SM=COW /usr/lib/libc++.1.dylib
__DATA 00007fff7c11d000-00007fff7c125000 [ 32K] rw-/rwx SM=COW /usr/lib/libstdc++.6.0.9.dylib
==== Legend
SM=sharing mode:
COW=copy_on_write PRV=private NUL=empty ALI=aliased
SHM=shared ZER=zero_filled S/A=shared_alias
==== Summary for process 36666
ReadOnly portion of Libraries: Total=98.0M resident=54.1M(55%) swapped_out_or_unallocated=43.9M(45%)
Writable regions: Total=113.9M written=27.5M(24%) resident=40.2M(35%) swapped_out=0K(0%) unallocated=73.6M(65%)
REGION TYPE VIRTUAL
=========== =======
Kernel Alloc Once 4K
MALLOC 64.7M see MALLOC ZONE table below
MALLOC (admin) 24K
MALLOC freed, no zone 13.3M
MALLOC_LARGE 6144K
Memory Tag 255 557.4M
STACK GUARD 56.0M
Stack 10.5M
VM_ALLOCATE 1544K
VM_ALLOCATE (reserved) 516K reserved VM address space (unallocated)
__DATA 1680K
__LINKEDIT 76.6M
__TEXT 21.4M
__UNICODE 552K
shared memory 8K
=========== =======
TOTAL 810.1M
TOTAL, minus reserved VM space 809.6M
VIRTUAL ALLOCATION BYTES
MALLOC ZONE SIZE COUNT ALLOCATED % FULL
=========== ======= ========= ========= ======
DefaultMallocZone_0x100fd7000 64.5M 889 3984K 6%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment