git status --porcelain command started repeatedly #1170

Closed
stuckless opened this Issue Feb 1, 2013 · 30 comments

Comments

Projects
None yet
6 participants

Ubuntu 12.10 32bit running SparkleShare 1.0

A randome times, i notice my computer is starting to act sluggish and I do a top and I see "mono" consuming 150-200% cpu and when I check the sparkleshare log I see 1000s of git status --porcelain commands. There is nothing else in the logs except for normal updates, and then 1000s of git status --porcelain commands and they keep on coming at a rate of about 2 a second.

When I issue a restart, it seems to fix the issue, temporarily.

Owner

hbons commented Feb 9, 2013

when this happens again, can you go into the affected folder, run git status --porcelain and give me the output?

It's actually been acting very well these past few days, but when it
happens again, I'll post the output. Thanks.

On Sat, Feb 9, 2013 at 6:31 PM, Hylke Bons notifications@github.com wrote:

when this happens again, can you go into the affected folder, run git
status --porcelain and give me the output?


Reply to this email directly or view it on GitHubhttps://github.com/hbons/SparkleShare/issues/1170#issuecomment-13341042..

Owner

hbons commented Feb 9, 2013

the debug log would be nice as well, but this requires noticing the problem in time, as old log lines are truncated after 500 lines...

Yeah, the only thing usually left in my log by the time I notice it is
1000s of lines of...
13:57:42 | Cmd | INCUBATOR | git status --porcelain

:(

On Sat, Feb 9, 2013 at 6:46 PM, Hylke Bons notifications@github.com wrote:

the debug log would be nice as well, but this requires noticing the
problem in time, as old log lines are truncated after 500 lines...


Reply to this email directly or view it on GitHubhttps://github.com/hbons/SparkleShare/issues/1170#issuecomment-13341340..

Mono is running at 180% cpu

git status --porcelain

Doesn't return anything.

My current log file looks like this...
17:47:10 | Cmd | PHOENIX | git status --porcelain
17:47:11 | Cmd | PHOENIX | git status --porcelain
17:47:11 | Cmd | PHOENIX | git status --porcelain
17:47:12 | Cmd | PHOENIX | git status --porcelain
[...]
17:55:15 | Cmd | PHOENIX | git status --porcelain
17:55:15 | Cmd | PHOENIX | git status --porcelain
17:55:16 | Cmd | PHOENIX | git status --porcelain
17:55:17 | Cmd | PHOENIX | git status --porcelain
17:55:17 | Cmd | PHOENIX | git status --porcelain
17:55:18 | Cmd | PHOENIX | git status --porcelain
17:55:18 | Cmd | TVPROJECTS | git status --porcelain
17:55:18 | Cmd | TVPROJECTS | git status --porcelain
17:55:19 | Git | INCUBATOR | Checking for remote changes...
17:55:19 | Cmd | INCUBATOR | git rev-parse HEAD
17:55:19 | Cmd | INCUBATOR | git ls-remote --heads --exit-code "ssh://
storage@192.168.1.10/home/storage/INCUBATOR" master
17:55:19 | Cmd | PHOENIX | git status --porcelain
17:55:19 | Git | INCUBATOR | No remote changes, local+remote:
7f4fc97b7a577f78334bd746b01d67431b8ca7ec
17:55:20 | Cmd | PHOENIX | git status --porcelain
17:55:20 | Git | PHOENIX | Checking for remote changes...
17:55:20 | Cmd | PHOENIX | git rev-parse HEAD
17:55:20 | Cmd | PHOENIX | git ls-remote --heads --exit-code "ssh://
storage@192.168.1.10/home/storage/PHOENIX" master
17:55:20 | Cmd | PHOENIX | git status --porcelain
17:55:20 | Git | TVPROJECTS | Checking for remote changes...
17:55:20 | Cmd | TVPROJECTS | git rev-parse HEAD
17:55:20 | Cmd | TVPROJECTS | git ls-remote --heads --exit-code "ssh://
storage@192.168.1.10/home/storage/TVPROJECTS" master
17:55:20 | Git | PHOENIX | No remote changes, local+remote:
fae280cdfd03138b80d386bd93c8250f30c6e45b
17:55:21 | Cmd | TVPROJECTS | git status --porcelain
17:55:21 | Cmd | TVPROJECTS | git status --porcelain
17:55:21 | Cmd | TVPROJECTS | git status --porcelain
17:55:21 | Cmd | TVPROJECTS | git status --porcelain
17:55:21 | Cmd | TVPROJECTS | git status --porcelain
17:55:21 | Git | TVPROJECTS | No remote changes, local+remote:
6ff3a32b1bb83b3bd29561b608e655d16c9e7cc7
17:55:21 | Cmd | TVPROJECTS | git status --porcelain
17:55:21 | Cmd | PHOENIX | git status --porcelain
17:55:21 | Cmd | TVPROJECTS | git status --porcelain
17:55:22 | Cmd | TVPROJECTS | git status --porcelain
17:55:22 | Cmd | TVPROJECTS | git status --porcelain
17:55:22 | Cmd | TVPROJECTS | git status --porcelain
17:55:22 | Cmd | TVPROJECTS | git status --porcelain
17:55:22 | Cmd | TVPROJECTS | git status --porcelain
17:55:22 | Cmd | TVPROJECTS | git status --porcelain
17:55:22 | Cmd | PHOENIX | git status --porcelain
17:55:22 | Cmd | TVPROJECTS | git status --porcelain
17:55:23 | Cmd | TVPROJECTS | git status --porcelain
17:55:23 | Cmd | TVPROJECTS | git status --porcelain
17:55:23 | Cmd | TVPROJECTS | git status --porcelain
17:55:23 | Cmd | TVPROJECTS | git status --porcelain
17:55:23 | Cmd | TVPROJECTS | git status --porcelain
17:55:23 | Cmd | TVPROJECTS | git status --porcelain
17:55:23 | Cmd | PHOENIX | git status --porcelain
17:55:23 | Cmd | TVPROJECTS | git status --porcelain
17:55:23 | Cmd | TVPROJECTS | git status --porcelain
17:55:24 | Cmd | TVPROJECTS | git status --porcelain
17:55:24 | Cmd | TVPROJECTS | git status --porcelain
17:55:24 | Cmd | TVPROJECTS | git status --porcelain
17:55:24 | Cmd | TVPROJECTS | git status --porcelain
17:55:24 | Cmd | TVPROJECTS | git status --porcelain
17:55:24 | Cmd | PHOENIX | git status --porcelain
17:55:24 | Cmd | TVPROJECTS | git status --porcelain
17:55:24 | Cmd | TVPROJECTS | git status --porcelain
17:55:25 | Cmd | TVPROJECTS | git status --porcelain
17:55:25 | Cmd | TVPROJECTS | git status --porcelain
17:55:25 | Cmd | TVPROJECTS | git status --porcelain
17:55:25 | Cmd | TVPROJECTS | git status --porcelain
17:55:25 | Cmd | TVPROJECTS | git status --porcelain
17:55:25 | Cmd | TVPROJECTS | git status --porcelain
17:55:25 | Cmd | PHOENIX | git status --porcelain
17:55:25 | Cmd | TVPROJECTS | git status --porcelain
17:55:25 | Cmd | TVPROJECTS | git status --porcelain
17:55:26 | Cmd | TVPROJECTS | git status --porcelain
17:55:26 | Cmd | TVPROJECTS | git status --porcelain
17:55:26 | Cmd | TVPROJECTS | git status --porcelain
17:55:26 | Cmd | TVPROJECTS | git status --porcelain
17:55:26 | Cmd | TVPROJECTS | git status --porcelain
17:55:26 | Cmd | TVPROJECTS | git status --porcelain
17:55:26 | Cmd | PHOENIX | git status --porcelain
17:55:27 | Cmd | TVPROJECTS | git status --porcelain
17:55:27 | Cmd | TVPROJECTS | git status --porcelain
17:55:27 | Cmd | TVPROJECTS | git status --porcelain
17:55:27 | Cmd | TVPROJECTS | git status --porcelain
17:55:27 | Cmd | TVPROJECTS | git status --porcelain
17:55:27 | Cmd | TVPROJECTS | git status --porcelain
17:55:28 | Cmd | TVPROJECTS | git status --porcelain
17:55:28 | Cmd | PHOENIX | git status --porcelain
17:55:28 | Cmd | TVPROJECTS | git status --porcelain
17:55:28 | Cmd | TVPROJECTS | git status --porcelain
17:55:28 | Cmd | TVPROJECTS | git status --porcelain
17:55:28 | Cmd | TVPROJECTS | git status --porcelain
17:55:28 | Cmd | TVPROJECTS | git status --porcelain
17:55:28 | Cmd | TVPROJECTS | git status --porcelain
17:55:29 | Cmd | TVPROJECTS | git status --porcelain
17:55:29 | Cmd | PHOENIX | git status --porcelain
17:55:29 | Cmd | TVPROJECTS | git status --porcelain
17:55:29 | Cmd | TVPROJECTS | git status --porcelain
17:55:29 | Cmd | TVPROJECTS | git status --porcelain
17:55:29 | Cmd | TVPROJECTS | git status --porcelain
17:55:29 | Cmd | TVPROJECTS | git status --porcelain
17:55:30 | Cmd | TVPROJECTS | git status --porcelain
17:55:30 | Cmd | TVPROJECTS | git status --porcelain
17:55:30 | Cmd | TVPROJECTS | git status --porcelain
17:55:30 | Cmd | PHOENIX | git status --porcelain
17:55:30 | Cmd | TVPROJECTS | git status --porcelain
17:55:30 | Cmd | TVPROJECTS | git status --porcelain
17:55:30 | Cmd | TVPROJECTS | git status --porcelain
17:55:30 | Cmd | TVPROJECTS | git status --porcelain
17:55:30 | Cmd | TVPROJECTS | git status --porcelain
17:55:31 | Cmd | TVPROJECTS | git status --porcelain
17:55:31 | Cmd | TVPROJECTS | git status --porcelain
17:55:31 | Cmd | PHOENIX | git status --porcelain
17:55:31 | Cmd | TVPROJECTS | git status --porcelain
17:55:31 | Cmd | TVPROJECTS | git status --porcelain
17:55:31 | Cmd | TVPROJECTS | git status --porcelain
17:55:31 | Cmd | TVPROJECTS | git status --porcelain
17:55:31 | Cmd | TVPROJECTS | git status --porcelain
17:55:32 | Cmd | TVPROJECTS | git status --porcelain
17:55:32 | Cmd | TVPROJECTS | git status --porcelain
17:55:32 | Cmd | TVPROJECTS | git status --porcelain
17:55:32 | Cmd | PHOENIX | git status --porcelain
17:55:32 | Cmd | TVPROJECTS | git status --porcelain
17:55:32 | Cmd | TVPROJECTS | git status --porcelain
17:55:32 | Cmd | TVPROJECTS | git status --porcelain
17:55:32 | Cmd | TVPROJECTS | git status --porcelain
17:55:33 | Cmd | TVPROJECTS | git status --porcelain
17:55:33 | Cmd | TVPROJECTS | git status --porcelain
17:55:33 | Cmd | TVPROJECTS | git status --porcelain
17:55:33 | Cmd | TVPROJECTS | git status --porcelain
17:55:33 | Cmd | PHOENIX | git status --porcelain
17:55:33 | Cmd | TVPROJECTS | git status --porcelain
17:55:33 | Cmd | TVPROJECTS | git status --porcelain
17:55:33 | Cmd | TVPROJECTS | git status --porcelain
17:55:34 | Cmd | TVPROJECTS | git status --porcelain
17:55:34 | Cmd | TVPROJECTS | git status --porcelain
17:55:34 | Cmd | TVPROJECTS | git status --porcelain
17:55:34 | Cmd | TVPROJECTS | git status --porcelain
17:55:34 | Cmd | PHOENIX | git status --porcelain
17:55:34 | Cmd | TVPROJECTS | git status --porcelain
17:55:34 | Cmd | TVPROJECTS | git status --porcelain
17:55:35 | Cmd | TVPROJECTS | git status --porcelain
17:55:35 | Cmd | TVPROJECTS | git status --porcelain
17:55:35 | Cmd | TVPROJECTS | git status --porcelain
17:55:35 | Cmd | TVPROJECTS | git status --porcelain
17:55:35 | Cmd | TVPROJECTS | git status --porcelain
17:55:35 | Cmd | PHOENIX | git status --porcelain
17:55:35 | Cmd | TVPROJECTS | git status --porcelain
17:55:36 | Cmd | TVPROJECTS | git status --porcelain
17:55:36 | Cmd | TVPROJECTS | git status --porcelain
17:55:36 | Cmd | TVPROJECTS | git status --porcelain
17:55:36 | Cmd | TVPROJECTS | git status --porcelain
17:55:36 | Cmd | TVPROJECTS | git status --porcelain
17:55:36 | Cmd | TVPROJECTS | git status --porcelain
17:55:36 | Cmd | PHOENIX | git status --porcelain
17:55:36 | Cmd | TVPROJECTS | git status --porcelain
17:55:37 | Cmd | PHOENIX | git status --porcelain
17:55:38 | Cmd | PHOENIX | git status --porcelain

On Sat, Feb 9, 2013 at 6:51 PM, Sean Stuckless sean.stuckless@gmail.comwrote:

Yeah, the only thing usually left in my log by the time I notice it is
1000s of lines of...
13:57:42 | Cmd | INCUBATOR | git status --porcelain

:(

On Sat, Feb 9, 2013 at 6:46 PM, Hylke Bons notifications@github.comwrote:

the debug log would be nice as well, but this requires noticing the
problem in time, as old log lines are truncated after 500 lines...


Reply to this email directly or view it on GitHubhttps://github.com/hbons/SparkleShare/issues/1170#issuecomment-13341340..

Owner

hbons commented Feb 11, 2013

so what was going on when this happened? did you make any changes or was it receiving changes?

Owner

hbons commented Feb 11, 2013

did you add any git repositories to SparkleShare?

When this happens, it's usually always as a result of my making changes.
These folders are imported into Eclipse as Projects, and so sometimes when
I do a full rebuild of multiple projects, there might be some modified
files (I most output files to git ignore). To give you some idea of the
amount of changes... when I look at the "recent changes" in sparkleshare
there are only about 75 changes for yesterday.

You asked if I had any "git" repositories added to sparkleshare? I do have
one Sparkleshare area on the server, with a git repository inside of it.
(ie, I created a sparkleshare project using dazzle, and then from a
client, I copied the contents of a git project that I checked out from
github into there. But I no longer have that sparkleshare project checked
out on my desktop. The other 3 sparkleshare projects (created using
dazzle), are just normal projects, with the exception of one, that contains
subversion projects.

I can probably generate a filelist of my SparkleShare folder on my desktop,
if you think that might help?

On Mon, Feb 11, 2013 at 4:23 AM, Hylke Bons notifications@github.comwrote:

did you add any git repositories to SparkleShare?


Reply to this email directly or view it on GitHubhttps://github.com/hbons/SparkleShare/issues/1170#issuecomment-13372826..

Owner

hbons commented Feb 11, 2013

alright. i asked because there seemed to be an issue sometimes when you tried to sync a git repo by putting it into a SparkleShare watched folder, but this doesn't seem to be the issue for you.

Owner

hbons commented Feb 11, 2013

looking at the log, your "TVPROJECTS" project also goes off into this loop when checking for remote changes, not when there are local changes.

Owner

hbons commented Feb 11, 2013

trying to find the issue in the code, i realised a lot of the algorithm has changed since 1.0. can you try compiling from master and see if the problem persists?

I'll rebuild from github tonight and I'll followup if the issue still
persists. Thanks.

On Mon, Feb 11, 2013 at 8:13 AM, Hylke Bons notifications@github.comwrote:

trying to find the issue in the code, i realised a lot of the algorithm
has changed since 1.0. can you try compiling from master and see if the
problem persists?


Reply to this email directly or view it on GitHubhttps://github.com/hbons/SparkleShare/issues/1170#issuecomment-13379431..

Owner

hbons commented Feb 22, 2013

maybe it's a bit early to ask, but did this happen again?

So far no.... but, in the last week or so, I've done very little on the projects managed by sparkelshare. I'm hoping to get back to them this weekend.

Ok... I started to use SparleShare again (working on some code in Eclipse) and just recently I noticed the fan on my computer making more nose than usual... after checking top MONO is runing at 100% cpu :(

I'm running latest from git (shows 1.1 in the About box)

My recent log entries are...
16:01:42 | Cmd | PHOENIX | git status --porcelain
16:01:42 | Cmd | PHOENIX | git status --porcelain
16:01:43 | Cmd | PHOENIX | git status --porcelain
16:01:43 | Cmd | PHOENIX | git status --porcelain
16:01:44 | Cmd | PHOENIX | git status --porcelain
16:01:45 | Cmd | PHOENIX | git status --porcelain
16:01:45 | Cmd | PHOENIX | git status --porcelain16:06:44 | Cmd | PHOENIX | git status --porcelain
16:06:44 | Cmd | PHOENIX | git status --porcelain
16:06:45 | Cmd | PHOENIX | git status --porcelain
16:06:45 | Cmd | PHOENIX | git status --porcelain

njoyard commented Feb 25, 2013

@hbons isn't there an easy way of making a memory dump from a running mono assembly and getting a stack trace ? That would certainly make this easier to spot...

xaiki commented Mar 10, 2013

I had the same issue when importing my git-annex tree into sparkleshare.
runing git status on the repo did the same thing.

it had something to do with links to .git/ and submodules, but can't remember exactly now.

Owner

hbons commented Mar 10, 2013

@njoyard i've no idea how to do this. if anyone could, that would be great.

Owner

hbons commented May 29, 2013

does this still happen with 1.1?

I haven't updated to 1.1 (officially yet)... I've been running a build that I compiled from github about 30 days ago... it still happens with that 30 day old build as well. I'll try updating to the latest and see if the problem is still there.

Contributor

eighthave commented Jun 3, 2013

I have just encountered this issue also. Here's what happened:

  1. I made a handful of changes to some images and folder names
  2. it was uploading
  3. someone else changed the name of the root folder where all the changes I made were

CPU usage hovered around 50% and the sync status stuck at 99%. It was making a new conflict file each minute. The debug log showed lots of git status --porcelain commands being run. Attached are the relevant logs:
https://gist.github.com/eighthave/5701333

I'm on Ubuntu/precise/amd64 using SparkleShare v.1.0+git_0bf4a061c34d95c2a1f4bcc3c4ead46ab258363f from 2013-05-18 built from git.

Contributor

eighthave commented Jun 3, 2013

@hbons Actually, come to think of it, I could probably set you up with the whole git setup. I could fork the repo on github, and send you a zip of my local repo so you can this running on your own machine.

Owner

hbons commented Jun 3, 2013

@eighthave that could be useful. can you also try to compile from current master? i landed some important fixes right after the date of your Ubuntu package from git.

Owner

hbons commented Jun 22, 2013

@stuckless wondering if this still happens for you. did you get a chance to test more?

It's happening less... but to be honest, I'm using it less (not that I'm
giving up on it... I just took a break for a couple weeks). It happened
about a week ago... but I just did another git pull so I'll keep an eye on
it and see if there's a change. thx.

On Sat, Jun 22, 2013 at 5:50 PM, Hylke Bons notifications@github.comwrote:

@stuckless https://github.com/stuckless wondering if this still happens
for you. did you get a chance to test more?


Reply to this email directly or view it on GitHubhttps://github.com/hbons/SparkleShare/issues/1170#issuecomment-19865318
.

Owner

hbons commented Jun 27, 2013

@stuckless ok, does it show more debug information now when it happens?

@hbons - I've been using it fairly often over the last couple of days
(using the latest from git) and so far I haven't seen any CPU spikes. I'm
ok if you close this out, and IF it comes back, I'll touch base with you
again.

On Thu, Jun 27, 2013 at 12:34 PM, Hylke Bons notifications@github.comwrote:

@stuckless https://github.com/stuckless ok, does it show more debug
information now when it happens?


Reply to this email directly or view it on GitHubhttps://github.com/hbons/SparkleShare/issues/1170#issuecomment-20136226
.

Owner

hbons commented Jun 29, 2013

i'm keeping this open for now as this is a pretty serious issue and i'm not sure if it has been fixed. it could be related to #1154.

i'm not sure @eighthave's problem is the same one, though it looks similar. there seems to be a problem with files being moved when trying to resolve a conflict there. i've pushed a commit that checks for this and doesn't move the files when there is a problem.

master now has much more debug information as well, so we can get to the cause of this.

Owner

hbons commented Oct 9, 2013

let me know and reopen if this hasn't improved with 1.2. if it still happens there we'll at least have better debug info.

hbons closed this Oct 9, 2013

I'm still seeing this issue with Ubuntu 15.04's package, 1.2-0.1ubuntu1. It runs a continuous loop starting with "git status --porcelain", containing a lot of "Don't know what to do with" errors for conflicts, and finally ending with "Failed to resolve conflict, trying again...: Could not find a part of the path...at System.IO.File.SetAttributes (System.String path, FileAttributes fileAttributes) [0x00000] in :0
at SparkleLib.Git.SparkleRepo.ResolveConflict () [0x00000] in :0
at SparkleLib.Git.SparkleRepo.get_branch () [0x00000] in :0"

I can provide a full copy of the output, but it contains semi-sensitive file names so I'd prefer to do it privately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment