On Fri, Mar 28, 2014 at 8:17 AM, Bob Arning <arning315@comcast.net> wrote:
 
Eliot,

I figured out where the "console" ends up and you are right - is was last object overwritten. File attached if it's of any use. My testing has proceeded to the point that repeated calls to "SqueakSSL google: 'squeak'" work fine, but calls to a very similar method connecting to a different host will crash the vm after a few iterations.

At this point I would switch to gdb, set a breakpoint in error, run the reproducible case, then use

call printOop(objectBefore(freeStart))

to find out which object was overwritten.  That may be a good enough clue to find out where the overwriting is occurring.  You can try

call longPrintOop(objectBefore(freeStart))

which may give you more info.


Cheers,
Bob


On 3/27/14 1:03 PM, Eliot Miranda wrote:
 


Hi Bob,


On Thu, Mar 27, 2014 at 4:33 AM, Bob Arning <arning315@comcast.net> wrote:
 
Is there enough information in the attached file to point to a possible cause?

Yes.  But there should hopefully be the output of error on the console and that would disambiguate between the two possible causes.  This is the stack:

2   libsystem_c.dylib             0x9b609bdd abort + 167
3   org.squeak.SqueakAllInOne45   0x000703be error + 94
4   org.squeak.SqueakAllInOne45   0x000d1c4f eeInstantiateSmallClasssizeInBytes + 95
5   org.squeak.SqueakAllInOne45   0x000d31a0 createClosureNumArgsnumCopiedstartpc + 80
6   org.squeak.SqueakAllInOne45   0x000c6e69 ceClosureCopyDescriptor + 41
 
There are two possible errors in eeInstantiateSmallClasssizeInBytes
error("last object overwritten");
error("out of memory");


The first means that something wrote past the end of an object and this was detected when a new object was allocated, seeing that freeSpace did not contain the pattern expected.  This e.g. happens when passing buffer objects to foreign code which writes beyond the object.

The second usually means infinite recursion.  Looking at the memory map at the end of the error report I think that the error is last object overwritten.


Cheers,
Bob




--
best,
Eliot





--
best,
Eliot