Examples now have model output to check against
This is useful in CI to see if examples are running correctly. The
output is added to the scripts directory so that it is not confusing to
users that are not necessarily familiar with CI. The names of the
examples do not include the number because at the moment I've not found
a clean way to get the number in xmake because the firmware image has
the number removed. Also, output may vary per board so the model output
is first divided up per board.
diff --git a/scripts/model_output/sonata-simulator/examples/audit.txt b/scripts/model_output/sonata-simulator/examples/audit.txt
new file mode 100644
index 0000000..f2abe0c
--- /dev/null
+++ b/scripts/model_output/sonata-simulator/examples/audit.txt
@@ -0,0 +1,3 @@
+[35mProducer[0m: Encrypting message 'Hello, World!'
+[35mEntry compartment[0m: Received encrypted message: 'Ifmmp-!Xpsme"' (13 bytes)
+[35mConsumer[0m: Decrypted message: 'Hello, World!'
diff --git a/scripts/model_output/sonata-simulator/examples/error_handling.txt b/scripts/model_output/sonata-simulator/examples/error_handling.txt
new file mode 100644
index 0000000..ed3cf77
--- /dev/null
+++ b/scripts/model_output/sonata-simulator/examples/error_handling.txt
@@ -0,0 +1,5 @@
+[35mUART compartment[0m: Message provided by caller: hello
+[35mUART compartment[0m: Detected BoundsViolation(0x1) trying to write to UART. Register CS0(0x8) contained invalid value: 0x101b10 (v:1 0x101b0b-0x101b10 l:0x5 o:0x0 p: - RWcgml -- ---)
+[35mUART compartment[0m: Message provided by caller:
+[35mUART compartment[0m: Detected PermitLoadViolation(0x12) trying to write to UART. Register CS0(0x8) contained invalid value: 0x101b0b (v:1 0x101b0b-0x101b10 l:0x5 o:0x0 p: - -W---- -- ---)
+[35mUART compartment[0m: Message provided by caller: Non-malicious string
diff --git a/scripts/model_output/sonata-simulator/examples/hello_compartment.txt b/scripts/model_output/sonata-simulator/examples/hello_compartment.txt
new file mode 100644
index 0000000..31e3a2a
--- /dev/null
+++ b/scripts/model_output/sonata-simulator/examples/hello_compartment.txt
@@ -0,0 +1,2 @@
+[35mUART compartment[0m: Hello world
+[35mUART compartment[0m: Hello from the stack
diff --git a/scripts/model_output/sonata-simulator/examples/hello_safe_compartment.txt b/scripts/model_output/sonata-simulator/examples/hello_safe_compartment.txt
new file mode 100644
index 0000000..0ec9819
--- /dev/null
+++ b/scripts/model_output/sonata-simulator/examples/hello_safe_compartment.txt
Binary files differ
diff --git a/scripts/model_output/sonata-simulator/examples/hello_world.txt b/scripts/model_output/sonata-simulator/examples/hello_world.txt
new file mode 100644
index 0000000..bcb68d3
--- /dev/null
+++ b/scripts/model_output/sonata-simulator/examples/hello_world.txt
@@ -0,0 +1 @@
+[35mHello world compartment[0m: Hello world
diff --git a/scripts/model_output/sonata-simulator/examples/javascript.txt b/scripts/model_output/sonata-simulator/examples/javascript.txt
new file mode 100644
index 0000000..6fc8329
--- /dev/null
+++ b/scripts/model_output/sonata-simulator/examples/javascript.txt
@@ -0,0 +1,10 @@
+Hello, World!
+array[0] = 2
+array[1] = 4
+array[2] = 6
+array[3] = 8
+array[4] = 10
+[35mJavaScript hello compartment[0m: Microvium is using 0x1a6 bytes of memory, including 0x60 bytes of heap
+[35mJavaScript hello compartment[0m: Running GC
+[35mJavaScript hello compartment[0m: Microvium is using 0x86 bytes of memory, including 0x14 bytes of heap
+[35mJavaScript hello compartment[0m: Peak heap used: 0x60 bytes, peak stack used: 0x32 bytes
diff --git a/scripts/model_output/sonata-simulator/examples/memory_safety.txt b/scripts/model_output/sonata-simulator/examples/memory_safety.txt
new file mode 100644
index 0000000..4ebed1f
--- /dev/null
+++ b/scripts/model_output/sonata-simulator/examples/memory_safety.txt
@@ -0,0 +1,17 @@
+[35mMemory safety compartment[0m: Demonstrate memory safety
+[35mMemory safety compartment[0m: Trigger stack linear overflow
+[35mMemory safety compartment[0m: Detected error in instruction 0x107cac (v:0 0x107820-0x108820 l:0x1000 o:0x0 p: G R-cgm- X- ---)
+[35mMemory safety compartment[0m: Detected BoundsViolation(0x1): Register CA1(0xb) contained invalid value: 0x101ad0 (v:1 0x101ad0-0x101b10 l:0x40 o:0x0 p: - RWcgml -- ---)
+[35mMemory safety compartment[0m: Trigger heap linear overflow
+[35mMemory safety compartment[0m: Detected error in instruction 0x107ab2 (v:0 0x107820-0x108820 l:0x1000 o:0x0 p: G R-cgm- X- ---)
+[35mMemory safety compartment[0m: Detected BoundsViolation(0x1): Register CA0(0xa) contained invalid value: 0x109910 (v:1 0x109910-0x109a10 l:0x100 o:0x0 p: G RWcgm- -- ---)
+[35mMemory safety compartment[0m: Trigger heap nonlinear overflow
+[35mMemory safety compartment[0m: Detected error in instruction 0x107b0c (v:0 0x107820-0x108820 l:0x1000 o:0x0 p: G R-cgm- X- ---)
+[35mMemory safety compartment[0m: Detected BoundsViolation(0x1): Register CA0(0xa) contained invalid value: 0x109a18 (v:1 0x109a18-0x109b18 l:0x100 o:0x0 p: G RWcgm- -- ---)
+[35mMemory safety compartment[0m: Trigger heap use after free
+[35mMemory safety compartment[0m: Detected error in instruction 0x107a58 (v:0 0x107820-0x108820 l:0x1000 o:0x0 p: G R-cgm- X- ---)
+[35mMemory safety compartment[0m: Detected TagViolation(0x2): Register CA0(0xa) contained invalid value: 0x109b20 (v:0 0x109b20-0x109c20 l:0x100 o:0x0 p: G RWcgm- -- ---)
+[35mMemory safety compartment[0m: Trigger storing a stack pointer 0x101ad0 (v:1 0x101ad0-0x101ae0 l:0x10 o:0x0 p: - RWcgml -- ---) into global
+[35mMemory safety compartment[0m: tmp: 0x101ad0 (v:0 0x101ad0-0x101ae0 l:0x10 o:0x0 p: - RWcgml -- ---)
+[35mMemory safety compartment[0m: Detected error in instruction 0x107a28 (v:0 0x107820-0x108820 l:0x1000 o:0x0 p: G R-cgm- X- ---)
+[35mMemory safety compartment[0m: Detected TagViolation(0x2): Register CS0(0x8) contained invalid value: 0x101ad0 (v:0 0x101ad0-0x101ae0 l:0x10 o:0x0 p: - RWcgml -- ---)
diff --git a/scripts/model_output/sonata-simulator/examples/producer-consumer.txt b/scripts/model_output/sonata-simulator/examples/producer-consumer.txt
new file mode 100644
index 0000000..7a77111
--- /dev/null
+++ b/scripts/model_output/sonata-simulator/examples/producer-consumer.txt
@@ -0,0 +1,203 @@
+[35mConsumer[0m: Queue set to 0x10a720 (v:1 0x10a720-0x10a778 l:0x58 o:0xb p: G RWcgm- -- ---)
+[35mProducer[0m: Starting producer loop
+[35mConsumer[0m: Waiting for messages
+[35mConsumer[0m: Read 1 from queue
+[35mConsumer[0m: Read 2 from queue
+[35mConsumer[0m: Read 3 from queue
+[35mConsumer[0m: Read 4 from queue
+[35mConsumer[0m: Read 5 from queue
+[35mConsumer[0m: Read 6 from queue
+[35mConsumer[0m: Read 7 from queue
+[35mConsumer[0m: Read 8 from queue
+[35mConsumer[0m: Read 9 from queue
+[35mConsumer[0m: Read 10 from queue
+[35mConsumer[0m: Read 11 from queue
+[35mConsumer[0m: Read 12 from queue
+[35mConsumer[0m: Read 13 from queue
+[35mConsumer[0m: Read 14 from queue
+[35mConsumer[0m: Read 15 from queue
+[35mConsumer[0m: Read 16 from queue
+[35mConsumer[0m: Read 17 from queue
+[35mConsumer[0m: Read 18 from queue
+[35mConsumer[0m: Read 19 from queue
+[35mConsumer[0m: Read 20 from queue
+[35mConsumer[0m: Read 21 from queue
+[35mConsumer[0m: Read 22 from queue
+[35mConsumer[0m: Read 23 from queue
+[35mConsumer[0m: Read 24 from queue
+[35mConsumer[0m: Read 25 from queue
+[35mConsumer[0m: Read 26 from queue
+[35mConsumer[0m: Read 27 from queue
+[35mConsumer[0m: Read 28 from queue
+[35mConsumer[0m: Read 29 from queue
+[35mConsumer[0m: Read 30 from queue
+[35mConsumer[0m: Read 31 from queue
+[35mConsumer[0m: Read 32 from queue
+[35mConsumer[0m: Read 33 from queue
+[35mConsumer[0m: Read 34 from queue
+[35mConsumer[0m: Read 35 from queue
+[35mConsumer[0m: Read 36 from queue
+[35mConsumer[0m: Read 37 from queue
+[35mConsumer[0m: Read 38 from queue
+[35mConsumer[0m: Read 39 from queue
+[35mConsumer[0m: Read 40 from queue
+[35mConsumer[0m: Read 41 from queue
+[35mConsumer[0m: Read 42 from queue
+[35mConsumer[0m: Read 43 from queue
+[35mConsumer[0m: Read 44 from queue
+[35mConsumer[0m: Read 45 from queue
+[35mConsumer[0m: Read 46 from queue
+[35mConsumer[0m: Read 47 from queue
+[35mConsumer[0m: Read 48 from queue
+[35mConsumer[0m: Read 49 from queue
+[35mConsumer[0m: Read 50 from queue
+[35mConsumer[0m: Read 51 from queue
+[35mConsumer[0m: Read 52 from queue
+[35mConsumer[0m: Read 53 from queue
+[35mConsumer[0m: Read 54 from queue
+[35mConsumer[0m: Read 55 from queue
+[35mConsumer[0m: Read 56 from queue
+[35mConsumer[0m: Read 57 from queue
+[35mConsumer[0m: Read 58 from queue
+[35mConsumer[0m: Read 59 from queue
+[35mConsumer[0m: Read 60 from queue
+[35mConsumer[0m: Read 61 from queue
+[35mConsumer[0m: Read 62 from queue
+[35mConsumer[0m: Read 63 from queue
+[35mConsumer[0m: Read 64 from queue
+[35mConsumer[0m: Read 65 from queue
+[35mConsumer[0m: Read 66 from queue
+[35mConsumer[0m: Read 67 from queue
+[35mConsumer[0m: Read 68 from queue
+[35mConsumer[0m: Read 69 from queue
+[35mConsumer[0m: Read 70 from queue
+[35mConsumer[0m: Read 71 from queue
+[35mConsumer[0m: Read 72 from queue
+[35mConsumer[0m: Read 73 from queue
+[35mConsumer[0m: Read 74 from queue
+[35mConsumer[0m: Read 75 from queue
+[35mConsumer[0m: Read 76 from queue
+[35mConsumer[0m: Read 77 from queue
+[35mConsumer[0m: Read 78 from queue
+[35mConsumer[0m: Read 79 from queue
+[35mConsumer[0m: Read 80 from queue
+[35mConsumer[0m: Read 81 from queue
+[35mConsumer[0m: Read 82 from queue
+[35mConsumer[0m: Read 83 from queue
+[35mConsumer[0m: Read 84 from queue
+[35mConsumer[0m: Read 85 from queue
+[35mConsumer[0m: Read 86 from queue
+[35mConsumer[0m: Read 87 from queue
+[35mConsumer[0m: Read 88 from queue
+[35mConsumer[0m: Read 89 from queue
+[35mConsumer[0m: Read 90 from queue
+[35mConsumer[0m: Read 91 from queue
+[35mConsumer[0m: Read 92 from queue
+[35mConsumer[0m: Read 93 from queue
+[35mConsumer[0m: Read 94 from queue
+[35mConsumer[0m: Read 95 from queue
+[35mConsumer[0m: Read 96 from queue
+[35mConsumer[0m: Read 97 from queue
+[35mConsumer[0m: Read 98 from queue
+[35mConsumer[0m: Read 99 from queue
+[35mConsumer[0m: Read 100 from queue
+[35mConsumer[0m: Read 101 from queue
+[35mConsumer[0m: Read 102 from queue
+[35mConsumer[0m: Read 103 from queue
+[35mConsumer[0m: Read 104 from queue
+[35mConsumer[0m: Read 105 from queue
+[35mConsumer[0m: Read 106 from queue
+[35mConsumer[0m: Read 107 from queue
+[35mConsumer[0m: Read 108 from queue
+[35mConsumer[0m: Read 109 from queue
+[35mConsumer[0m: Read 110 from queue
+[35mConsumer[0m: Read 111 from queue
+[35mConsumer[0m: Read 112 from queue
+[35mConsumer[0m: Read 113 from queue
+[35mConsumer[0m: Read 114 from queue
+[35mConsumer[0m: Read 115 from queue
+[35mConsumer[0m: Read 116 from queue
+[35mConsumer[0m: Read 117 from queue
+[35mConsumer[0m: Read 118 from queue
+[35mConsumer[0m: Read 119 from queue
+[35mConsumer[0m: Read 120 from queue
+[35mConsumer[0m: Read 121 from queue
+[35mConsumer[0m: Read 122 from queue
+[35mConsumer[0m: Read 123 from queue
+[35mConsumer[0m: Read 124 from queue
+[35mConsumer[0m: Read 125 from queue
+[35mConsumer[0m: Read 126 from queue
+[35mConsumer[0m: Read 127 from queue
+[35mConsumer[0m: Read 128 from queue
+[35mConsumer[0m: Read 129 from queue
+[35mConsumer[0m: Read 130 from queue
+[35mConsumer[0m: Read 131 from queue
+[35mConsumer[0m: Read 132 from queue
+[35mConsumer[0m: Read 133 from queue
+[35mConsumer[0m: Read 134 from queue
+[35mConsumer[0m: Read 135 from queue
+[35mConsumer[0m: Read 136 from queue
+[35mConsumer[0m: Read 137 from queue
+[35mConsumer[0m: Read 138 from queue
+[35mConsumer[0m: Read 139 from queue
+[35mConsumer[0m: Read 140 from queue
+[35mConsumer[0m: Read 141 from queue
+[35mConsumer[0m: Read 142 from queue
+[35mConsumer[0m: Read 143 from queue
+[35mConsumer[0m: Read 144 from queue
+[35mConsumer[0m: Read 145 from queue
+[35mConsumer[0m: Read 146 from queue
+[35mConsumer[0m: Read 147 from queue
+[35mConsumer[0m: Read 148 from queue
+[35mConsumer[0m: Read 149 from queue
+[35mConsumer[0m: Read 150 from queue
+[35mConsumer[0m: Read 151 from queue
+[35mConsumer[0m: Read 152 from queue
+[35mConsumer[0m: Read 153 from queue
+[35mConsumer[0m: Read 154 from queue
+[35mConsumer[0m: Read 155 from queue
+[35mConsumer[0m: Read 156 from queue
+[35mConsumer[0m: Read 157 from queue
+[35mConsumer[0m: Read 158 from queue
+[35mConsumer[0m: Read 159 from queue
+[35mConsumer[0m: Read 160 from queue
+[35mConsumer[0m: Read 161 from queue
+[35mConsumer[0m: Read 162 from queue
+[35mConsumer[0m: Read 163 from queue
+[35mConsumer[0m: Read 164 from queue
+[35mConsumer[0m: Read 165 from queue
+[35mConsumer[0m: Read 166 from queue
+[35mConsumer[0m: Read 167 from queue
+[35mConsumer[0m: Read 168 from queue
+[35mConsumer[0m: Read 169 from queue
+[35mConsumer[0m: Read 170 from queue
+[35mConsumer[0m: Read 171 from queue
+[35mConsumer[0m: Read 172 from queue
+[35mConsumer[0m: Read 173 from queue
+[35mConsumer[0m: Read 174 from queue
+[35mConsumer[0m: Read 175 from queue
+[35mConsumer[0m: Read 176 from queue
+[35mConsumer[0m: Read 177 from queue
+[35mConsumer[0m: Read 178 from queue
+[35mConsumer[0m: Read 179 from queue
+[35mConsumer[0m: Read 180 from queue
+[35mConsumer[0m: Read 181 from queue
+[35mConsumer[0m: Read 182 from queue
+[35mProducer[0m: Producer sent all messages to consumer
+[35mConsumer[0m: Read 183 from queue
+[35mConsumer[0m: Read 184 from queue
+[35mConsumer[0m: Read 185 from queue
+[35mConsumer[0m: Read 186 from queue
+[35mConsumer[0m: Read 187 from queue
+[35mConsumer[0m: Read 188 from queue
+[35mConsumer[0m: Read 189 from queue
+[35mConsumer[0m: Read 190 from queue
+[35mConsumer[0m: Read 191 from queue
+[35mConsumer[0m: Read 192 from queue
+[35mConsumer[0m: Read 193 from queue
+[35mConsumer[0m: Read 194 from queue
+[35mConsumer[0m: Read 195 from queue
+[35mConsumer[0m: Read 196 from queue
+[35mConsumer[0m: Read 197 from queue
+[35mConsumer[0m: Read 198 from queue
+[35mConsumer[0m: Read 199 from queue
diff --git a/scripts/model_output/sonata-simulator/examples/sealing.txt b/scripts/model_output/sonata-simulator/examples/sealing.txt
new file mode 100644
index 0000000..f6d7fd9
--- /dev/null
+++ b/scripts/model_output/sonata-simulator/examples/sealing.txt
@@ -0,0 +1,5 @@
+[35mIdentifier service[0m: Allocated identifier, sealed capability: 0x109410 (v:1 0x109410-0x109420 l:0x10 o:0xb p: G RWcgm- -- ---)
+unsealed capability: 0x109418 (v:1 0x109418-0x109420 l:0x8 o:0x0 p: G RWcgm- -- ---)
+[35mCaller compartment[0m: Allocated identifier to hold the value 42: 0x109410 (v:1 0x109410-0x109420 l:0x10 o:0xb p: G RWcgm- -- ---)
+[35mCaller compartment[0m: Value is 42
+[35mCaller compartment[0m: Dangling pointer: 0x109410 (v:0 0x109410-0x109420 l:0x10 o:0xb p: G RWcgm- -- ---)
diff --git a/scripts/model_output/sonata-simulator/examples/temporal_safety.txt b/scripts/model_output/sonata-simulator/examples/temporal_safety.txt
new file mode 100644
index 0000000..37f990e
--- /dev/null
+++ b/scripts/model_output/sonata-simulator/examples/temporal_safety.txt
@@ -0,0 +1,52 @@
+[35mAllocating compartment[0m: ----- Simple Case -----
+[35mAllocating compartment[0m: Allocated: 0x109910 (v:1 0x109910-0x109940 l:0x30 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: Use after free: 0x109910 (v:0 0x109910-0x109940 l:0x30 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: ----- Sub object -----
+[35mAllocating compartment[0m: Allocated : 0x109948 (v:1 0x109948-0x1099b0 l:0x68 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: Sub Object: 0x109961 (v:1 0x109961-0x109993 l:0x32 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: heap quota: 3984
+[35mAllocating compartment[0m: After free of sub object
+[35mAllocating compartment[0m: Allocated : 0x109948 (v:1 0x109948-0x1099b0 l:0x68 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: Sub Object: 0x109961 (v:1 0x109961-0x109993 l:0x32 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: heap quota: 3984
+[35mAllocating compartment[0m: After free of allocation
+[35mAllocating compartment[0m: Allocated : 0x109948 (v:0 0x109948-0x1099b0 l:0x68 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: Sub Object: 0x109961 (v:0 0x109961-0x109993 l:0x32 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: heap quota: 4096
+[35mAllocating compartment[0m: ----- Sub object with a claim -----
+[35mAllocating compartment[0m: Allocated : 0x1099b8 (v:1 0x1099b8-0x109a20 l:0x68 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: Sub Object: 0x1099d1 (v:1 0x1099d1-0x109a03 l:0x32 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: heap quota: 3984
+[35mAllocating compartment[0m: heap quota after claim: 3968
+[35mAllocating compartment[0m: After free of allocation
+[35mAllocating compartment[0m: Allocated : 0x1099b8 (v:1 0x1099b8-0x109a20 l:0x68 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: Sub Object: 0x1099d1 (v:1 0x1099d1-0x109a03 l:0x32 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: heap quota: 3968
+[35mAllocating compartment[0m: After free of sub object
+[35mAllocating compartment[0m: Allocated : 0x1099b8 (v:0 0x1099b8-0x109a20 l:0x68 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: Sub Object: 0x1099d1 (v:0 0x1099d1-0x109a03 l:0x32 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: heap quota: 4096
+[35mAllocating compartment[0m: ----- Sub object with a fast claim -----
+[35mAllocating compartment[0m: Allocated : 0x109a38 (v:1 0x109a38-0x109aa0 l:0x68 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: Sub Object: 0x109a51 (v:1 0x109a51-0x109a83 l:0x32 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: heap quota: 3984
+[35mAllocating compartment[0m: After free
+[35mAllocating compartment[0m: Allocated : 0x109a38 (v:0 0x109a38-0x109aa0 l:0x68 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: Sub Object: 0x109a51 (v:0 0x109a51-0x109a83 l:0x32 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: heap quota: 4096
+[35mAllocating compartment[0m: ----- Claim in another compartment -----
+[35mAllocating compartment[0m: Allocated : 0x109aa8 (v:1 0x109aa8-0x109ab8 l:0x10 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: heap quota: 4072
+[35mClaimant compartment[0m: Initial quota: 4096
+[35mClaimant compartment[0m: Make Claim : 0x109aa8 (v:1 0x109aa8-0x109ab8 l:0x10 o:0x0 p: G RWcgm- -- ---)
+[35mClaimant compartment[0m: heap quota: 4056
+[35mAllocating compartment[0m: After free: 0x109aa8 (v:1 0x109aa8-0x109ab8 l:0x10 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: heap quota: 4096
+[35mClaimant compartment[0m: Show Claim : 0x109aa8 (v:1 0x109aa8-0x109ab8 l:0x10 o:0x0 p: G RWcgm- -- ---)
+[35mClaimant compartment[0m: Initial quota: 4056
+[35mClaimant compartment[0m: Make Claim : 0x109ad0 (v:1 0x109ad0-0x109ae0 l:0x10 o:0x0 p: G RWcgm- -- ---)
+[35mClaimant compartment[0m: heap quota: 4056
+[35mAllocating compartment[0m: After make claim
+[35mAllocating compartment[0m: x: 0x109aa8 (v:0 0x109aa8-0x109ab8 l:0x10 o:0x0 p: G RWcgm- -- ---)
+[35mAllocating compartment[0m: y: 0x109ad0 (v:1 0x109ad0-0x109ae0 l:0x10 o:0x0 p: G RWcgm- -- ---)
+[35mClaimant compartment[0m: Show Claim : 0x109ad0 (v:1 0x109ad0-0x109ae0 l:0x10 o:0x0 p: G RWcgm- -- ---)