git pull报错fatal: BUG: your vsnprintf is broken (returned -1)排查

今天Linux开发机上面,git pull时报错 fatal: BUG: your vsnprintf is broken (returned -1) ,后来换了个路径clone也是报“克隆成功,但是检出失败”

1、gdb跟踪观察,因为不是编译安装的,所以并没有看出什么效果

2、strace查看调用栈,本身无特别之处,无更细致的细节

30844 fstat(4, {st_mode=S_IFREG|0644, st_size=199262, ...}) = 0
30844 close(4)                          = 0
30844 setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
30844 rt_sigaction(SIGALRM, {SIG_IGN, [ALRM], SA_RESTORER|SA_RESTART, 0x7f3fcbd5f510}, {0x4fc5c0, [], SA_RESTORER|SA_RESTART, 0x7f3fcc0d07e0}, 8) = 0
30844 write(2, "fatal: BUG: your vsnprintf is br"..., 51) = 51
30844 close(3)                          = 0
30844 unlink("/xxxx/.git/index.lock") = 0
30844 write(2, "warning: \277\313\302\241\263\311\271\246\243\254\265\253\312\307\274\354\263\366\312\247\260\334\241"..., 118) = 118
30844 exit_group(128)                   = ?
30844 +++ exited with 128 +++

3、其他机器上执行,目前在windows的机器上是没问题的,另一台开发机上安装有1.7.1版本git,执行并无问题。

4、目前猜测可能和某些文件文件名或内容等,引起git这个bug,时间所限,先暂时使用git 1.7.1版本操作,后续将尝试导出不同版本内容观察git2.14.1是否还会出现这个特定问题

文章来源:

Author:ancongcong
link:https://www.congcong.us/post/git_pull_fatal_bug_your_vsnprintf_is_broken_returned_1_record.html