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是否还会出现这个特定问题

6条留言
  1. fatal: BUG: your vsnprintf is broken (returned -1) Disqus

    1. test

  2. 我也是这个问题。不知道怎么解决,现在头皮发麻。每天觉都睡不好。做梦都在想解决这个问题。用低版本就能解决吗?司马大大

    1. 是的,我改成使用1.7.1版本,目前没有问题,你可以尝试一下,比较蛋疼的问题,看起来应该是2.14.1这个版本的bug,不过具体哪里触发的bug,我还没有再次进行回归排查

      1. 非常感谢您

  3. 系统编码的问题,修改为utf-8。