Root caused SIGSEGV when Memory Allocation > 4GiB on 32 bit systems

During runtime SIGSEGV eventually occurs on 32 bit systems when a request for memory allocation is greater than 4GiB. This is because the number of bytes parameter for allocation function has 32 bits and can only represent a maximum of 4Gi and the actual number of bytes requested is the result of requested_number_bytes AND (2^32 -1). So, providing there is sufficient free memory, this succeeds and eventually when the runtime attempts to access memory outside the actual number of bytes allocated a SIGSEGV occurs.