rizsotto / Bear

Bear is a tool that generates a compilation database for clang tooling.
GNU General Public License v3.0
4.97k stars 321 forks source link

bear -- make didn't generate output, compile_commands.json is empty #354

Closed stdbilly closed 3 years ago

stdbilly commented 3 years ago

Describe the bug bear -- make didn't generate output, compile_commands.json is empty, cpu usage is 100%

To Reproduce bear -- make

Expected behavior generate compile_commands.json

Environment:

Additional context

bear --verbose -- make

[16:16:58.065040, br, 3477] bear: 3.0.7
[16:16:58.065091, br, 3477] arguments: ["bear", "--verbose", "--", "make"]
[16:16:58.065117, br, 3477] environment: ["LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.wim=38;5;9:*.swm=38;5;9:*.dwm=38;5;9:*.esd=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.mjpg=38;5;13:*.mjpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.m4a=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.oga=38;5;45:*.opus=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:", "SSH_CONNECTION=192.168.31.56 58735 192.168.31.101 22", "LANG=en_US.UTF-8", "HISTCONTROL=ignoredups", "HOSTNAME=host1.x86-64", "OLDPWD=/root", "ITERM_PREV_PS1=\[
\][\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ \[\]", "XDG_SESSION_ID=1", "USER=root", "ITERM_ORIG_PS1=[\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ ", "PWD=/root/source/nginx-1.18.0", "HOME=/root", "SSH_CLIENT=192.168.31.56 58735 22", "https_proxy=http://127.0.0.1:7890", "http_proxy=http://127.0.0.1:7890", "SSH_TTY=/dev/pts/0", "MAIL=/var/spool/mail/root", "TERM=xterm-256color", "SHELL=/bin/bash", "SHLVL=1", "LOGNAME=root", "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus", "XDG_RUNTIME_DIR=/run/user/0", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin", "PS1=[\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ ", "HISTSIZE=1000", "LESSOPEN=||/usr/bin/lesspipe.sh %s", "_=/usr/local/bin/bear"]
[16:16:58.065129, br, 3477] arguments parsed: {program: bear, arguments: [{--: [make]}, {--citnames: [/usr/local/bin/citnames]}, {--executor: [/usr/local/libexec/er]}, {--interceptor: [/usr/local/bin/intercept]}, {--libexec: [/usr/local/libexec/libexec.so]}, {--output: [compile_commands.json]}, {--verbose: []}, {--wrapper: [/usr/local/libexec/wrapper.d]}]}
[16:16:58.068169, br, 3477] Process spawned. [pid: 3478, command: [/usr/local/bin/intercept, --library, /usr/local/libexec/libexec.so, --executor, /usr/local/libexec/er, --wrapper, /usr/local/libexec/wrapper.d, --output, compile_commands.sqlite3, --verbose, --, make]]
[16:16:58.068198, br, 3477] Process wait requested. [pid: 3478]
[16:16:58.091959, ic, 3478] intercept: 3.0.7
[16:16:58.092005, ic, 3478] arguments: ["/usr/local/bin/intercept", "--library", "/usr/local/libexec/libexec.so", "--executor", "/usr/local/libexec/er", "--wrapper", "/usr/local/libexec/wrapper.d", "--output", "compile_commands.sqlite3", "--verbose", "--", "make"]
[16:16:58.092015, ic, 3478] environment: ["DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus", "HISTCONTROL=ignoredups", "HISTSIZE=1000", "HOME=/root", "HOSTNAME=host1.x86-64", "ITERM_ORIG_PS1=[\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ ", "ITERM_PREV_PS1=\[
\][\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ \[\]", "LANG=en_US.UTF-8", "LESSOPEN=||/usr/bin/lesspipe.sh %s", "LOGNAME=root", "LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.wim=38;5;9:*.swm=38;5;9:*.dwm=38;5;9:*.esd=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.mjpg=38;5;13:*.mjpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.m4a=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.oga=38;5;45:*.opus=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:", "MAIL=/var/spool/mail/root", "OLDPWD=/root", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin", "PS1=[\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ ", "PWD=/root/source/nginx-1.18.0", "SHELL=/bin/bash", "SHLVL=1", "SSH_CLIENT=192.168.31.56 58735 22", "SSH_CONNECTION=192.168.31.56 58735 192.168.31.101 22", "SSH_TTY=/dev/pts/0", "TERM=xterm-256color", "USER=root", "XDG_RUNTIME_DIR=/run/user/0", "XDG_SESSION_ID=1", "_=/usr/local/bin/bear", "http_proxy=http://127.0.0.1:7890", "https_proxy=http://127.0.0.1:7890"]
[16:16:58.092026, ic, 3478] arguments parsed: {program: /usr/local/bin/intercept, arguments: [{--: [make]}, {--executor: [/usr/local/libexec/er]}, {--library: [/usr/local/libexec/libexec.so]}, {--output: [compile_commands.sqlite3]}, {--verbose: []}, {--wrapper: [/usr/local/libexec/wrapper.d]}]}
[16:16:58.092054, ic, 3478] Created library preload session. [library=/usr/local/libexec/libexec.so, executor=/usr/local/libexec/er]
rizsotto commented 3 years ago

Hey @stdbilly , thanks for the report.

file /usr/local/bin/intercept
file /usr/local/bin/citnames
file /usr/local/bin/bear
file /usr/local/libexec/libexec.so
file /usr/local/libexec/er
file /usr/local/libexec/wrapper
ls -l /usr/local/libexec/wrapper.d
stdbilly commented 3 years ago

Hey @stdbilly , thanks for the report.

  • Could send me the output of these commands?
file /usr/local/bin/intercept
file /usr/local/bin/citnames
file /usr/local/bin/bear
file /usr/local/libexec/libexec.so
file /usr/local/libexec/er
file /usr/local/libexec/wrapper
ls -l /usr/local/libexec/wrapper.d
  • http_proxy and https_proxy is set in your environment. Could you try to run without those?
  • Since RedHat might use a more strict SELinux policy than Fedora, you might want to try the wrappers instead of the preload. Could you try to run bear --verbose --force-wrapper -- make
  • "CPU usage is 100%" <- would that be without bear too?
  • Is there a reason why you run the build as root user?

I tried unset http_proxy and https_proxy, run bear --verbose --force-wrapper -- make as a noroot user, it is still the same, the intercept command uses a log cpu resource, on my system selinux is disabled Screen Shot 2021-01-23 at 18 09 12

[root@host1 ~]$ file /usr/local/bin/intercept
/usr/local/bin/intercept: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1e0a110b0f1c27f680fda0819080c58a04be1eb0, not stripped
[root@host1 ~]$ file /usr/local/bin/citnames
/usr/local/bin/citnames: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=e6565f8ec5699d84ff1be8e5454dcb3f686dcdf7, not stripped
[root@host1 ~]$ file /usr/local/bin/bear
/usr/local/bin/bear: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=bc03d4b12c1d72cabfdc1747a0e03318a0a2abb6, not stripped
[root@host1 ~]$ file /usr/local/libexec/libexec.so
/usr/local/libexec/libexec.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bf061b567c1cac020089960709bdd64a637c1996, not stripped
[root@host1 ~]$ file /usr/local/libexec/er
/usr/local/libexec/er: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=aba3d5528e0091214bbe347eedf6ddc30dc65916, not stripped
[root@host1 ~]$ file /usr/local/libexec/wrapper
/usr/local/libexec/wrapper: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=ed19af5830d6e44d08a19ca99846a44fb8ce6d15, not stripped
[root@host1 ~]$ ls -l /usr/local/libexec/wrapper.d
total 0
lrwxrwxrwx 1 root root 10 Jan 20 22:10 ar -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 as -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 bison -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 c++ -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 cc -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 cpp -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 ctangle -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 cweave -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 f77 -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 flex -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 g++ -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 gcc -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 ld -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 lex -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 lint -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 m2c -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 makeinfo -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 nm -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 objcopy -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 objdump -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 pc -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 ranlib -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 readelf -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 strip -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 tangle -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 tex -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 tex2dvi -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 weave -> ../wrapper
lrwxrwxrwx 1 root root 10 Jan 20 22:10 yacc -> ../wrapper
rizsotto commented 3 years ago

I tried unset http_proxy and https_proxy, run bear --verbose --force-wrapper -- make as a noroot user

stdbilly commented 3 years ago

I tried unset http_proxy and https_proxy, run bear --verbose --force-wrapper -- make as a noroot user

  • Could you attach the verbose log here?
  • For curiosity, could you run intercept --verbose -- ls output too?
  • If I won't find anything in those logs, I'll need to reproduce it locally. That will take time to install RedHat on my machine. Please be patient. :)

here is the verbose output

bear --verbose --force-wrapper -- make
[19:07:19.632884, br, 11153] bear: 3.0.7
[19:07:19.632962, br, 11153] arguments: ["bear", "--verbose", "--force-wrapper", "--", "make"]
[19:07:19.632971, br, 11153] environment: ["LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.wim=38;5;9:*.swm=38;5;9:*.dwm=38;5;9:*.esd=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.mjpg=38;5;13:*.mjpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.m4a=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.oga=38;5;45:*.opus=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:", "LANG=en_US.UTF-8", "HISTCONTROL=ignoredups", "HOSTNAME=host1.x86-64", "OLDPWD=/home/whb/source", "USER=whb", "PWD=/home/whb/source/nginx-1.18.0", "HOME=/home/whb", "MAIL=/var/spool/mail/whb", "SHELL=/bin/bash", "TERM=xterm-256color", "SHLVL=1", "LOGNAME=whb", "PATH=/home/whb/.local/bin:/home/whb/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin", "PS1=[\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ ", "HISTSIZE=1000", "LESSOPEN=||/usr/bin/lesspipe.sh %s", "_=/usr/local/bin/bear"]
[19:07:19.632991, br, 11153] arguments parsed: {program: bear, arguments: [{--: [make]}, {--citnames: [/usr/local/bin/citnames]}, {--executor: [/usr/local/libexec/er]}, {--force-wrapper: []}, {--interceptor: [/usr/local/bin/intercept]}, {--libexec: [/usr/local/libexec/libexec.so]}, {--output: [compile_commands.json]}, {--verbose: []}, {--wrapper: [/usr/local/libexec/wrapper.d]}]}
[19:07:19.633374, br, 11153] Process spawned. [pid: 11154, command: [/usr/local/bin/intercept, --library, /usr/local/libexec/libexec.so, --executor, /usr/local/libexec/er, --wrapper, /usr/local/libexec/wrapper.d, --output, compile_commands.sqlite3, --force-wrapper, --verbose, --, make]]
[19:07:19.633415, br, 11153] Process wait requested. [pid: 11154]
[19:07:19.639530, ic, 11154] intercept: 3.0.7
[19:07:19.639601, ic, 11154] arguments: ["/usr/local/bin/intercept", "--library", "/usr/local/libexec/libexec.so", "--executor", "/usr/local/libexec/er", "--wrapper", "/usr/local/libexec/wrapper.d", "--output", "compile_commands.sqlite3", "--force-wrapper", "--verbose", "--", "make"]
[19:07:19.639632, ic, 11154] environment: ["HISTCONTROL=ignoredups", "HISTSIZE=1000", "HOME=/home/whb", "HOSTNAME=host1.x86-64", "LANG=en_US.UTF-8", "LESSOPEN=||/usr/bin/lesspipe.sh %s", "LOGNAME=whb", "LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.wim=38;5;9:*.swm=38;5;9:*.dwm=38;5;9:*.esd=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.mjpg=38;5;13:*.mjpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.m4a=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.oga=38;5;45:*.opus=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:", "MAIL=/var/spool/mail/whb", "OLDPWD=/home/whb/source", "PATH=/home/whb/.local/bin:/home/whb/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin", "PS1=[\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ ", "PWD=/home/whb/source/nginx-1.18.0", "SHELL=/bin/bash", "SHLVL=1", "TERM=xterm-256color", "USER=whb", "_=/usr/local/bin/bear"]
[19:07:19.639643, ic, 11154] arguments parsed: {program: /usr/local/bin/intercept, arguments: [{--: [make]}, {--executor: [/usr/local/libexec/er]}, {--force-wrapper: []}, {--library: [/usr/local/libexec/libexec.so]}, {--output: [compile_commands.sqlite3]}, {--verbose: []}, {--wrapper: [/usr/local/libexec/wrapper.d]}]}
[19:07:19.640133, ic, 11154] session initialized with: wrapper_dir: /usr/local/libexec/wrapper.d
[19:07:19.640146, ic, 11154] session initialized with: mapping: [{ "ar": "/usr/bin/ar" }, { "as": "/usr/bin/as" }, { "c++": "/usr/bin/c++" }, { "cc": "/usr/bin/gcc" }, { "cpp": "/usr/bin/cpp" }, { "g++": "/usr/bin/g++" }, { "gcc": "/usr/bin/gcc" }, { "ld": "/usr/bin/ld.bfd" }, { "nm": "/usr/bin/nm" }, { "objcopy": "/usr/bin/objcopy" }, { "objdump": "/usr/bin/objdump" }, { "ranlib": "/usr/bin/ranlib" }, { "readelf": "/usr/bin/readelf" }, { "strip": "/usr/bin/strip" }]
[19:07:19.640149, ic, 11154] session initialized with: override: []
intercept --verbose -- ls
[19:07:45.125929, ic, 11217] intercept: 3.0.7
[19:07:45.125989, ic, 11217] arguments: ["intercept", "--verbose", "--", "ls"]
[19:07:45.125998, ic, 11217] environment: ["LS_COLORS=rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.wim=38;5;9:*.swm=38;5;9:*.dwm=38;5;9:*.esd=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.mjpg=38;5;13:*.mjpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.m4a=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.oga=38;5;45:*.opus=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:", "SSH_CONNECTION=192.168.31.56 64283 192.168.31.101 22", "LANG=en_US.UTF-8", "HISTCONTROL=ignoredups", "HOSTNAME=host1.x86-64", "ITERM_PREV_PS1=\[
\][\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ \[\]", "XDG_SESSION_ID=5", "USER=root", "ITERM_ORIG_PS1=[\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ ", "PWD=/root", "HOME=/root", "SSH_CLIENT=192.168.31.56 64283 22", "https_proxy=http://127.0.0.1:7890", "http_proxy=http://127.0.0.1:7890", "SSH_TTY=/dev/pts/2", "MAIL=/var/spool/mail/root", "TERM=xterm-256color", "SHELL=/bin/bash", "SHLVL=1", "LOGNAME=root", "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus", "XDG_RUNTIME_DIR=/run/user/0", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin", "PS1=[\[\e[1;35m\]\u\[\e[0m\]@\[\e[1;32m\]\h \[\e[1;34m\]\w\[\e[0m\]]$ ", "HISTSIZE=1000", "LESSOPEN=||/usr/bin/lesspipe.sh %s", "_=/usr/local/bin/intercept"]
[19:07:45.126021, ic, 11217] arguments parsed: {program: intercept, arguments: [{--: [ls]}, {--executor: [/usr/local/libexec/er]}, {--library: [/usr/local/libexec/libexec.so]}, {--output: [commands.sqlite3]}, {--verbose: []}, {--wrapper: [/usr/local/libexec/wrapper.d]}]}
[19:07:45.126055, ic, 11217] Created library preload session. [library=/usr/local/libexec/libexec.so, executor=/usr/local/libexec/er]
rizsotto commented 3 years ago

Thanks @stdbilly !

In both cases the log stops before it starts the gRPC server. (The next log line would be Running gRPC server. [Listening on ....) And because this log line is not appearing, I presume gRPC is failing...

stdbilly commented 3 years ago

Thanks @stdbilly !

In both cases the log stops before it starts the gRPC server. (The next log line would be Running gRPC server. [Listening on ....) And because this log line is not appearing, I presume gRPC is failing...

  • Did you installed gRPC from packages? If yes, what is the version of that package?
  • Did you installed protobuf from packages? If yes, what is the version of that package?
  • Is it possible that you have multiple gRPC libraries are installed on your machine? (One from package, but when Bear builds it downloads it from source if the version is too old.)
  • Could you run ldd /usr/local/bin/intercept for me?

yes I have installed grpc and protobuf, and I only have one grpc libraries

rizsotto commented 3 years ago

Last question before I go for trying to reproduce it on my machine... do you have loopback interface up? (ip a will print everything, I'm just curious about the lo interface)

stdbilly commented 3 years ago

yes I have a loopback interface, but the state is UNKNOWN

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
stdbilly commented 3 years ago

Last question before I go for trying to reproduce it on my machine... do you have loopback interface up? (ip a will print everything, I'm just curious about the lo interface)

I just remove grpc and protobuf, and rebuild Bear from source, it just worked!

rizsotto commented 3 years ago

Happy to hear it worked finally. Shall we close this ticket?