On Sat, May 22, 2021 at 06:16:15PM +0700, Bagas Sanjaya wrote:
Here is excerpt from strace -f just before I triggered SIGINT due to hang:
quoted
22903 openat(AT_FDCWD, ".git/objects/3b/tmp_obj_24pz93", O_RDWR|O_CREAT|O_EXCL, 0444) = 3
22903 write(3, "x\1+)JMU0421d040031Q\320K\316I\314K\327M\313/\312M,"..., 1113) = 1113
22903 close(3) = 0
22903 utime(".git/objects/3b/tmp_obj_24pz93", {actime=1621599665 /* 2021-05-21T19:21:05+0700 */, modtime=1621599665 /* 2021-05-21T19:21:05+0700 */}) = 0
22903 link(".git/objects/3b/tmp_obj_24pz93", ".git/objects/3b/816f00a02062692e95a9a756247fca34abb911") = 0
22903 unlink(".git/objects/3b/tmp_obj_24pz93") = 0
OK, so this is writing out loose objects. It's exactly the case I
suspected.
The last write() sequence seems running repeatedly, what it means? Infinite loop?
If it's a lot of just write(), it's probably just a large object. If
it's a lot of writes interspersed with opens and links, as above, then
it's just a lot of objects. It probably would finish eventually, but
it's just slow.
-Peff