Re: git log - crash and core dump

2013-04-17 Thread Ivan Lyapunov
netbeans use some integrated git wrapper and I don't know about JGit
source base or not. In Eclipse we use Egit. Also all broken commits
limited to november 2012, but we still continue to use the same
development environments without any problems
Ivan

2013/4/17 John Keeping j...@keeping.me.uk:
 On Wed, Apr 17, 2013 at 09:22:01AM +0400, Ivan Lyapunov wrote:
 I checked René Scharfe's patch and it works - no more git log crash.
 Also I checked a broken commits by git show and the most of them
 created by me. I can confirm I never used anyting else except console
 git commit or netbeans gui to commit, which is just git gui wrapper
 tool.

 Doesn't NetBeans use JGit[1]?  That makes it a bit more than a wrapper
 for the Git command line tools.

 [1] http://eclipse.org/jgit/
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git log - crash and core dump

2013-04-17 Thread Ivan Lyapunov
missed a list sorry for dup

I ment the same because git changes the version too. Also
netbeans/eclipse upgrade are not synced, because of different
products. So the same ment only names, not versions. But in deep
search another repos I found the broken commits in Eclipse repo dated
by 13 march 2013. Can them produced because of previous broken
commits? And probably you can be right about java git wrappers can
produce this issues, I'll try to make a broken repo from scratch
later.
Ivan

2013/4/17 Ivan Lyapunov dron...@gmail.com:
 I ment the same because git changes the version too. Also
 netbeans/eclipse upgrade are not synced, because of different
 products. So the same ment only names, not versions. But in deep
 search another repos I found the broken commits in Eclipse repo dated
 by 13 march 2013. Can them produced because of previous broken
 commits? And probably you can be right about java git wrappers can
 produce this issues, I'll try to make a broken repo from scratch
 later.
 Ivan
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git log - crash and core dump

2013-04-16 Thread Ivan Lyapunov
Looks like I missed a lot of fun I'm sleeping ;)

The current repo is a product of our core crossplatform team, working
on Linux/MacOSX/Win32 environment. The Linux environment also
separates on Ubuntu/ArchLinux distros, and probably most of repo bugs
coming from ArchLinux, since other environments are stable in time. I
can't say exact git verison the bugs was introduced, but we have a
commits, dated by 0 secs since the Epoch and invalid Author fields
also. Also git fsck --full got the following stats on repo

Checking object directories: 100% (256/256), done.
error in commit 7eeb541987af8a589c6ebee53346c48a13142233: invalid
author/committer line - missing space before date
error in commit c23b0a487143e5d5d96cdc5354975e95114241ee: invalid
author/committer line - missing space before date
error in commit c7fa421863e073996b5d1ba6beb6001b9d146cba: invalid
author/committer line - missing space before date
error in commit 131155bd75c588bcd251b719c483d1d5bcb78504: invalid
author/committer line - missing space before date
error in commit 0888e7ffe6ae0aaf1b6d1ba67d05715487f88a52: invalid
author/committer line - missing space before date
error in commit 3cdeddd15c251a13fb3e79844ed3ea0e02cb611a: invalid
author/committer line - missing space before date
error in commit 21f9fe1565d89da845fc7080495c922103bacf24: invalid
author/committer line - missing space before date
error in commit f557d3427ba1bb33a1c1fd2c7936efa7e7c70281: invalid
author/committer line - missing space before date
error in commit c625943779c72b41b08b41730e56126b89cbb7b4: invalid
author/committer line - missing space before date
error in commit a83fc863991aae2bdad148a5897ed4315792dd82: invalid
author/committer line - missing space before date
error in commit 207321f773e695b2ae4c34620bc663383f90: invalid
author/committer line - missing space before date
error in commit 67368e9eda9892acd6c6ebf03dd6f22b6de2db8a: invalid
author/committer line - missing space before date
error in commit 525a5d508a7f466a1339752e921517f4db8c4af6: invalid
author/committer line - missing space before date
error in commit 38215e27f74caa342e3353c4cd548fcf8c1df3dc: invalid
author/committer line - missing space before date
error in commit 1ee0167194eb34caca2c20ce5c74d062fc898718: invalid
author/committer line - missing space before date
error in commit 3274c469b981285f9a4d0b0a62afbb8f4d3e93ae: invalid
author/committer line - missing space before date
error in commit f37ab83f71ca93f42256e05efdd4244eb321efaf: invalid
author/committer line - missing space before date
error in commit 9bb6f7d63bb5a37b8afc3ae090bd6f34deb68633: invalid
author/committer line - missing space before date
Checking objects: 100% (9576/9576), done.

And I haven't find a way to fix without loosing a commits history, so
we left them as it is. I will check the approved patches and writeback
a little bit later. Thanks a lot for looking this

Ivan

2013/4/17 Junio C Hamano gits...@pobox.com:
 René Scharfe rene.scha...@lsrfire.ath.cx writes:

 How about making split_ident_line() a bit friendlier be letting it
 provide the epoch as default time stamp instead of NULL?

 Two knee-jerk concerns I have without going back to the callers:

  * Would that 0 ever be given to the approxidate parser, which
rejects ancient dates in numbers-since-epoch format without @
prefix?

  * Does any existing caller use the NULL as a sign to see the input
was without date and act on that information?


 -- 8 --
 Subject: ident: let split_ident_line() provide a default time stamp

 If a commit has a broken time stamp, split_ident_line() sets
 date_begin, date_end, tz_begin and tz_end to NULL.  Not all callers
 are prepared to handle that case and segfault.

 Instead of fixing them and having to be careful while implementing
 the next caller, provide a string consisting of the number zero as
 default value, representing the UNIX epoch.  That's the value that
 git log showed before it was converted to use split_ident_line().

 Reported-by: Ivan Lyapunov dron...@gmail.com
 Signed-off-by: Rene Scharfe rene.scha...@lsrfire.ath.cx
 ---
  ident.c | 10 ++
  1 file changed, 6 insertions(+), 4 deletions(-)

 diff --git a/ident.c b/ident.c
 index 1c123e6..ee840f4 100644
 --- a/ident.c
 +++ b/ident.c
 @@ -191,6 +191,8 @@ static void strbuf_addstr_without_crud(struct strbuf 
 *sb, const char *src)
   sb-buf[sb-len] = '\0';
  }

 +static const char zero_string[] = 0;
 +
  /*
   * Reverse of fmt_ident(); given an ident line, split the fields
   * to allow the caller to parse it.
 @@ -254,10 +256,10 @@ int split_ident_line(struct ident_split *split, const 
 char *line, int len)
   return 0;

  person_only:
 - split-date_begin = NULL;
 - split-date_end = NULL;
 - split-tz_begin = NULL;
 - split-tz_end = NULL;
 + split-date_begin = zero_string;
 + split-date_end = zero_string + strlen(zero_string);
 + split-tz_begin = zero_string;
 + split-tz_end = zero_string + strlen(zero_string

Re: git log - crash and core dump

2013-04-16 Thread Ivan Lyapunov
I checked René Scharfe's patch and it works - no more git log crash.
Also I checked a broken commits by git show and the most of them
created by me. I can confirm I never used anyting else except console
git commit or netbeans gui to commit, which is just git gui wrapper
tool. Several commits is a just branch merge commits with no changes
at all. The modification time across broken commits is around from
near end of Oct to end of Nov 2012 and there are good commits between
broken maded on the same machine. I hope it helps to reproduce the
problem. Also it would be good if there are some way to fix this
errors in repo, since we found the same bugs in our Eclipse-based
Android project repo
Ivan

2013/4/17 Ivan Lyapunov dron...@gmail.com:
 Looks like I missed a lot of fun I'm sleeping ;)

 The current repo is a product of our core crossplatform team, working
 on Linux/MacOSX/Win32 environment. The Linux environment also
 separates on Ubuntu/ArchLinux distros, and probably most of repo bugs
 coming from ArchLinux, since other environments are stable in time. I
 can't say exact git verison the bugs was introduced, but we have a
 commits, dated by 0 secs since the Epoch and invalid Author fields
 also. Also git fsck --full got the following stats on repo

 Checking object directories: 100% (256/256), done.
 error in commit 7eeb541987af8a589c6ebee53346c48a13142233: invalid
 author/committer line - missing space before date
 error in commit c23b0a487143e5d5d96cdc5354975e95114241ee: invalid
 author/committer line - missing space before date
 error in commit c7fa421863e073996b5d1ba6beb6001b9d146cba: invalid
 author/committer line - missing space before date
 error in commit 131155bd75c588bcd251b719c483d1d5bcb78504: invalid
 author/committer line - missing space before date
 error in commit 0888e7ffe6ae0aaf1b6d1ba67d05715487f88a52: invalid
 author/committer line - missing space before date
 error in commit 3cdeddd15c251a13fb3e79844ed3ea0e02cb611a: invalid
 author/committer line - missing space before date
 error in commit 21f9fe1565d89da845fc7080495c922103bacf24: invalid
 author/committer line - missing space before date
 error in commit f557d3427ba1bb33a1c1fd2c7936efa7e7c70281: invalid
 author/committer line - missing space before date
 error in commit c625943779c72b41b08b41730e56126b89cbb7b4: invalid
 author/committer line - missing space before date
 error in commit a83fc863991aae2bdad148a5897ed4315792dd82: invalid
 author/committer line - missing space before date
 error in commit 207321f773e695b2ae4c34620bc663383f90: invalid
 author/committer line - missing space before date
 error in commit 67368e9eda9892acd6c6ebf03dd6f22b6de2db8a: invalid
 author/committer line - missing space before date
 error in commit 525a5d508a7f466a1339752e921517f4db8c4af6: invalid
 author/committer line - missing space before date
 error in commit 38215e27f74caa342e3353c4cd548fcf8c1df3dc: invalid
 author/committer line - missing space before date
 error in commit 1ee0167194eb34caca2c20ce5c74d062fc898718: invalid
 author/committer line - missing space before date
 error in commit 3274c469b981285f9a4d0b0a62afbb8f4d3e93ae: invalid
 author/committer line - missing space before date
 error in commit f37ab83f71ca93f42256e05efdd4244eb321efaf: invalid
 author/committer line - missing space before date
 error in commit 9bb6f7d63bb5a37b8afc3ae090bd6f34deb68633: invalid
 author/committer line - missing space before date
 Checking objects: 100% (9576/9576), done.

 And I haven't find a way to fix without loosing a commits history, so
 we left them as it is. I will check the approved patches and writeback
 a little bit later. Thanks a lot for looking this

 Ivan

 2013/4/17 Junio C Hamano gits...@pobox.com:
 René Scharfe rene.scha...@lsrfire.ath.cx writes:

 How about making split_ident_line() a bit friendlier be letting it
 provide the epoch as default time stamp instead of NULL?

 Two knee-jerk concerns I have without going back to the callers:

  * Would that 0 ever be given to the approxidate parser, which
rejects ancient dates in numbers-since-epoch format without @
prefix?

  * Does any existing caller use the NULL as a sign to see the input
was without date and act on that information?


 -- 8 --
 Subject: ident: let split_ident_line() provide a default time stamp

 If a commit has a broken time stamp, split_ident_line() sets
 date_begin, date_end, tz_begin and tz_end to NULL.  Not all callers
 are prepared to handle that case and segfault.

 Instead of fixing them and having to be careful while implementing
 the next caller, provide a string consisting of the number zero as
 default value, representing the UNIX epoch.  That's the value that
 git log showed before it was converted to use split_ident_line().

 Reported-by: Ivan Lyapunov dron...@gmail.com
 Signed-off-by: Rene Scharfe rene.scha...@lsrfire.ath.cx
 ---
  ident.c | 10 ++
  1 file changed, 6 insertions(+), 4 deletions(-)

 diff --git a/ident.c b/ident.c