[squeak-dev] Mac VM hanging
David T. Lewis
lewis at mail.msen.com
Mon Jun 27 03:37:41 UTC 2011
Bob,
Are you saying that your code runs fine for six or more minutes, or
are you saying that it runs fine for 6 minutes and then hangs? In other
words, does it happen only when you wrap your code in MessageTally,
or does MessageTally just seem to make it happen sooner?
I don't know the Mac environment, but on the face of it this sounds
like a system that is trying to grow object memory beyond available
memory and just getting bogged down and unresponsive. Is there a code
snippet you can share to reproduce?
Dave
On Sun, Jun 26, 2011 at 01:48:52PM -0400, Bob Arning wrote:
> Hi,
>
> I've been using the all-in-one 4.2 Squeak and can't figure out why the
> VM is hanging. I have some code that runs fine for about six minutes,
> but if I wrap it in a
> MessageTally spyOn: [], then the VM will hang after a while (typically
> 30 to 90 seconds). CMD-period does not wake it up. According to the
> activity monitor, cpu remains right around 100% and real memory at
> around 180 meg. Activity Monitor sampling output attached below. Any
> suggestions?
>
> Cheers,
> Bob
>
> Sampling process 71029 for 1 seconds with 1 millisecond of run time
> between samples
> Sampling completed, processing symbols...
> Analysis of sampling Squeak VM Opt (pid 71029) every 1 millisecond
> Call graph:
> 880 Thread_2507
> 543 markAndTrace
> 543 markAndTrace
> 247 updatePointersInRangeFromto
> 247 updatePointersInRangeFromto
> 63 sweepPhase
> 63 sweepPhase
> 8 interpret
> 8 interpret
> 6 updatePointersInRootObjectsFromto
> 6 updatePointersInRootObjectsFromto
> 5 aioPoll
> 3 select$DARWIN_EXTSN$NOCANCEL
> 3 select$DARWIN_EXTSN$NOCANCEL
> 2 __memcpy
> 2 __memcpy
> 3 ioProcessEvents
> 3 ReceiveNextEvent
> 3 ReceiveNextEventCommon
> 3 RunCurrentEventLoopInMode
> 3 CFRunLoopRunInMode
> 3 CFRunLoopRunSpecific
> 3 __CFRunLoopDoObservers
> 2 FlushAllBuffers(__CFRunLoopObserver*, unsigned
> long, void*)
> 1 FlushWindowObject(WindowData*, void**, unsigned
> char)
> 1 GetWindowPropertyCore(WindowData*, unsigned
> long, unsigned long, unsigned long, unsigned long*, void*)
> 1 HIGetCollectionItem
> 1 GetCollectionItem
> 1 FindItem(OpaqueCollection*, unsigned
> long, long, unsigned long*)
> 1 CollectionItemRec::getTag()
> 1 CollectionItemRec::getTag()
> 1 IsSafeToCallApplication
> 1 GetTaskStorageKeyForSafeToCall
> 1 GetTaskStorageKeyForSafeToCall
> 1 bsd_qsort
> 1 __CFRunLoopObserverQSortComparator
> 1 __CFRunLoopObserverQSortComparator
> 2 mapPointersInObjectsFromto
> 2 mapPointersInObjectsFromto
> 1 instantiateSmallClasssizeInBytes
> 1 instantiateSmallClasssizeInBytes
> 1 ioMicroMSecs
> 1 gettimeofday
> 1 __gettimeofday
> 1 __nanotime
> 1 __nanotime
> 1 markAndTraceInterpreterOops
> 1 markAndTraceInterpreterOops
> 880 Thread_2603
> 880 thread_start
> 880 _pthread_start
> 880 TimerThread
> 880 TSWaitOnSemaphoreCommon
> 880 TSWaitOnConditionTimedRelative
> 880 pthread_cond_timedwait_relative_np
> 880 _pthread_cond_wait
> 879 semaphore_timedwait_signal_trap
> 879 semaphore_timedwait_signal_trap
> 1 pthread_mutex_lock
> 1 semaphore_wait_trap
> 1 semaphore_wait_trap
>
> Total number in stack (recursive counted multiple, when >=5):
>
> Sort by top of stack, same collapsed (when >= 5):
> semaphore_timedwait_signal_trap 879
> markAndTrace 543
> updatePointersInRangeFromto 247
> sweepPhase 63
> interpret 8
> updatePointersInRootObjectsFromto 6
> Sample analysis of process 71029 written to file /dev/stdout
>
>
More information about the Squeak-dev
mailing list
|