Hi folks. I am using the standard SqueakVM  4.2.5beta1U.<br>If I run normaly the VM with a normal Pharo image and I print Smalltalk garbageCollect -&gt; I get something like  492130460<br><br>Now...if I run the vm with the parameter -memory 1500m  and I then print Smalltalk garbageCollect -&gt; I get a NEGATIVE number like:  -619402660<br>
<br>I guess there is a problem in somewhere like ObjectMemory &gt;&gt; bytesLeft:<br>but I don&#39;t know...<br><br>Anyway, the problem in my case is in SmalltalkImage:<br><br>okayToProceedEvenIfSpaceIsLow<br>    &quot;Return true if either there is enough memory to do so safely or if the user gives permission after being given fair warning.&quot;<br>
<br>    self garbageCollectMost &gt; self lowSpaceThreshold ifTrue: [^ true].  &quot;quick&quot;<br>    self garbageCollect &gt; self lowSpaceThreshold ifTrue: [^ true].  &quot;work harder&quot;<br><br>    ^ self confirm:<br>
&#39;WARNING: There is not enough space to start the low space watcher.<br>If you proceed, you will not be warned again, and the system may<br>run out of memory and crash. If you do proceed, you can start the<br>low space notifier when more space becomes available simply by<br>
opening and then closing a debugger (e.g., by hitting Cmd-period.)<br>Do you want to proceed?&#39;<br><br><br>Since both of the first answers false because, of course garbageCollectMost and garbageCollect are negative....<br>
then I have that poup all the time.<br><br>To fix this I have to posibilities:<br><br>1) Just patch this particular method to:<br><br>self garbageCollectMost.<br>self primBytesLeft &gt; self lowSpaceThreshold ifTrue: [^ true].  
&quot;quick&quot;<br>self garbageCollect <br>self primBytesLeft &gt; self lowSpaceThreshold ifTrue: [^ true].  
&quot;work harder&quot;<br><br>Notice that primBytesLeft is answering correct. Wait..I don&#39;t know if correct, but at least possitive:  5691396<br>I think this is possitive because the primitive is not receiving a parameter, and thus, Interpreter &gt;&gt; primitiveBytesLeft<br>
evaluates the first part of the method, which just does self sizeOfFree: freeBlock , and not the second part where it does self bytesLeft: aBool.<br><br>2) understand why it is negative and fix it from the VM side (I have no idea how to do this).<br>
<br>Now, in addition, I wonder if there may be other places broken because of this....I am having some crashed and I don&#39;t know why :(<br><br>Thanks in advance,<br><br>Mariano<br>