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