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