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