[Vm-dev] when the vm crashes...
Eliot Miranda
eliot.miranda at gmail.com
Fri Mar 28 17:40:48 UTC 2014
On Fri, Mar 28, 2014 at 8:17 AM, Bob Arning <arning315 at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140328/27c67feb/attachment.htm
More information about the Vm-dev
mailing list