brocklobstar Posted March 25, 2014 Share Posted March 25, 2014 Howdy all,I had an odd problem that I managed to solve so I wanted to stick something on the interwebs in the hope that it might help someone down the line. System pertinents: CentOS 6.5, x64I had compiled murmur via the instructions found here -> http://mumble.sourceforge.net/BuildingLinux and everything seemed to compile fine. When I went to run murmur I originally got an error to the effect of: murmurd unable to find libprotobuf.so.8. I noticed that libprotobuf had installed into /usr/local/lib which wasn't in my system's library search path, so I just copied them into /usr/lib64/ which solved the issue. Then I got into another odd issue where I would start murmur as suggested: ./murmurd -v -ini /path/to/my/ini . It would tell me that it opened the sqlite database and then immediately exit. So I started it with strace: /usr/bin/strace -o murmurd.strace /path/to/my/murmurd -v -ini /path/to/my/ini which, after loading the libraries and writing some things to the sqlite database I got to: fcntl(12, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0 gettimeofday({1395703649, 599850}, NULL) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f7b69bf8ab0) = 1970 exit_group(0) = ? Those of you who are sharper at *nix debugging will immediately see the problem with my strace command but there's more debugging steps I took that I think may be helpful.I wasn't sure what was going on, so I checked the usual spots in /var/log and saw in /var/log/audit/, /var/log/audit/audit.log had a hint for me type=ANOM_ABEND msg=audit(1395706276.932:223): auid=500 uid=501 gid=501 ses=1 pid=2381 comm="murmurd" sig=6 sigabrts? Heavens! So I started it up with gdb via: /usr/bin/gdb --args /path/to/my/murmurd -v -ini /path/to/my/ini , once gdb loaded it I typed 'r' to run it and it gave me and it told me my program exited normally but it didn't follow the child fork. Ah-ha! So I modified my strace call to be: /usr/bin/strace -f -o murmurd.strace /path/to/my/murmurd -v -ini /path/to/my/ini and re-ran it, this would tell strace to follow any forked processes and hopefully tell me why they were failing. Low and behold I get the following: ... 2381 write(2, "process 2381: ", 14) = 14 2381 write(2, "D-Bus library appears to be inco"..., 206) = 206 2381 write(2, " D-Bus not built with -rdynamic"..., 64) = 64 2381 rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0 2381 tgkill(2381, 2381, SIGABRT) = 0 Ok we're having a problem with DBUS! I checked my installs via sudo yum list installed | grep -i 'dbus' and found that dbus wasn't installed. So I grabbed it via yum. In my Googling the above errors I found that I needed to run dbus-uuidgen > /var/lib/dbus/machine-id in order to fix the error. So I ran that and SHAZAM, it worked. Hopefully this will help someone down the line who decides to compile murmur from source on CentOS and runs into this odd issue. Or someone who runs into a different issue and wants to take some elementary debugging steps to try and track it down. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now