LINUX.ORG.RU

История изменений

Исправление kott, (текущая версия) :

я не догоняю, если оно не упало, а только где-то поток встал, как показать bt, тупо остановить ctrl-c?

Thread 1 "BespokeSynth" received signal SIGINT, Interrupt.
0x00007f878b5dcfcf in __GI___poll (fds=0x2df9e80, nfds=2, timeout=timeout@entry=2000) at ../sysdeps/unix/sysv/linux/poll.c:29
29        return SYSCALL_CANCEL (poll, fds, nfds, timeout);
(gdb) info thread
  Id   Target Id                                        Frame 
* 1    Thread 0x7f878bf45b00 (LWP 9988) "BespokeSynth"  0x00007f878b5dcfcf in __GI___poll (fds=0x2df9e80, nfds=2, timeout=timeout@entry=2000) at ../sysdeps/unix/sysv/linux/poll.c:29
  2    Thread 0x7f875c497700 (LWP 9994) "Pool"          futex_wait_cancelable (private=0, expected=0, futex_word=0x2e409d4) at ../sysdeps/nptl/futex-internal.h:183
  3    Thread 0x7f875bc96700 (LWP 9995) "JUCE Timer"    futex_abstimed_wait_cancelable (private=0, abstime=0x7f875bc95a50, clockid=1539922352, expected=0, futex_word=0x2e0523c) at ../sysdeps/nptl/futex-internal.h:320
  4    Thread 0x7f875b0df700 (LWP 10308) "BespokeSynth" 0x00007f878b5aefa1 in __GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=0x7f875b0dea60, rem=0x0) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:48
  5    Thread 0x7f8788eb7700 (LWP 10309) "JUCE Timer"   futex_abstimed_wait_cancelable (private=0, abstime=0x7f8788eb6a50, clockid=-1997837888, expected=0, futex_word=0x2e068e8) at ../sysdeps/nptl/futex-internal.h:320
(gdb) thread 2
[Switching to thread 2 (Thread 0x7f875c497700 (LWP 9994))]
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x2e409d4) at ../sysdeps/nptl/futex-internal.h:183
183       int err = lll_futex_timed_wait (futex_word, expected, NULL, private);
(gdb) bt
#0  0x00007f878bae77e2 in futex_wait_cancelable (private=0, expected=0, futex_word=0x2e409d4) at ../sysdeps/nptl/futex-internal.h:183
#1  0x00007f878bae77e2 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x2e40980, cond=0x2e409a8) at pthread_cond_wait.c:508
#2  0x00007f878bae77e2 in __pthread_cond_wait (cond=0x2e409a8, mutex=0x2e40980) at pthread_cond_wait.c:638
#3  0x00007f878b8ead50 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () at /usr/lib64/libstdc++.so.6
#4  0x0000000000f4307b in std::condition_variable::wait<juce::WaitableEvent::wait(int) const::<lambda()> > (__p=..., __lock=..., this=0x2e409a8) at /usr/include/c++/10/condition_variable:108
#5  0x0000000000f4307b in juce::WaitableEvent::wait(int) const (this=this@entry=0x2e40978, timeOutMilliseconds=timeOutMilliseconds@entry=-1) at /usr/share/juce/modules/juce_core/threads/juce_WaitableEvent.cpp:39
#6  0x000000000118281a in juce::OpenGLContext::CachedImage::runJob() (this=0x2e407b0) at /usr/share/juce/modules/juce_opengl/opengl/juce_OpenGLContext.cpp:485
#7  0x0000000000f57276 in juce::ThreadPool::runNextJob(juce::ThreadPool::ThreadPoolThread&) (this=0x2e343c0, thread=...) at /usr/share/juce/modules/juce_core/threads/juce_ThreadPool.cpp:384
#8  0x0000000000f8366f in juce::ThreadPool::ThreadPoolThread::run() (this=0x2e56dd0) at /usr/share/juce/modules/juce_core/threads/juce_ThreadPool.cpp:36
#9  0x0000000000f6cd4c in juce::Thread::threadEntryPoint() (this=0x2e56dd0) at /usr/share/juce/modules/juce_core/threads/juce_Thread.cpp:96
#10 0x0000000000f6cea9 in juce::juce_threadEntryPoint(void*) (userData=<optimized out>) at /usr/share/juce/modules/juce_core/threads/juce_Thread.cpp:118
#11 0x0000000000f6cea9 in juce::threadEntryProc(void*) (userData=<optimized out>) at /usr/share/juce/modules/juce_core/native/juce_posix_SharedCode.h:834
#12 0x00007f878bae0eaa in start_thread (arg=<optimized out>) at pthread_create.c:477
#13 0x00007f878b5e7aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 3
[Switching to thread 3 (Thread 0x7f875bc96700 (LWP 9995))]
#0  futex_abstimed_wait_cancelable (private=0, abstime=0x7f875bc95a50, clockid=1539922352, expected=0, futex_word=0x2e0523c) at ../sysdeps/nptl/futex-internal.h:320
320       int err = lll_futex_clock_wait_bitset (futex_word, expected,
(gdb) bt
#0  0x00007f878bae7e28 in futex_abstimed_wait_cancelable (private=0, abstime=0x7f875bc95a50, clockid=1539922352, expected=0, futex_word=0x2e0523c) at ../sysdeps/nptl/futex-internal.h:320
#1  0x00007f878bae7e28 in __pthread_cond_wait_common (abstime=0x7f875bc95a50, clockid=1539922352, mutex=0x2e051e8, cond=0x2e05210) at pthread_cond_wait.c:520
#2  0x00007f878bae7e28 in __pthread_cond_clockwait (abstime=0x7f875bc95a50, clockid=1539922352, mutex=0x2e051e8, cond=0x2e05210) at pthread_cond_wait.c:677
#3  0x00007f878bae7e28 in __pthread_cond_clockwait (cond=cond@entry=0x2e05210, mutex=0x2e051e8, clockid=1539922352, clockid@entry=1, abstime=abstime@entry=0x7f875bc95a50) at pthread_cond_wait.c:665
#4  0x0000000000f42ff2 in std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::unique_lock<std::mutex>&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) (__lock=..., __lock=..., __atime=..., this=0x2e05210) at /usr/include/c++/10/bits/std_mutex.h:123
#5  0x0000000000f42ff2 in std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::unique_lock<std::mutex>&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&)
    (__atime=..., __lock=..., this=0x2e05210) at /usr/include/c++/10/condition_variable:119
#6  0x0000000000f42ff2 in std::condition_variable::wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long int, std::ratio<1, 1000000000> >, juce::WaitableEvent::wait(int) const::<lambda()> > (__p=..., __atime=..., __lock=..., this=0x2e05210)
    at /usr/include/c++/10/condition_variable:158
#7  0x0000000000f42ff2 in std::condition_variable::wait_for<long int, std::ratio<1, 1000>, juce::WaitableEvent::wait(int) const::<lambda()> > (__rtime=..., __rtime=..., __p=..., __lock=..., this=0x2e05210) at /usr/include/c++/10/condition_variable:185
#8  0x0000000000f42ff2 in juce::WaitableEvent::wait(int) const (this=0x2e051e0, timeOutMilliseconds=<optimized out>) at /usr/share/juce/modules/juce_core/threads/juce_WaitableEvent.cpp:43
#9  0x0000000000fa8812 in juce::Timer::TimerThread::run() (this=0x2e05130) at /usr/share/juce/modules/juce_events/timers/juce_Timer.cpp:88
#10 0x0000000000f6cd4c in juce::Thread::threadEntryPoint() (this=0x2e05130) at /usr/share/juce/modules/juce_core/threads/juce_Thread.cpp:96
#11 0x0000000000f6cea9 in juce::juce_threadEntryPoint(void*) (userData=<optimized out>) at /usr/share/juce/modules/juce_core/threads/juce_Thread.cpp:118
#12 0x0000000000f6cea9 in juce::threadEntryProc(void*) (userData=<optimized out>) at /usr/share/juce/modules/juce_core/native/juce_posix_SharedCode.h:834
#13 0x00007f878bae0eaa in start_thread (arg=<optimized out>) at pthread_create.c:477
#14 0x00007f878b5e7aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Исходная версия kott, :

я не догоняю, если оно не упало, а только где-то поток встал, как показать bt?