[Vm-dev] Cog: Infinite recursion leads to crash

Igor Stasenko siguctua at gmail.com
Wed Oct 20 19:15:31 UTC 2010


Hello, Eliot.

By running some experimental stuff under Cog, Chris get into an
infinite resursion,
which, instead of showing 'low space' warning leads to VM crash.

I am not sure what exactly caused recursion in his code (i hope this
just a simple bug, not related to VM).
What i found disturbing, that i was able to reproduce crash with
simple code (see attachment).

The only difference between crash report of mine:

Smalltalk stack dump:
  0x924088 M InfiniteRecursion>deeeep: 292975484: a(n) InfiniteRecursion
  0x9240ac M InfiniteRecursion>deeeep: 292975484: a(n) InfiniteRecursion
  0x91e6f8 M InfiniteRecursion>deeeep: 292975484: a(n) InfiniteRecursion
  0x91e71c M InfiniteRecursion>deeeep: 292975484: a(n) InfiniteRecursion
  0x91e740 M InfiniteRecursion>deeeep: 292975484: a(n) InfiniteRecursion
  0x91e764 M InfiniteRecursion>deeeep: 292975484: a(n) InfiniteRecursion
  0x91e788 M InfiniteRecursion>deeeep: 292975484: a(n) InfiniteRecursion
  ....

and Chris, that in his case an objects, somehow went outside of a heap:


Smalltalk stack dump:
0xbfa31668 M  class()> 20181257720x784a27cc is not on the heap
0xbfa31690 M  class( class)> 20268642800x78cf7e98 is not on the heap
0xbfa316a8 M  class( class)> 20268642800x78cf7e98 is not on the heap
0xbfa316c8 M ()> 20366153080x7964488c is not on the heap
0xbfa316e0 M  class> 20129812280x77fba7ec is not on the heap
0xbfa316f8 M > 20135071280x7803ae38 is not on the heap
0xbfa31720 M  class( class)> 20268642800x78cf7e98 is not on the heap
0xbfa31738 M  class( class)> 20268642800x78cf7e98 is not on the heap
0xbfa31758 M ()> 20366153080x7964488c is not on the heap
0xbfa31770 M  class> 20129812280x77fba7ec is not on the heap
0xbfa31788 M > 20135071280x7803ae38 is not on the heap
...


I was running under windoze, and were able to watch how vm consuming
memory, and somewhere little above 512Mb, it crashing.

It is bad, of course, when your own code going mad, but it should not
be the reason for VM to go mad as well :)



-- 
Best regards,
Igor Stasenko AKA sig.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: InfiniteRecursion.st
Type: application/octet-stream
Size: 416 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20101020/5fca73b9/InfiniteRecursion.obj


More information about the Vm-dev mailing list