AIX Open Source

AIX Open Source

Share your experiences and connect with fellow developers to discover how to build and manage open source software for the AIX operating system

 View Only
Expand all | Collapse all

git_64 does not use 64-bit libexec64

  • 1.  git_64 does not use 64-bit libexec64

    Posted Fri July 13, 2018 08:59 AM

    Originally posted by: mjpap


    Hi!

    I recently installed git 2.15 on an AIX 6.1 machine. It works well in general but runs out of memory when cloning a big repository:

    remote: Counting objects: 230333, done
    remote: Finding sources: 100% (2527/2527)
    fatal: Out of memory, malloc failed (tried to allocate 284325362 bytes)
    fatal: index-pack failed
    

    This was surprising to me because /opt/freeware/bin/git is a symlink to git_64 which is a 64-bit executable as expected. I also made sure that the appropriate data segment size and max memory size ulimit settings were set to "unlimited".

    Monitoring the system calls with truss showed that git eventually executed "/opt/freeware/libexec/git-core/git index-pack". /opt/freeware/libexec/git-core/git-index-pack is a 32-bit executable which does not even have maxDATA set to allow more than 256 MiB data.

    I could work around the out-of-memory problem by setting the environment variable LDR_CNTRL=MAXDATA=0x80000000@DSA before calling git so that also the 32-bit binaries could use 3+ GiB of data.

    However, I would expect the 64-bit git executable to execute programs from /opt/freeware/libexec64/git-core (which contains 64-bit binaries), not /opt/freeware/libexec/git-core. I have not found a way to force git to do this. Neither executing git_64 nor /opt/freeware/libexec64/git-core/git convinces git to use binaries from libexec64 instead of libexec.

    Is this a bug in the AIX compilation/configuration of git? Under which circumstances does git use libexec64 instead of libexec?



  • 2.  Re: git_64 does not use 64-bit libexec64

    Posted Fri July 13, 2018 10:14 AM

    Originally posted by: AyappanP


    Thanks for reporting the issue.

    Yes, this is a bug in the AIX compilation/configuration of git. It will never invoke libexec64 executables in this build.

    We will fix these issues and publish them soon to AIX Toolbox.