2016-09-15 3 views
5

Un processus Python est suspendu dans futex():Voir stacktrace de la pendaison Python futex (..., FUTEX_WAIT_BITSET_PRIVATE | ...)

[email protected]:~# strace -p 9042 
strace: Process 9042 attached 
futex(0x1e61900, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, ffffffff 

Je veux voir le stacktrace si le processus de suspension.

Malheureusement ctrl-c ne fonctionne pas :-(

Comment puis-je voir le stacktrace si Python est suspendu comme ça?

+0

attach Juste gdb au processus, ou d'exécuter pstack si vous avez installé. Ou 'kill -SEGV' le processus et examiner le noyau, si vous n'avez pas besoin de le garder en vie. – Useless

+0

@Useless Je veux voir la stacktrace du code python. Pas la pile de l'interpréteur Python (code c). J'ai regardé pstack, AFAIK pstack imprime ce dernier. – guettli

Répondre

4
  1. installer les extensions python gdb si nécessaire pour votre système (voir here pour par exemple, ou consultez la documentation de votre distro)
  2. attach gdb à votre processus accroché
  3. course

    (gdb) py-bt 
    

    au lieu de bt régulière pour obtenir le Python BACKTRACE

+0

Après avoir fait les commandes 'ln -s ...' d'une autre réponse, et exécuté gdb en tant que root cela a fonctionné. Voici l'autre réponse: http://stackoverflow.com/a/30430059/633961 – guettli