[Psi-devel] Sample of hanged Psi on Mac OS X

Michail Pishchagin mblsha at gmail.com
Sat Jun 2 03:46:28 PDT 2007


Which was built on 27th of May (there are also numerous spawned gpg  
processes):

Analysis of sampling pid 12714 every 10.000000 milliseconds
Call graph:
     271 Thread_0f07
       271 start
         271 _start
           271 main
             271 QCoreApplication::exec()
               271 QEventLoop::exec 
(QFlags<QEventLoop::ProcessEventsFlag>)
                 271 QEventLoop::processEvents 
(QFlags<QEventLoop::ProcessEventsFlag>)
                   271 QEventDispatcherMac::processEvents 
(QFlags<QEventLoop::ProcessEventsFlag>)
                     271 QCoreApplication::sendPostedEvents(QObject*,  
int)
                       271 PsiApplication::notify(QObject*, QEvent*)
                         271 QApplication::notify(QObject*, QEvent*)
                           271 QApplicationPrivate::notify_helper 
(QObject*, QEvent*)
                             271 QObject::event(QEvent*)
                               271  
gpgQCAPlugin::QProcessSignalRelay::qt_metacall(QMetaObject::Call,  
int, void**)
                                 271  
gpgQCAPlugin::QProcessSignalRelay::proc_finished(int)
                                   271  
gpgQCAPlugin::QProcessSignalRelay::finished(int)
                                     271 QMetaObject::activate 
(QObject*, int, int, void**)
                                       271  
gpgQCAPlugin::GPGProc::Private::qt_metacall(QMetaObject::Call, int,  
void**)
                                         271  
gpgQCAPlugin::GPGProc::Private::proc_finished(int)
                                           271  
gpgQCAPlugin::GPGProc::Private::doTryDone()
                                             271  
gpgQCAPlugin::GPGProc::finished(int)
                                               271  
QMetaObject::activate(QObject*, int, int, void**)
                                                 271  
gpgQCAPlugin::GpgAction::qt_metacall(QMetaObject::Call, int, void**)
                                                   271  
gpgQCAPlugin::GpgAction::proc_finished(int)
                                                     271  
gpgQCAPlugin::GpgAction::processResult(int)
                                                       271  
gpgQCAPlugin::GpgAction::finished()
                                                         271  
QMetaObject::activate(QObject*, int, int, void**)
                                                           271  
gpgQCAPlugin::GpgOp::Private::qt_metacall(QMetaObject::Call, int,  
void**)
                                                             271  
gpgQCAPlugin::GpgOp::Private::act_finished()
                                                               271  
gpgQCAPlugin::GpgOp::finished()
                                                                 271  
QMetaObject::activate(QObject*, int, int, void**)
                                                                    
271 gpgQCAPlugin::MyMessageContext::qt_metacall(QMetaObject::Call,  
int, void**)
                                                                      
271 gpgQCAPlugin::MyMessageContext::gpg_finished()
                                                                       2 
71 gpgQCAPlugin::MyMessageContext::complete()
                                                                         
  271 gpgQCAPlugin::publicKeyFromId(QString const&, QCA::Provider*)
                                                                         
    271 gpgQCAPlugin::GpgOp::waitForEvent(int)
                                                                         
      271 QCA::Synchronizer::waitForCondition(int)
                                                                         
        271 QCA::Synchronizer::Private::waitForCondition(int)
                                                                         
          271 QWaitCondition::wait(QMutex*, unsigned long)
                                                                         
            271 semaphore_wait_signal_trap
                                                                         
              271 semaphore_wait_signal_trap
     271 Thread_1003
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::SyncThread::run()
             271 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
               271 QEventLoop::processEvents 
(QFlags<QEventLoop::ProcessEventsFlag>)
                 271 QEventDispatcherUNIX::processEvents 
(QFlags<QEventLoop::ProcessEventsFlag>)
                   271 QEventDispatcherUNIXPrivate::doSelect 
(QFlags<QEventLoop::ProcessEventsFlag>, timeval*)
                     271 select
                       271 select
     271 Thread_1103
       271 _pthread_body
         271 select
           271 select
     271 Thread_1203
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 select
             271 select
     271 Thread_1303
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1403
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1503
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1603
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1703
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1803
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1903
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1a03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1b03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1c03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1d03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1e03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_1f03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2003
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2103
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2203
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2303
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2403
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2503
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2603
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2703
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2803
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2903
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2a03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2b03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2c03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2d03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2e03
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_2f03
       271 _pthread_body
         271 PrivateMPEntryPoint
           271 kevent
             271 kevent
     271 Thread_3003
       271 _pthread_body
         271 PrivateMPEntryPoint
           271 TNodeSyncTask::SyncTaskProc(void*)
             271 MPWaitOnQueue
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_3103
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_3203
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_3303
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QWaitCondition::wait(QMutex*, unsigned long)
               271 semaphore_wait_signal_trap
                 271 semaphore_wait_signal_trap
     271 Thread_3403
       271 _pthread_body
         271 QThreadPrivate::start(void*)
           271 QCA::Synchronizer::Private::run()
             271 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
               271 QEventLoop::processEvents 
(QFlags<QEventLoop::ProcessEventsFlag>)
                 271 QEventDispatcherUNIX::processEvents 
(QFlags<QEventLoop::ProcessEventsFlag>)
                   271 QEventDispatcherUNIXPrivate::doSelect 
(QFlags<QEventLoop::ProcessEventsFlag>, timeval*)
                     271 select
                       271 select

Total number in stack (recursive counted multiple, when >=5):
         37       _pthread_body
         34       QThreadPrivate::start(void*)
         33       semaphore_wait_signal_trap
         32       QCA::Synchronizer::Private::run()
         32       QWaitCondition::wait(QMutex*, unsigned long)

Sort by top of stack, same collapsed (when >= 5):
         semaphore_wait_signal_trap        8943
         select        1084
         kevent        271
Sample analysis of process 12714 written to file /dev/stdout
Sampling process 12714 each 10 msecs 300 times



More information about the psi-devel mailing list