Browse Source
There is a problem in the way 9ac3f0e5b3
(pack-objects: fix
performance issues on packing large deltas, 2018-07-22) initializes that
mutex in the `packing_data` struct. The problem manifests in a
segmentation fault on Windows, when a mutex (AKA critical section) is
accessed without being initialized. (With pthreads, you apparently do
not really have to initialize them?)
This was reported in https://github.com/git-for-windows/git/issues/1839.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint


1 changed files with 32 additions and 0 deletions
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh |
||||
# |
||||
# Copyright (c) 2018 Johannes Schindelin |
||||
# |
||||
|
||||
test_description='git pack-object with "large" deltas |
||||
|
||||
' |
||||
. ./test-lib.sh |
||||
. "$TEST_DIRECTORY"/lib-pack.sh |
||||
|
||||
# Two similar-ish objects that we have computed deltas between. |
||||
A=01d7713666f4de822776c7622c10f1b07de280dc |
||||
B=e68fe8129b546b101aee9510c5328e7f21ca1d18 |
||||
|
||||
test_expect_success 'setup' ' |
||||
clear_packs && |
||||
{ |
||||
pack_header 2 && |
||||
pack_obj $A $B && |
||||
pack_obj $B |
||||
} >ab.pack && |
||||
pack_trailer ab.pack && |
||||
git index-pack --stdin <ab.pack |
||||
' |
||||
|
||||
test_expect_failure 'repack large deltas' ' |
||||
printf "%s\\n" $A $B | |
||||
GIT_TEST_OE_DELTA_SIZE=2 git pack-objects tmp-pack |
||||
' |
||||
|
||||
test_done |
Loading…
Reference in new issue