* mmap failure in master 1aa69c73577df21f5e37e47cc40cf44fc049121e
@ 2020-05-31 10:46 Jan Christoph Uhde
2020-06-01 4:45 ` Jeff King
0 siblings, 1 reply; 6+ messages in thread
From: Jan Christoph Uhde @ 2020-05-31 10:46 UTC (permalink / raw)
To: git
[-- Attachment #1: Type: text/plain, Size: 3679 bytes --]
Hi,
when calling `git diff --quiet` on the gcc git repository
my system fails reproducible with a failed mmap. I have
noticed this possible bug with git in debian unstable and
then build git from source. But I am not able to get a core
or backtrace when gdb is attached.
The command I have used to build git is:
make clean; CFLAGS="-O0 -g -fsanitize=address" DEBUG=1 make -j24
Maybe you can give me some advice how to further debug this.
Jan
--------------------------------------------------------------
The output below was created with the system git not
the self-compiled version (that behaves in the same way).
» ulimit -a; git --version; git diff --quiet; git remote -v
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 514868
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 20000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 2000
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
git version 2.27.0.rc2
fatal: mmap failed: Cannot allocate memory
origin git://gcc.gnu.org/git/gcc.git (fetch)
origin git://gcc.gnu.org/git/gcc.git (push)
--------------------------------------------------------------
lstat("gcc/testsuite/gdc.test/fail_compilation/b19717a.d", {st_mode=S_IFREG|0644, st_size=494, ...}) = 0
lstat("gcc/testsuite/gdc.test/fail_compilation/b19717a.d", {st_mode=S_IFREG|0644, st_size=494, ...}) = 0
lstat("gcc/testsuite/gdc.test/fail_compilation/b19717a.d", {st_mode=S_IFREG|0644, st_size=494, ...}) = 0
lstat("gcc/testsuite/gdc.test/fail_compilation/b19717a.d", {st_mode=S_IFREG|0644, st_size=494, ...}) = 0
openat(AT_FDCWD, "gcc/testsuite/gdc.test/fail_compilation/b19717a.d", O_RDONLY) = 3
mmap(NULL, 494, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4a81a58000
close(3) = 0
lstat("gcc/testsuite/gdc.test/fail_compilation/b3841.d", {st_mode=S_IFREG|0644, st_size=2643, ...}) = 0
lstat("gcc/testsuite/gdc.test/fail_compilation/b3841.d", {st_mode=S_IFREG|0644, st_size=2643, ...}) = 0
lstat("gcc/testsuite/gdc.test/fail_compilation/b3841.d", {st_mode=S_IFREG|0644, st_size=2643, ...}) = 0
lstat("gcc/testsuite/gdc.test/fail_compilation/b3841.d", {st_mode=S_IFREG|0644, st_size=2643, ...}) = 0
lstat("gcc/testsuite/gdc.test/fail_compilation/b3841.d", {st_mode=S_IFREG|0644, st_size=2643, ...}) = 0
openat(AT_FDCWD, "gcc/testsuite/gdc.test/fail_compilation/b3841.d", O_RDONLY) = 3
mmap(NULL, 2643, PROT_READ, MAP_PRIVATE, 3, 0) = -1 ENOMEM (Cannot allocate memory)
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "fatal: mmap failed: Cannot alloc"..., 43fatal: mmap failed: Cannot allocate memory
) = 43
exit_group(128) = ?
+++ exited with 128 +++
--------------------------------------------------------------
» uname -a; free -m
Linux edward 5.6.0-2-amd64 #1 SMP Debian 5.6.14-1 (2020-05-23) x86_64 GNU/Linux
total used free shared buff/cache available
Mem: 128842 6279 86976 1084 35586 120439
Swap: 122067 0 122067
[-- Attachment #2: heaptrack.log --]
[-- Type: text/x-log, Size: 40192 bytes --]
reading file "/opt/gcc_repo/heaptrack.git.1558791.gz" - please wait, this might take some time...
Debuggee command was: git diff --quiet
finished reading file, now analyzing data:
MOST CALLS TO ALLOCATION FUNCTIONS
729067 calls to allocation functions with 484.95MB peak consumption from
0x55ed4a44de70
in /usr/bin/git
66811 calls with 310.23MB peak consumption from:
0x55ed4a44dcdc
in /usr/bin/git
0x55ed4a3b122e
in /usr/bin/git
0x55ed4a3acc72
in /usr/bin/git
0x55ed4a3ad395
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
66811 calls with 0B peak consumption from:
0x55ed4a44dcdc
in /usr/bin/git
0x55ed4a3aaf4c
in /usr/bin/git
0x55ed4a3acc4c
in /usr/bin/git
0x55ed4a3ad395
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
66811 calls with 2.54MB peak consumption from:
0x55ed4a3accc0
in /usr/bin/git
0x55ed4a3ad395
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
65357 calls with 1.57MB peak consumption from:
0x55ed4a351cce
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
65357 calls with 8.61MB peak consumption from:
0x55ed4a34ffad
in /usr/bin/git
0x55ed4a351c50
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
and 397920 from 210 other places
152095 calls to allocation functions with 7.16KB peak consumption from
inflateInit2_
in /lib/x86_64-linux-gnu/libz.so.1
66811 calls with 0B peak consumption from:
0x55ed4a458b9c
in /usr/bin/git
0x55ed4a3aaf93
in /usr/bin/git
0x55ed4a3acc4c
in /usr/bin/git
0x55ed4a3ad395
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
50269 calls with 7.16KB peak consumption from:
0x55ed4a458b9c
in /usr/bin/git
0x55ed4a3aaf93
in /usr/bin/git
0x55ed4a3ad084
in /usr/bin/git
0x55ed4a3ad395
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
35015 calls with 0B peak consumption from:
0x55ed4a458b9c
in /usr/bin/git
0x55ed4a3abe9d
in /usr/bin/git
0x55ed4a3ad369
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502b2
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
22747 calls to allocation functions with 0B peak consumption from
inflate
in /lib/x86_64-linux-gnu/libz.so.1
22747 calls with 0B peak consumption from:
0x55ed4a458ebc
in /usr/bin/git
0x55ed4a3abeac
in /usr/bin/git
0x55ed4a3ad369
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502b2
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
668 calls to allocation functions with 3.13KB peak consumption from
__strdup
in /lib/x86_64-linux-gnu/libc.so.6
573 calls with 75B peak consumption from:
0x55ed4a44dd38
in /usr/bin/git
0x55ed4a30ff1c
in /usr/bin/git
0x55ed4a310b28
in /usr/bin/git
0x55ed4a338cc1
in /usr/bin/git
0x55ed4a33ba3d
in /usr/bin/git
0x55ed4a35010c
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
29 calls with 504B peak consumption from:
0x55ed4a44dd38
in /usr/bin/git
0x55ed4a330abb
in /usr/bin/git
0x55ed4a3350ee
in /usr/bin/git
0x55ed4a32f251
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a3330bf
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
29 calls with 2.12KB peak consumption from:
0x55ed4a44dd38
in /usr/bin/git
0x55ed4a3309a5
in /usr/bin/git
0x55ed4a3350ee
in /usr/bin/git
0x55ed4a32f251
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a3330bf
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
8 calls with 109B peak consumption from:
0x55ed4a44dd38
in /usr/bin/git
0x55ed4a3309a5
in /usr/bin/git
0x55ed4a3350ee
in /usr/bin/git
0x55ed4a32f251
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a333219
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
8 calls with 154B peak consumption from:
0x55ed4a44dd38
in /usr/bin/git
0x55ed4a330abb
in /usr/bin/git
0x55ed4a3350ee
in /usr/bin/git
0x55ed4a32f251
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a333219
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
and 21 from 19 other places
630 calls to allocation functions with 13.37KB peak consumption from
0x7f5839fd679e
in /lib/x86_64-linux-gnu/libc.so.6
573 calls with 0B peak consumption from:
0x55ed4a4604fb
in /usr/bin/git
0x55ed4a44e53e
in /usr/bin/git
0x55ed4a30fa95
in /usr/bin/git
0x55ed4a30fca2
in /usr/bin/git
0x55ed4a30feda
in /usr/bin/git
0x55ed4a310b28
in /usr/bin/git
0x55ed4a338cc1
in /usr/bin/git
0x55ed4a33ba3d
in /usr/bin/git
0x55ed4a35010c
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
12 calls with 3.73KB peak consumption from:
0x7f5839fd4bc4
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd3dba
in /lib/x86_64-linux-gnu/libc.so.6
setlocale
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a371396
in /usr/bin/git
0x55ed4a24afbf
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
12 calls with 3.73KB peak consumption from:
0x7f5839fd4bc4
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd3dba
in /lib/x86_64-linux-gnu/libc.so.6
setlocale
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a3713a7
in /usr/bin/git
0x55ed4a24afbf
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
2 calls with 0B peak consumption from:
0x7f5839fd83c2
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd7cdf
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a3bd6da
in /usr/bin/git
0x55ed4a3b827c
in /usr/bin/git
0x55ed4a3b83fc
in /usr/bin/git
0x55ed4a278626
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
2 calls with 2.05KB peak consumption from:
0x7f5839fda263
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd8497
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd7cdf
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a3bd6da
in /usr/bin/git
0x55ed4a3b827c
in /usr/bin/git
0x55ed4a3b83fc
in /usr/bin/git
0x55ed4a278626
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
and 29 from 29 other places
20 calls to allocation functions with 1.28KB peak consumption from
0x7f583a275661
in /lib64/ld-linux-x86-64.so.2
20 calls with 1.28KB peak consumption from:
_dl_allocate_tls
in /lib64/ld-linux-x86-64.so.2
pthread_create@@GLIBC_2.2.5
in /lib/x86_64-linux-gnu/libpthread.so.0
0x55ed4a3b8240
in /usr/bin/git
0x55ed4a3b83fc
in /usr/bin/git
0x55ed4a278626
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
7 calls to allocation functions with 0B peak consumption from
_IO_file_doallocate
in /lib/x86_64-linux-gnu/libc.so.6
1 calls with 0B peak consumption from:
_IO_doallocbuf
in /lib/x86_64-linux-gnu/libc.so.6
_IO_file_underflow
in /lib/x86_64-linux-gnu/libc.so.6
_IO_default_uflow
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a32dd71
in /usr/bin/git
0x55ed4a32ef94
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a3330bf
in /usr/bin/git
0x55ed4a333523
in /usr/bin/git
0x55ed4a429fb1
in /usr/bin/git
0x55ed4a24afda
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 calls with 0B peak consumption from:
_IO_doallocbuf
in /lib/x86_64-linux-gnu/libc.so.6
_IO_file_underflow
in /lib/x86_64-linux-gnu/libc.so.6
_IO_default_uflow
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a32dd71
in /usr/bin/git
0x55ed4a32ef94
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a40b9c2
in /usr/bin/git
0x55ed4a40bb8c
in /usr/bin/git
0x55ed4a40d14c
in /usr/bin/git
0x55ed4a277c94
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 calls with 0B peak consumption from:
_IO_doallocbuf
in /lib/x86_64-linux-gnu/libc.so.6
_IO_file_underflow
in /lib/x86_64-linux-gnu/libc.so.6
_IO_default_uflow
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a32dd71
in /usr/bin/git
0x55ed4a32ef94
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a3330bf
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 calls with 0B peak consumption from:
_IO_doallocbuf
in /lib/x86_64-linux-gnu/libc.so.6
_IO_file_underflow
in /lib/x86_64-linux-gnu/libc.so.6
_IO_default_uflow
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a32dd71
in /usr/bin/git
0x55ed4a32ef94
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a333219
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 calls with 0B peak consumption from:
_IO_doallocbuf
in /lib/x86_64-linux-gnu/libc.so.6
_IO_file_underflow
in /lib/x86_64-linux-gnu/libc.so.6
_IO_default_uflow
in /lib/x86_64-linux-gnu/libc.so.6
_IO_getline_info
in /lib/x86_64-linux-gnu/libc.so.6
fgets_unlocked
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd9d57
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fda263
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd8497
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd7cdf
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a3bd6da
in /usr/bin/git
0x55ed4a3b827c
in /usr/bin/git
0x55ed4a3b83fc
in /usr/bin/git
0x55ed4a278626
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
and 2 from 2 other places
3 calls to allocation functions with 72B peak consumption from
tsearch
in /lib/x86_64-linux-gnu/libc.so.6
1 calls with 24B peak consumption from:
0x7f5839fdf96d
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a36605a
in /usr/bin/git
0x55ed4a24c4e8
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 calls with 24B peak consumption from:
0x7f5839fdf96d
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a366091
in /usr/bin/git
0x55ed4a24c4e8
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 calls with 24B peak consumption from:
0x7f5839fdf96d
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a40d2f2
in /usr/bin/git
0x55ed4a277c94
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 calls to allocation functions with 24B peak consumption from
pcre2_general_context_create_8
in /lib/x86_64-linux-gnu/libpcre2-8.so.0
1 calls with 24B peak consumption from:
0x55ed4a377ba4
in /usr/bin/git
0x55ed4a3eefe7
in /usr/bin/git
0x55ed4a277d92
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 calls to allocation functions with 72.70KB peak consumption from
0x7f5839e53565
in /lib/x86_64-linux-gnu/libstdc++.so.6
1 calls with 72.70KB peak consumption from:
0x7f583a273369
in /lib64/ld-linux-x86-64.so.2
0x7f583a273468
in /lib64/ld-linux-x86-64.so.2
0x7f583a2650c9
in /lib64/ld-linux-x86-64.so.2
PEAK MEMORY CONSUMERS
484.95MB peak memory consumed over 729067 calls from
0x55ed4a44de70
in /usr/bin/git
310.23MB consumed over 66811 calls from:
0x55ed4a44dcdc
in /usr/bin/git
0x55ed4a3b122e
in /usr/bin/git
0x55ed4a3acc72
in /usr/bin/git
0x55ed4a3ad395
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
104.67MB consumed over 50269 calls from:
0x55ed4a44dcdc
in /usr/bin/git
0x55ed4a3aaf4c
in /usr/bin/git
0x55ed4a3ad084
in /usr/bin/git
0x55ed4a3ad395
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
30.16MB consumed over 4672 calls from:
0x55ed4a44dcdc
in /usr/bin/git
0x55ed4a44ddef
in /usr/bin/git
0x55ed4a3ad13c
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
14.58MB consumed over 1 calls from:
0x55ed4a467ff6
in /usr/bin/git
0x55ed4a4680a8
in /usr/bin/git
0x55ed4a3c3662
in /usr/bin/git
0x55ed4a3c78ac
in /usr/bin/git
0x55ed4a3b83e7
in /usr/bin/git
0x55ed4a278626
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
8.61MB consumed over 65357 calls from:
0x55ed4a34ffad
in /usr/bin/git
0x55ed4a351c50
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
and 16.68MB from 210 other places
72.70KB peak memory consumed over 1 calls from
0x7f5839e53565
in /lib/x86_64-linux-gnu/libstdc++.so.6
72.70KB consumed over 1 calls from:
0x7f583a273369
in /lib64/ld-linux-x86-64.so.2
0x7f583a273468
in /lib64/ld-linux-x86-64.so.2
0x7f583a2650c9
in /lib64/ld-linux-x86-64.so.2
13.37KB peak memory consumed over 630 calls from
0x7f5839fd679e
in /lib/x86_64-linux-gnu/libc.so.6
3.73KB consumed over 12 calls from:
0x7f5839fd4bc4
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd3dba
in /lib/x86_64-linux-gnu/libc.so.6
setlocale
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a371396
in /usr/bin/git
0x55ed4a24afbf
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
3.73KB consumed over 12 calls from:
0x7f5839fd4bc4
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd3dba
in /lib/x86_64-linux-gnu/libc.so.6
setlocale
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a3713a7
in /usr/bin/git
0x55ed4a24afbf
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
2.05KB consumed over 2 calls from:
0x7f5839fda263
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd8497
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd7cdf
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a3bd6da
in /usr/bin/git
0x55ed4a3b827c
in /usr/bin/git
0x55ed4a3b83fc
in /usr/bin/git
0x55ed4a278626
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1.60KB consumed over 1 calls from:
0x7f5839fda263
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd8497
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd7cdf
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a3bd6da
in /usr/bin/git
0x55ed4a3b827c
in /usr/bin/git
0x55ed4a3b83fc
in /usr/bin/git
0x55ed4a278626
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1.18KB consumed over 1 calls from:
0x55ed4a40d2f2
in /usr/bin/git
0x55ed4a277c94
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
and 1.09KB from 29 other places
7.16KB peak memory consumed over 152095 calls from
inflateInit2_
in /lib/x86_64-linux-gnu/libz.so.1
7.16KB consumed over 50269 calls from:
0x55ed4a458b9c
in /usr/bin/git
0x55ed4a3aaf93
in /usr/bin/git
0x55ed4a3ad084
in /usr/bin/git
0x55ed4a3ad395
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
3.13KB peak memory consumed over 668 calls from
__strdup
in /lib/x86_64-linux-gnu/libc.so.6
2.12KB consumed over 29 calls from:
0x55ed4a44dd38
in /usr/bin/git
0x55ed4a3309a5
in /usr/bin/git
0x55ed4a3350ee
in /usr/bin/git
0x55ed4a32f251
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a3330bf
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
504B consumed over 29 calls from:
0x55ed4a44dd38
in /usr/bin/git
0x55ed4a330abb
in /usr/bin/git
0x55ed4a3350ee
in /usr/bin/git
0x55ed4a32f251
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a3330bf
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
154B consumed over 8 calls from:
0x55ed4a44dd38
in /usr/bin/git
0x55ed4a330abb
in /usr/bin/git
0x55ed4a3350ee
in /usr/bin/git
0x55ed4a32f251
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a333219
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
109B consumed over 8 calls from:
0x55ed4a44dd38
in /usr/bin/git
0x55ed4a3309a5
in /usr/bin/git
0x55ed4a3350ee
in /usr/bin/git
0x55ed4a32f251
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a333219
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
75B consumed over 573 calls from:
0x55ed4a44dd38
in /usr/bin/git
0x55ed4a30ff1c
in /usr/bin/git
0x55ed4a310b28
in /usr/bin/git
0x55ed4a338cc1
in /usr/bin/git
0x55ed4a33ba3d
in /usr/bin/git
0x55ed4a35010c
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
and 168B from 19 other places
1.28KB peak memory consumed over 20 calls from
0x7f583a275661
in /lib64/ld-linux-x86-64.so.2
1.28KB consumed over 20 calls from:
_dl_allocate_tls
in /lib64/ld-linux-x86-64.so.2
pthread_create@@GLIBC_2.2.5
in /lib/x86_64-linux-gnu/libpthread.so.0
0x55ed4a3b8240
in /usr/bin/git
0x55ed4a3b83fc
in /usr/bin/git
0x55ed4a278626
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
72B peak memory consumed over 3 calls from
tsearch
in /lib/x86_64-linux-gnu/libc.so.6
24B consumed over 1 calls from:
0x7f5839fdf96d
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a36605a
in /usr/bin/git
0x55ed4a24c4e8
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
24B consumed over 1 calls from:
0x7f5839fdf96d
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a366091
in /usr/bin/git
0x55ed4a24c4e8
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
24B consumed over 1 calls from:
0x7f5839fdf96d
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a40d2f2
in /usr/bin/git
0x55ed4a277c94
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
24B peak memory consumed over 1 calls from
pcre2_general_context_create_8
in /lib/x86_64-linux-gnu/libpcre2-8.so.0
24B consumed over 1 calls from:
0x55ed4a377ba4
in /usr/bin/git
0x55ed4a3eefe7
in /usr/bin/git
0x55ed4a277d92
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
MOST TEMPORARY ALLOCATIONS
261461 temporary allocations of 729067 allocations in total (35.86%) from
0x55ed4a44de70
in /usr/bin/git
65356 temporary allocations of 65356 allocations in total (100.00%) from:
0x55ed4a41ac66
in /usr/bin/git
0x55ed4a41b434
in /usr/bin/git
0x55ed4a30fe5a
in /usr/bin/git
0x55ed4a310b28
in /usr/bin/git
0x55ed4a338cc1
in /usr/bin/git
0x55ed4a33ba3d
in /usr/bin/git
0x55ed4a35010c
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
65344 temporary allocations of 65344 allocations in total (100.00%) from:
0x55ed4a41ac66
in /usr/bin/git
0x55ed4a41b434
in /usr/bin/git
0x55ed4a30fe5a
in /usr/bin/git
0x55ed4a310b28
in /usr/bin/git
0x55ed4a338cc1
in /usr/bin/git
0x55ed4a33ba3d
in /usr/bin/git
0x55ed4a350217
in /usr/bin/git
0x55ed4a350b20
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
65344 temporary allocations of 65344 allocations in total (100.00%) from:
0x55ed4a41ac66
in /usr/bin/git
0x55ed4a41b434
in /usr/bin/git
0x55ed4a30fe5a
in /usr/bin/git
0x55ed4a310b28
in /usr/bin/git
0x55ed4a338cc1
in /usr/bin/git
0x55ed4a33ba3d
in /usr/bin/git
0x55ed4a35044a
in /usr/bin/git
0x55ed4a350acc
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
65342 temporary allocations of 65357 allocations in total (99.98%) from:
0x55ed4a41ac66
in /usr/bin/git
0x55ed4a41b434
in /usr/bin/git
0x55ed4a30fe5a
in /usr/bin/git
0x55ed4a310b28
in /usr/bin/git
0x55ed4a338cc1
in /usr/bin/git
0x55ed4a33ba3d
in /usr/bin/git
0x55ed4a35010c
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
29 temporary allocations of 29 allocations in total (100.00%) from:
0x55ed4a44dcdc
in /usr/bin/git
0x55ed4a3306fb
in /usr/bin/git
0x55ed4a3308fd
in /usr/bin/git
0x55ed4a330988
in /usr/bin/git
0x55ed4a3350ee
in /usr/bin/git
0x55ed4a32f251
in /usr/bin/git
0x55ed4a3327ad
in /usr/bin/git
0x55ed4a3330bf
in /usr/bin/git
0x55ed4a333354
in /usr/bin/git
0x55ed4a333e7b
in /usr/bin/git
0x55ed4a277d73
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
and 46B from 210 other places
129348 temporary allocations of 152095 allocations in total (85.04%) from
inflateInit2_
in /lib/x86_64-linux-gnu/libz.so.1
66811 temporary allocations of 66811 allocations in total (100.00%) from:
0x55ed4a458b9c
in /usr/bin/git
0x55ed4a3aaf93
in /usr/bin/git
0x55ed4a3acc4c
in /usr/bin/git
0x55ed4a3ad395
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
50269 temporary allocations of 50269 allocations in total (100.00%) from:
0x55ed4a458b9c
in /usr/bin/git
0x55ed4a3aaf93
in /usr/bin/git
0x55ed4a3ad084
in /usr/bin/git
0x55ed4a3ad395
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502d0
in /usr/bin/git
0x55ed4a350b09
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
12268 temporary allocations of 35015 allocations in total (35.04%) from:
0x55ed4a458b9c
in /usr/bin/git
0x55ed4a3abe9d
in /usr/bin/git
0x55ed4a3ad369
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502b2
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
22747 temporary allocations of 22747 allocations in total (100.00%) from
inflate
in /lib/x86_64-linux-gnu/libz.so.1
22747 temporary allocations of 22747 allocations in total (100.00%) from:
0x55ed4a458ebc
in /usr/bin/git
0x55ed4a3abeac
in /usr/bin/git
0x55ed4a3ad369
in /usr/bin/git
0x55ed4a412692
in /usr/bin/git
0x55ed4a41271a
in /usr/bin/git
0x55ed4a3502b2
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
580 temporary allocations of 630 allocations in total (92.06%) from
0x7f5839fd679e
in /lib/x86_64-linux-gnu/libc.so.6
572 temporary allocations of 573 allocations in total (99.83%) from:
0x55ed4a4604fb
in /usr/bin/git
0x55ed4a44e53e
in /usr/bin/git
0x55ed4a30fa95
in /usr/bin/git
0x55ed4a30fca2
in /usr/bin/git
0x55ed4a30feda
in /usr/bin/git
0x55ed4a310b28
in /usr/bin/git
0x55ed4a338cc1
in /usr/bin/git
0x55ed4a33ba3d
in /usr/bin/git
0x55ed4a35010c
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
2 temporary allocations of 2 allocations in total (100.00%) from:
0x7f5839fd83c2
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd7cdf
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a3bd6da
in /usr/bin/git
0x55ed4a3b827c
in /usr/bin/git
0x55ed4a3b83fc
in /usr/bin/git
0x55ed4a278626
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 temporary allocations of 1 allocations in total (100.00%) from:
0x55ed4a4604fb
in /usr/bin/git
0x55ed4a44e53e
in /usr/bin/git
0x55ed4a30fa95
in /usr/bin/git
0x55ed4a310474
in /usr/bin/git
0x55ed4a310b28
in /usr/bin/git
0x55ed4a338cc1
in /usr/bin/git
0x55ed4a33ba3d
in /usr/bin/git
0x55ed4a35010c
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 temporary allocations of 2 allocations in total (50.00%) from:
0x7f5839fda263
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd8497
in /lib/x86_64-linux-gnu/libc.so.6
0x7f5839fd7cdf
in /lib/x86_64-linux-gnu/libc.so.6
0x55ed4a3bd6da
in /usr/bin/git
0x55ed4a3b827c
in /usr/bin/git
0x55ed4a3b83fc
in /usr/bin/git
0x55ed4a278626
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
1 temporary allocations of 1 allocations in total (100.00%) from:
0x55ed4a4604fb
in /usr/bin/git
0x55ed4a44e53e
in /usr/bin/git
0x55ed4a30fa95
in /usr/bin/git
0x55ed4a3103ec
in /usr/bin/git
0x55ed4a310b28
in /usr/bin/git
0x55ed4a338cc1
in /usr/bin/git
0x55ed4a33ba3d
in /usr/bin/git
0x55ed4a35010c
in /usr/bin/git
0x55ed4a350ab7
in /usr/bin/git
0x55ed4a351ede
in /usr/bin/git
0x55ed4a345bae
in /usr/bin/git
0x55ed4a27863b
in /usr/bin/git
0x55ed4a24b464
in /usr/bin/git
0x55ed4a24c523
in /usr/bin/git
0x55ed4a24aff9
in /usr/bin/git
__libc_start_main
in /lib/x86_64-linux-gnu/libc.so.6
and 3B from 29 other places
total runtime: 2.67s.
bytes allocated in total (ignoring deallocations): 3.51GB (1.32GB/s)
calls to allocation functions: 905239 (339294/s)
temporary memory allocations: 414136 (155223/s)
peak heap memory consumption: 485.04MB
peak RSS (including heaptrack overhead): 11.14GB
total memory leaked: 485.04MB
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: mmap failure in master 1aa69c73577df21f5e37e47cc40cf44fc049121e
2020-05-31 10:46 mmap failure in master 1aa69c73577df21f5e37e47cc40cf44fc049121e Jan Christoph Uhde
@ 2020-06-01 4:45 ` Jeff King
[not found] ` <cfc79aec-ec85-dbec-e37b-6b7035b4c5a4@UhdeJc.com>
0 siblings, 1 reply; 6+ messages in thread
From: Jeff King @ 2020-06-01 4:45 UTC (permalink / raw)
To: Jan Christoph Uhde; +Cc: git
On Sun, May 31, 2020 at 12:46:30PM +0200, Jan Christoph Uhde wrote:
> lstat("gcc/testsuite/gdc.test/fail_compilation/b3841.d", {st_mode=S_IFREG|0644, st_size=2643, ...}) = 0
> openat(AT_FDCWD, "gcc/testsuite/gdc.test/fail_compilation/b3841.d", O_RDONLY) = 3
> mmap(NULL, 2643, PROT_READ, MAP_PRIVATE, 3, 0) = -1 ENOMEM (Cannot allocate memory)
> openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
> openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
> write(2, "fatal: mmap failed: Cannot alloc"..., 43fatal: mmap failed: Cannot allocate memory
> ) = 43
So we open a file in the working tree, and that mmap fails. I guess this
is probably the call to xmmap() in diff_populate_filespec(). That file
isn't particularly large.
Is it possible that your local repository has large number of packs? Git
will leave open maps to each pack's index file, plus some packs
themselves (ones we're accessing, plus we map+close small ones), plus
whatever maps are used by libc to malloc. The kernel default limit for
the number of maps is 65530. If you have on the order of 30,000 packs
you might run into this limit.
You can check the number of packs with "git count-objects -v", and the
map limit with "sysctl vm.max_map_count".
If that's the problem, the solution is to repack (which should also
generally improve performance). If you have trouble repacking due to the
limits, you can overcome the chicken and egg with:
sysctl -w vm.max_map_count=131060
-Peff
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: mmap failure in master 1aa69c73577df21f5e37e47cc40cf44fc049121e
[not found] ` <cfc79aec-ec85-dbec-e37b-6b7035b4c5a4@UhdeJc.com>
@ 2020-06-01 16:54 ` Jeff King
2020-06-01 20:22 ` [PATCH] diff: discard blob data from stat-unmatched pairs Jeff King
0 siblings, 1 reply; 6+ messages in thread
From: Jeff King @ 2020-06-01 16:54 UTC (permalink / raw)
To: Jan Christoph Uhde; +Cc: git
[re-adding list to cc; I think there are some interesting bits for
discussion here]
On Mon, Jun 01, 2020 at 08:41:08AM +0200, Jan Christoph Uhde wrote:
> > Is it possible that your local repository has large number of packs? Git
> > will leave open maps to each pack's index file, plus some packs
> > themselves (ones we're accessing, plus we map+close small ones), plus
> > whatever maps are used by libc to malloc. The kernel default limit for
> > the number of maps is 65530. If you have on the order of 30,000 packs
> > you might run into this limit.
> >
> > You can check the number of packs with "git count-objects -v", and the
>
> » git count-objects -v
> count: 0
> size: 0
> in-pack: 2399361
> packs: 1
> size-pack: 919395
> prune-packable: 0
> garbage: 0
> size-garbage: 0
OK, so that's just one pack (with a few million objects, which is
expected).
> > If that's the problem, the solution is to repack (which should also
> > generally improve performance). If you have trouble repacking due to the
> > limits, you can overcome the chicken and egg with:
> >
> > sysctl -w vm.max_map_count=131060
>
> This fixes the problem indeed!
Now that surprises me. However, I can reproduce the issue with a fresh
clone of gcc:
$ git clone https://github.com/gcc-mirror/gcc
$ cd gcc
$ git diff --quiet ;# works!
$ find . -type f | xargs touch ;# dirty the index entry for each file
$ git diff --quiet
fatal: mmap failed: Cannot allocate memory
There are ~100k files in that repo. If we mmap each one as part of
diff_populate_filespec(), we're going to end up with too many maps.
So we can easily reproduce this case without having to download the huge
gcc repo:
git init repo
cd repo
for i in $(seq 70); do
mkdir $i
for j in $(seq 1000); do
echo "foo" >$i/$j
done
done
git add .
git commit -m 'add a bunch of files'
git diff --quiet
git ls-files | xargs touch
git diff --quiet
> What could be the reason that the problem only occurs with the `--quiet` flag
> that I use in my prompt command, but not when using `git diff` without the flag.
That is curious, and I can reproduce it here.
In the non-quiet case, we queue each filepair that we find to be
stat-dirty. And then we call diffcore_skip_stat_unmatch() from
diffcore_std() on the whole list. We load each file singly, see that
it's not really a change (the index entries are just stat-dirty because
of our touch), and then discard it.
Whereas in the --quiet case, we hit this code in diff_change when
queuing each:
if (options->flags.quick && options->skip_stat_unmatch &&
!diff_filespec_check_stat_unmatch(options->repo, p))
return;
options->flags.has_changes = 1;
That code is trying to make sure we accurately set the has_changes flag
in quick/quiet mode (because we can stop diffing as soon as we see a
single change). Since none of these changes is interesting (they're all
just stat-dirty entries), we have to keep going and look at each one.
But this code leaves the populated filespec in the queue. Doing this
makes "diff --quiet" succeed in this case:
diff --git a/diff.c b/diff.c
index d1ad6a3c4a..2535614735 100644
--- a/diff.c
+++ b/diff.c
@@ -6758,8 +6758,15 @@ void diff_change(struct diff_options *options,
return;
if (options->flags.quick && options->skip_stat_unmatch &&
- !diff_filespec_check_stat_unmatch(options->repo, p))
+ !diff_filespec_check_stat_unmatch(options->repo, p)) {
+ /*
+ * discard any populated data; this entry is uninteresting;
+ * we probably ought to avoid queuing the pair at all!
+ */
+ diff_free_filespec_data(p->one);
+ diff_free_filespec_data(p->two);
return;
+ }
options->flags.has_changes = 1;
}
But that's only because these aren't "real" changes. If we swap out our
"touch" for:
git ls-files | while read fn; do
echo bar >$fn
done
then we have real changes. Our --quiet case will exit immediately once
it sees a change, so it's OK. But now the non-quiet one will fail,
because it's going to load each file to confirm that it's an actual
change, but leave the mmap in place for when we do the actual
content-level diff.
So I think in general we do have problems diffing more than 65k working
tree files in a single process because of this limit. It may still be
worth doing something along the lines of the patch above, though,
because it seems more likely for somebody to have 65k stat-dirty files
than 65k actual changes.
-Peff
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] diff: discard blob data from stat-unmatched pairs
2020-06-01 16:54 ` Jeff King
@ 2020-06-01 20:22 ` Jeff King
2020-06-01 20:53 ` Eric Sunshine
2020-06-02 16:49 ` Junio C Hamano
0 siblings, 2 replies; 6+ messages in thread
From: Jeff King @ 2020-06-01 20:22 UTC (permalink / raw)
To: Jan Christoph Uhde; +Cc: git, Junio C Hamano
On Mon, Jun 01, 2020 at 12:54:08PM -0400, Jeff King wrote:
> > What could be the reason that the problem only occurs with the `--quiet` flag
> > that I use in my prompt command, but not when using `git diff` without the flag.
>
> That is curious, and I can reproduce it here.
This turned out to be quite an interesting bug to look at. The fix is
simple, but I tried to summarize my explorations below.
I'm still curious why all of your files were stat-dirty. :) As a
workaround until you have a version of Git with the fix, you can
manually refresh the index with:
git update-index --refresh
before running git-diff.
-- >8 --
Subject: [PATCH] diff: discard blob data from stat-unmatched pairs
When performing a tree-level diff against the working tree, we may find
that our index stat information is dirty, so we queue a filepair to be
examined later. If the actual content hasn't changed, we call this a
stat-unmatch; the stat information was out of date, but there's no
actual diff. Normally diffcore_std() would detect and remove these
identical filepairs via diffcore_skip_stat_unmatch(). However, when
"--quiet" is used, we want to stop the diff as soon as we see any
changes, so we check for stat-unmatches immediately in diff_change().
That check may require us to actually load the file contents into the
pair of diff_filespecs. If we find that the pair isn't a stat-unmatch,
then no big deal; we'd likely load the contents later anyway to generate
a patch, do rename detection, etc, so we want to hold on to it. But if
it a stat-unmatch, then we have no more use for that data; the whole
point is that we're going discard the pair. However, we never free the
allocated diff_filespec data.
In most cases, keeping that data isn't a problem. We don't expect a lot
of stat-unmatch entries, and since we're using --quiet, we'd quit as
soon as we saw such a real change anyway. However, there are extreme
cases where it makes a big difference:
1. We'd generally mmap() the working tree half of the pair. And since
the OS may limit the total number of maps, we can run afoul of this
in large repositories. E.g.:
$ cd linux
$ git ls-files | wc -l
67959
$ sysctl vm.max_map_count
vm.max_map_count = 65530
$ git ls-files | xargs touch ;# everything is stat-dirty!
$ git diff --quiet
fatal: mmap failed: Cannot allocate memory
It should be unusual to have so many files stat-dirty, but it's
possible if you've just run a script like "sed -i" or similar.
After this patch, the above correctly exits with code 0.
2. Even if you don't hit mmap limits, the index half of the pair will
have been pulled from the object database into heap memory. Again
in a clone of linux.git, running:
$ git ls-files | head -n 10000 | xargs touch
$ git diff --quiet
peaks at 145MB heap before this patch, and 94MB after.
This patch solves the problem by freeing any diff_filespec data we
picked up during the "--quiet" stat-unmatch check in diff_changes.
Nobody is going to need that data later, so there's no point holding on
to it. There are a few things to note:
- we could skip queueing the pair entirely, which could in theory save
a little work. But there's not much to save, as we need a
diff_filepair to feed to diff_filespec_check_stat_unmatch() anyway.
And since we cache the result of the stat-unmatch checks, a later
call to diffcore_skip_stat_unmatch() call will quickly skip over
them. The diffcore code also counts up the number of stat-unmatched
pairs as it removes them. It's doubtful any callers would care about
that in combination with --quiet, but we'd have to reimplement the
logic here to be on the safe side. So it's not really worth the
trouble.
- I didn't write a test, because we always produce the correct output
unless we run up against system mmap limits, which are both
unportable and expensive to test against. Measuring peak heap
would be interesting, but our perf suite isn't yet capable of that.
- note that diff without "--quiet" does not suffer from the same
problem. In diffcore_skip_stat_unmatch(), we detect the stat-unmatch
entries and drop them immediately, so we're not carrying their data
around.
- you _can_ still trigger the mmap limit problem if you truly have
that many files with actual changes. But it's rather unlikely. The
stat-unmatch check avoids loading the file contents if the sizes
don't match, so you'd need a pretty trivial change in every single
file. Likewise, inexact rename detection might load the data for
many files all at once. But you'd need not just 64k changes, but
that many deletions and additions. The most likely candidate is
perhaps break-detection, which would load the data for all pairs and
keep it around for the content-level diff. But again, you'd need 64k
actually changed files in the first place.
So it's still possible to trigger this case, but it seems like "I
accidentally made all my files stat-dirty" is the most likely case
in the real world.
Reported-by: Jan Christoph Uhde <Jan@UhdeJc.com>
Signed-off-by: Jeff King <peff@peff.net>
---
diff.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/diff.c b/diff.c
index d1ad6a3c4a..4d46fab5d3 100644
--- a/diff.c
+++ b/diff.c
@@ -6758,8 +6758,11 @@ void diff_change(struct diff_options *options,
return;
if (options->flags.quick && options->skip_stat_unmatch &&
- !diff_filespec_check_stat_unmatch(options->repo, p))
+ !diff_filespec_check_stat_unmatch(options->repo, p)) {
+ diff_free_filespec_data(p->one);
+ diff_free_filespec_data(p->two);
return;
+ }
options->flags.has_changes = 1;
}
--
2.27.0.rc2.689.g04a94059a7
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] diff: discard blob data from stat-unmatched pairs
2020-06-01 20:22 ` [PATCH] diff: discard blob data from stat-unmatched pairs Jeff King
@ 2020-06-01 20:53 ` Eric Sunshine
2020-06-02 16:49 ` Junio C Hamano
1 sibling, 0 replies; 6+ messages in thread
From: Eric Sunshine @ 2020-06-01 20:53 UTC (permalink / raw)
To: Jeff King; +Cc: Jan Christoph Uhde, Git List, Junio C Hamano
On Mon, Jun 1, 2020 at 4:22 PM Jeff King <peff@peff.net> wrote:
> Subject: [PATCH] diff: discard blob data from stat-unmatched pairs
>
> When performing a tree-level diff against the working tree, we may find
> that our index stat information is dirty, so we queue a filepair to be
> examined later. If the actual content hasn't changed, we call this a
> stat-unmatch; the stat information was out of date, but there's no
> actual diff. Normally diffcore_std() would detect and remove these
> identical filepairs via diffcore_skip_stat_unmatch(). However, when
> "--quiet" is used, we want to stop the diff as soon as we see any
> changes, so we check for stat-unmatches immediately in diff_change().
>
> That check may require us to actually load the file contents into the
> pair of diff_filespecs. If we find that the pair isn't a stat-unmatch,
> then no big deal; we'd likely load the contents later anyway to generate
> a patch, do rename detection, etc, so we want to hold on to it. But if
> it a stat-unmatch, then we have no more use for that data; the whole
s/it/& is/
> point is that we're going discard the pair. However, we never free the
> allocated diff_filespec data.
>
> In most cases, keeping that data isn't a problem. We don't expect a lot
> of stat-unmatch entries, and since we're using --quiet, we'd quit as
> soon as we saw such a real change anyway. However, there are extreme
> cases where it makes a big difference:
>
> 1. We'd generally mmap() the working tree half of the pair. And since
> the OS may limit the total number of maps, we can run afoul of this
> in large repositories. E.g.:
>
> $ cd linux
> $ git ls-files | wc -l
> 67959
> $ sysctl vm.max_map_count
> vm.max_map_count = 65530
> $ git ls-files | xargs touch ;# everything is stat-dirty!
> $ git diff --quiet
> fatal: mmap failed: Cannot allocate memory
>
> It should be unusual to have so many files stat-dirty, but it's
> possible if you've just run a script like "sed -i" or similar.
>
> After this patch, the above correctly exits with code 0.
>
> 2. Even if you don't hit mmap limits, the index half of the pair will
> have been pulled from the object database into heap memory. Again
> in a clone of linux.git, running:
>
> $ git ls-files | head -n 10000 | xargs touch
> $ git diff --quiet
>
> peaks at 145MB heap before this patch, and 94MB after.
>
> This patch solves the problem by freeing any diff_filespec data we
> picked up during the "--quiet" stat-unmatch check in diff_changes.
> Nobody is going to need that data later, so there's no point holding on
> to it. There are a few things to note:
>
> - we could skip queueing the pair entirely, which could in theory save
> a little work. But there's not much to save, as we need a
> diff_filepair to feed to diff_filespec_check_stat_unmatch() anyway.
> And since we cache the result of the stat-unmatch checks, a later
> call to diffcore_skip_stat_unmatch() call will quickly skip over
> them. The diffcore code also counts up the number of stat-unmatched
> pairs as it removes them. It's doubtful any callers would care about
> that in combination with --quiet, but we'd have to reimplement the
> logic here to be on the safe side. So it's not really worth the
> trouble.
>
> - I didn't write a test, because we always produce the correct output
> unless we run up against system mmap limits, which are both
> unportable and expensive to test against. Measuring peak heap
> would be interesting, but our perf suite isn't yet capable of that.
>
> - note that diff without "--quiet" does not suffer from the same
> problem. In diffcore_skip_stat_unmatch(), we detect the stat-unmatch
> entries and drop them immediately, so we're not carrying their data
> around.
>
> - you _can_ still trigger the mmap limit problem if you truly have
> that many files with actual changes. But it's rather unlikely. The
> stat-unmatch check avoids loading the file contents if the sizes
> don't match, so you'd need a pretty trivial change in every single
> file. Likewise, inexact rename detection might load the data for
> many files all at once. But you'd need not just 64k changes, but
> that many deletions and additions. The most likely candidate is
> perhaps break-detection, which would load the data for all pairs and
> keep it around for the content-level diff. But again, you'd need 64k
> actually changed files in the first place.
>
> So it's still possible to trigger this case, but it seems like "I
> accidentally made all my files stat-dirty" is the most likely case
> in the real world.
>
> Reported-by: Jan Christoph Uhde <Jan@UhdeJc.com>
> Signed-off-by: Jeff King <peff@peff.net>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] diff: discard blob data from stat-unmatched pairs
2020-06-01 20:22 ` [PATCH] diff: discard blob data from stat-unmatched pairs Jeff King
2020-06-01 20:53 ` Eric Sunshine
@ 2020-06-02 16:49 ` Junio C Hamano
1 sibling, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2020-06-02 16:49 UTC (permalink / raw)
To: Jeff King; +Cc: Jan Christoph Uhde, git
Jeff King <peff@peff.net> writes:
> Subject: [PATCH] diff: discard blob data from stat-unmatched pairs
>
> When performing a tree-level diff against the working tree, we may find
> that our index stat information is dirty, so we queue a filepair to be
> examined later. If the actual content hasn't changed, we call this a
> stat-unmatch; the stat information was out of date, but there's no
> actual diff. Normally diffcore_std() would detect and remove these
> identical filepairs via diffcore_skip_stat_unmatch(). However, when
> "--quiet" is used, we want to stop the diff as soon as we see any
> changes, so we check for stat-unmatches immediately in diff_change().
>
> That check may require us to actually load the file contents into the
> pair of diff_filespecs. If we find that the pair isn't a stat-unmatch,
> then no big deal; we'd likely load the contents later anyway to generate
> a patch, do rename detection, etc, so we want to hold on to it. But if
> it a stat-unmatch, then we have no more use for that data; the whole
> point is that we're going discard the pair. However, we never free the
> allocated diff_filespec data.
Nicely spotted. So we can discard when quiet is in effect after
this check, which makes sense.
After reading the initial analysis, I wondered if the fix we did in
f34b205f (diff: do not quit early on stat-dirty files, 2014-01-25)
was suboptimal and we should have instead done the "if QUICK, check
if the pair is merely stat-unmatch" in the loop(s) that call
diff_change(), hoping that it may have given us a better control
over the lifetime of the filespecs in each diff_filepair, but I do
not think it would made much difference.
> if (options->flags.quick && options->skip_stat_unmatch &&
> - !diff_filespec_check_stat_unmatch(options->repo, p))
> + !diff_filespec_check_stat_unmatch(options->repo, p)) {
> + diff_free_filespec_data(p->one);
> + diff_free_filespec_data(p->two);
> return;
> + }
Thanks. Will queue (with that s/it/& is/ typofix mentioned
elsewhere).
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-06-02 16:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-31 10:46 mmap failure in master 1aa69c73577df21f5e37e47cc40cf44fc049121e Jan Christoph Uhde
2020-06-01 4:45 ` Jeff King
[not found] ` <cfc79aec-ec85-dbec-e37b-6b7035b4c5a4@UhdeJc.com>
2020-06-01 16:54 ` Jeff King
2020-06-01 20:22 ` [PATCH] diff: discard blob data from stat-unmatched pairs Jeff King
2020-06-01 20:53 ` Eric Sunshine
2020-06-02 16:49 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).