[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