siemens / codeface

Codeface is a framework for analysing technical and social aspects of software development
siemens.github.io/codeface
GNU General Public License v2.0
67 stars 38 forks source link

Analysis fails with "bad config file..." error #61

Closed double-blindness closed 7 years ago

double-blindness commented 7 years ago

When analyzing qemu using the proximity based analysis, the analysis fails with the following log output. It seems that its complaining about the git repository config file (git-repo/.git/config).

2017-09-28 02:01:11 [codeface.VCS] Process-10 DEBUG: Could not parse Signed-off like line: 2017-09-28 02:01:11 [codeface.VCS] Process-10 DEBUG: git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5985 c046a42c-6fe2-441c-8c8c-71466251a162 2017-09-28 02:01:11 [codeface.util] Process-10 DEBUG: Running command: git --git-dir=/vagrant/git/qemu/.git show --format=full --shortstat --numstat f5d6f51ba66aad038f1bc4436582761015838438 2017-09-28 02:01:11 [codeface.util] Process-15 DEBUG: Running command: git --git-dir=/vagrant/git/qemu/.git show --format=full --shortstat --numstat aecf13769852a4e14b51e8403860b18871826298 2017-09-28 02:01:11 [codeface.util] Process-5 DEBUG: Running command: git --git-dir=/vagrant/git/qemu/.git log --no-merges -M -C --pretty=format:%ct %H %at %ai d6c05bbf29a40c531830e3968491f876328bb08f..39a5235cd7f367cce7be7b3f4d258452452e38e3 -- target-i386/translate.c 2017-09-28 02:01:11 [codeface.util] Process-10 INFO: Command 'git --git-dir=/vagrant/git/qemu/.git show --format=full --shortstat --numstat f5d6f51ba66aad038f1bc4436582761015838438' stdout: 2017-09-28 02:01:11 [codeface.util] Process-10 INFO: Command 'git --git-dir=/vagrant/git/qemu/.git show --format=full --shortstat --numstat f5d6f51ba66aad038f1bc4436582761015838438' stderr: 2017-09-28 02:01:11 [codeface.util] Process-10 INFO: fatal: bad config file line 12 in /vagrant/git/qemu/.git/config 2017-09-28 02:01:11 [codeface.util] Process-10 ERROR: Command 'git --git-dir=/vagrant/git/qemu/.git show --format=full --shortstat --numstat f5d6f51ba66aad038f1bc4436582761015838438' failed with exit code 128. (stdout: stderr: fatal: bad config file line 12 in /vagrant/git/qemu/.git/config )

wolfgangmauerer commented 7 years ago

Can you please post the content of .git/config? This looks like a problem with the git configuration file, which then propagates upwards.

double-blindness commented 7 years ago

Here is the config file. Strangely, It don't see any issue with it and the weird thing is when I run the git command that produces the error in the code ("git --git-dir=/vagrant/git/qemu/.git show --format=full --shortstat --numstat f5d6f51ba66aad038f1bc4436582761015838438") it executes fine on the command line.

config.txt

wolfgangmauerer commented 7 years ago

The config file looks indeed fine. Curious. What's your HEAD revision so that I can try to reproduce the issue locally?

double-blindness commented 7 years ago

I've cloned the repository yesterday (31bc1d8481af414cfa2857f905e40f7d8e6d5b2e). The failure also seems to be random (fails on different commits each time) and I've only been able to reproduce the error when running codeface with multi-threaded analysis (15 threads). Hope that helps.

wolfgangmauerer commented 7 years ago

With the current vagrant setup, I could not reproduce the issue in two multi-core runs (8 and 15 threads), they both went through fine. Are you using the latest vagrant image, or is it an older one? Which version of git is installed in the container? My setup has 1.9.1.

double-blindness commented 7 years ago

Im using the following: vagrant: 1.8.4 (latest for ubuntu 16.04 repositories but Ill install the latest from the vagrant site) Codeface: latest version Vagrant image: '20170803.0.0' (im now updating to a september version) Git: 1.9.1

wolfgangmauerer commented 7 years ago

These versions all seem fine, and another nightly run on another test setup did also not reveal any problems. Which would indicate that the problem is caused by the infrastructure. Is there anything unusual about that in the setup? Is perhaps the git repo accessible via a networked drive (vagrant to host) in any form? Do things vary if you change the number of threads (for instance to 8)?

double-blindness commented 7 years ago

The git repository is located on the host and I'm using synced folders. So have I understood correctly that you don't use synced folders?

wolfgangmauerer commented 7 years ago

I store the git repo in the vagrant home dir inside the vagrant container. Can you please clone the repo inside the VM, and then make another test run? Just to make sure, please also write the results to a local folder inside the VM to avoid any interference from shared folders.

wolfgangmauerer commented 7 years ago

Any updates on this - did using only local resources help?

double-blindness commented 7 years ago

I havn't had time to rerun the analysis on the exact project I was having problems with but I have analyzed several other projects using local resources without experiencing issues with this. Perhaps it was just an issue with try to access resources using sync folders.

Thanks!