[Vm-dev] COG crashing - more info

Eliot Miranda eliot.miranda at gmail.com
Thu Jan 19 17:18:27 UTC 2012


Bob,

    the error clearly says

Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]: *out
of memory*

So you have an infinite recursion somewhere.  If you have advance warning
(e.g. the system starts to get sluggish) you can use kill -USR1 to get a
dump of all processes.  Alternatively you can run the VM under gdb, put a
halt in error, and do

gdb> call printAllStacks()

when the error is reached.  You can use pushOutputFile to get the stack
dump written to a particular file, e.g.

gdb> call pushOutputFile("stacktraces.txt")
gdb> call printAllStacks()
gdb> call popOutputFile()

HTH
Eliot

On Thu, Jan 19, 2012 at 5:12 AM, Bob Arning <arning315 at comcast.net> wrote:

>
>  A little more info on these crashes:
>
> I had 4 crashes in the space of about 5 days, then none for 10 days, then
> another today. This time I happened to be looking at Squeak and noticed
> that it was no longer writing simulation results to the screen. It was
> sluggish to come to the front and would not accept CMD-period. Looking in
> Activity Monitor, real memory usage had gone from the normal 210M to 510M
> and it seemed to spend about 10 minutes in gargage collection before
> crashing completely. Any thoughts on how to debug this?
>
> Cheers,
> Bob
>
>
> ===this is what Activity Monitor saw happening (repeated as often as I
> chose to sample it)===
> Sampling process 306 for 3 seconds with 1 millisecond of run time between
> samples
> Sampling completed, processing symbols...
> Analysis of sampling Croquet (pid 306) every 1 millisecond
> Call graph:
>     2506 Thread_2507
>       2506 start
>         2506 main
>           2506 RunApplicationEventLoopWithSqueak
>             2506 RunApplicationEventLoop
>               2506 ToolboxEventDispatcher
>                 2506 SendEventToEventTarget
>                   2506 SendEventToEventTargetInternal(OpaqueEventRef*,
> OpaqueEventTargetRef*, HandlerCallRec*)
>                     2506 DispatchEventToHandlers(EventTargetRec*,
> OpaqueEventRef*, HandlerCallRec*)
>                       2506
> ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*,
> void*)
>                         2506 SendEventToEventTargetWithOptions
>                           2506
> SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*,
> HandlerCallRec*)
>                             2506 DispatchEventToHandlers(EventTargetRec*,
> OpaqueEventRef*, HandlerCallRec*)
>                               2506 EventLoopEventHandler
>                                 2506 initStackPagesAndInterpret
>                                   2506 0x906dd9c
>                                     2506 ceSendFromInLineCacheMiss
>                                       2505 executeNewMethod
>                                         2505 primitiveNew
>                                           2505 sufficientSpaceAfterGC
>                                             2497 fullGC
>                                               1260 markPhase
>                                                 688 markAndTraceStackPage
>                                                   688 markAndTrace
>                                                     688 markAndTrace
>                                                 566
> markAndTraceInterpreterOops
>                                                   566 markAndTraceStackPage
>                                                     566 markAndTrace
>                                                       566 markAndTrace
>                                                 6
> markAndTraceObjectsOrFreeMachineCode
>                                                   6
> markAndTraceOrFreeCogMethodfirstVisit
>                                                     5
> markLiteralsAndUnlinkIfUnmarkedSendpcmethod
>                                                       3
> markAndTraceOrFreeCogMethodfirstVisit
>                                                         3
> markLiteralsAndUnlinkIfUnmarkedSendpcmethod
>                                                           3
> markAndTraceOrFreeCogMethodfirstVisit
>                                                             2
> markLiteralsAndUnlinkIfUnmarkedSendpcmethod
>                                                               2
> markAndTraceOrFreeCogMethodfirstVisit
>                                                                 2
> markLiteralsAndUnlinkIfUnmarkedSendpcmethod
>                                                                   1
> markAndTraceOrFreeCogMethodfirstVisit
>                                                                     1
> markAndTraceOrFreeCogMethodfirstVisit
>                                                                   1
> markLiteralsAndUnlinkIfUnmarkedSendpcmethod
>                                                             1 startOfMemory
>                                                               1
> startOfMemory
>                                                       2 markAndTrace
>                                                         2 markAndTrace
>                                                     1
> markAndTraceOrFreeCogMethodfirstVisit
>                                               800 incCompBody
>                                                 800
> mapPointersInObjectsFromto
>                                                   797
> mapPointersInObjectsFromto
>                                                   3
> mapObjectReferencesInMachineCode
>                                                     2 remap
>                                                       2 remap
>                                                     1
> remapIfObjectRefpchasYoung
>                                                       1 remap
>                                                         1 remap
>                                               432 fullGC
>                                               5 finalizeReference
>                                                 5 finalizeReference
>                                             8 incrementalGC
>                                               8 markPhase
>                                                 8
> markAndTraceInterpreterOops
>                                                   7 markAndTraceStackPage
>                                                     6 markAndTrace
>                                                       6 markAndTrace
>                                                     1 markAndTraceStackPage
>                                                   1
> markAndTraceInterpreterOops
>                                       1 activateCoggedNewMethod
>                                         1 checkForEventsMayContextSwitch
>                                           1 ioProcessEvents
>                                             1 ReceiveNextEvent
>                                               1 ReceiveNextEventCommon
>                                                 1 RunCurrentEventLoopInMode
>                                                   1 CFStringCompare
>                                                     1
> CFStringCompareWithOptions
>                                                       1
> CFStringCompareWithOptionsAndLocale
>                                                         1
> CFUniCharGetBitmapPtrForPlane
>                                                           1
> CFUniCharGetBitmapPtrForPlane
>     2506 Thread_2603
>       2506 thread_start
>         2506 _pthread_start
>           2506 beatStateMachine
>             2487 __semwait_signal
>               2487 __semwait_signal
>             11 nanosleep$UNIX2003
>               10 clock_get_time
>                 10 mach_msg
>                   10 mach_msg_trap
>                     10 mach_msg_trap
>               1 nanosleep$UNIX2003
>             2 __udivdi3
>               2 __udivdi3
>             2 beatStateMachine
>             2 cerror
>               2 __error
>                 2 __error
>             1 __error
>               1 __error
>             1 forceInterruptCheckFromHeartbeat
>               1 forceInterruptCheckFromHeartbeat
>
> Total number in stack (recursive counted multiple, when >=5):
>         5       markAndTraceOrFreeCogMethodfirstVisit
>
> Sort by top of stack, same collapsed (when >= 5):
>         __semwait_signal        2487
>         markAndTrace        1262
>         mapPointersInObjectsFromto        797
>         fullGC        432
>         mach_msg_trap        10
>         finalizeReference        5
> Sample analysis of process 306 written to file /dev/stdout
>
> ===this appeared on the console===
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> out of memory
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> C stack backtrace:
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> Smalltalk stack dump:
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> 0xbffa8308 M Delay class>handleTimerEvent 157474072: a(n) Delay class
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> 0xbffa8320 M Delay
> Jan 19 07:37:15 robert-arnings-computer
> [0x0-0x25025].com.squeak.Cog[306]:  class>runTimerEventLoop 157474072: a(n)
> Delay class
> Jan 19 07:37:15 robert-arnings-computer
> [0x0-0x25025].com.squeak.Cog[306]:  0x9851140 s [] in Delay
> class>startTimerEventLoop
> Jan 19 07:37:15 robert-arnings-computer
> [0x0-0x25025].com.squeak.Cog[306]:  0x9851260 s [] in
> BlockClosure>newProcess
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> Most recent primitives
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> wait
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> basicNew
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> primSignal:atMilliseconds:
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> wait
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> basicNew
> ...repeated items snipped...
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> wait
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> primSignal:atMilliseconds:
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> wait
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> primSignal:atMilliseconds:
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> wait
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> primSignal:atMilliseconds:
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> wait
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> primSignal:atMilliseconds:
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> wait
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> primSignal:atMilliseconds:
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> millisecondClockValue
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
> wait
> Jan 19 07:37:15 robert-arnings-computer [0x0-0x25025].com.squeak.Cog[306]:
>     (out of memory)
> Jan 19 07:37:19 robert-arnings-computer com.apple.launchd[102]
> ([0x0-0x25025].com.squeak.Cog[306]): Exited abnormally: Abort trap
>
> On 1/9/12 4:05 PM, Eliot Miranda wrote:
>
>
>
>
>
> On Sun, Jan 8, 2012 at 4:20 PM, Bob Arning <arning315 at comcast.net> wrote:
>
>>
>>  Does it take something special to generate one of those? The most
>> recent I have is 18 months old.
>>
>
>  They're produced either when the VM experiences a fatal error (either an
> internal call of error or catching a fatal signal etc).  How up-to-date is
> your VM?  That you're seeing messages on the console and not getting a
> crash.dmp might indicate your VM is old.
>
>
>> Cheers,
>> Bob
>>
>> On 1/8/12 6:34 PM, Eliot Miranda wrote:
>>
>>
>>
>>
>>
>> On Sat, Jan 7, 2012 at 6:22 PM, Bob Arning <arning315 at comcast.net> wrote:
>>
>>>
>>>  Is that the first file I posted, or yet another file? I looked and did
>>> not see anything specifically named "crash.log"
>>>
>>
>>  Oops.  It is called crash.dmp and is produced in whatever the image
>> file's directory is (a poor choice in certain circumstances, but it has to
>> go somewhere).
>>
>>
>>>
>>> Cheers,
>>> Bob
>>>
>>> On 1/7/12 6:35 PM, Eliot Miranda wrote:
>>>
>>> BTW, the below is not as useful as the crash.log file.
>>>
>>>
>>>
>>
>>
>>  --
>> best,
>> Eliot
>>
>>
>>
>
>
>  --
> best,
> Eliot
>
>
>


-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20120119/5a5bf293/attachment-0001.htm


More information about the Vm-dev mailing list