This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author David.Edelsohn
Recipients David.Edelsohn, T.Rex, sanket, skrah
Date 2020-08-15.13:49:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1597499366.89.0.467212799484.issue41540@roundup.psfhosted.org>
In-reply-to
Content
AIX uses a "late" memory allocation scheme by default.  If the test wants to malloc(52631578947368422ULL) and intends it to fail, it should run with the AIX

$ export PSALLOC=early

environment variable.  More than all of the other maxdata changes.

Separate from all of this, you are configuring as 64 bit (-q64).  -qmaxmem affects the compiler optimization.

-Wl,-bmaxdata:0x800000000 is a GCC command line option.  "-Wl," passes the appended flag to the linker.  So somehow you're using GCC to invoke the linker, although building with XLC.  XLC knows about -bmaxdata directly.

On the other hand, -bmaxdata behaves differently in 32 bit mode and 64 bit mode.  In 32 bit mode, it increases the heap size from the default 256MB.  In 64 bit mode, it sets a guaranteed maximum size for the heap.

So I think that -bmaxdata may be helping, but not for the reason that you believe.  -Wl,-bmaxdata:0x80000000 may work, although I don't understand how that correctly interacts with XLC.  If you truly are running in 64 bit mode, then -bmaxdata has an effect like PSALLOC.

I sort of think that the solution desired for the testcase is PSALLOC=early to match traditional Unix/Linux malloc() behavior.
History
Date User Action Args
2020-08-15 13:49:26David.Edelsohnsetrecipients: + David.Edelsohn, skrah, sanket, T.Rex
2020-08-15 13:49:26David.Edelsohnsetmessageid: <1597499366.89.0.467212799484.issue41540@roundup.psfhosted.org>
2020-08-15 13:49:26David.Edelsohnlinkissue41540 messages
2020-08-15 13:49:26David.Edelsohncreate