Outils pour utilisateurs

Outils du site


Panneau latéral

linux:debug (lu 14318 fois)

Debug

commande pour voir ce qui se passe dans un process

First find the rserver process-id.

ps auxw | grep studio
rstudio-server       7035  0.0  0.0 362488  4480 ?        Ssl  16:37   0:01 /usr/local/lib/rstudio-server/bin/rserver

Note the second number that appears on the output of a row containing the string rstudio-server/bin/rserver. In the case above the process-id is 7035.

Then trace rserver sending the output to a file. The number after -p should be the rserver process-id. The funky -e option is used to cut-down noise from Java’s thread management.

sudo strace -f -e 'trace=!clock_gettime,gettimeofday,futex,timerfd_settime,epoll_wait,epoll_ctl' -p 7035 -o trace.txt

Login and wait for the error message to appear.

Stop the tracing by pressing ctrl-c.

Open the file with your favourite editor, and search for the string exit_group.

The lines above it are likely to indicate the error in rsession. In my case it was a symbolic link from .rstudio to a missing directory.

7529  mkdir("/home/dds/.rstudio", 0777) = -1 EEXIST (File exists)
7529  stat("/home/dds/.rstudio", 0x7ffff37419b0) = -1 ENOENT (No such file or directory)
7529  write(2, "07 Feb 2015 16:46:53 [rsession-d"..., 395) = 395
7529  sendto(3, "<11>Feb  7 16:46:53 rsession-dds"..., 398, MSG_NOSIGNAL, NULL, 0) = 398
7529  exit_group(1) 
linux/debug.txt · Dernière modification: 30-03-2021 11:01 de edmc73