re: https://bz.apache.org/bugzilla/show_bug.cgi?id=45615
I think it best to follow up here as per suggestions by Yann and Rainer wherein I can run further tests and experiments to determine what is happening here in these Niagara class systems. Firstly, sorry for awaking what seems like a long dead cold bug but it really isn't a "Large Files not supported" bug as opposed to just a message that needs to be tweaked. Indeed yes this is a 64 bit build and so off_t and size_t and going to be 64-bit sized : int main(int argc, char *argv[]) { printf ("\nC\n"); printf ( "sizeof char = %d\n", sizeof (char)); printf ( "sizeof double = %d\n", sizeof (double)); printf ( "sizeof float = %d\n", sizeof (float)); printf ( "sizeof int = %d\n", sizeof (int)); printf ( "sizeof long = %d\n", sizeof (long)); printf ( "sizeof long long = %d\n", sizeof (long long)); printf ( "sizeof short = %d\n", sizeof (short)); printf ( "sizeof void * = %d\n", sizeof (void *)); printf ( "sizeof clock_t = %d\n", sizeof (clock_t)); printf ( "sizeof gid_t = %d\n", sizeof (gid_t)); printf ( "sizeof pid_t = %d\n", sizeof (pid_t)); printf ( "sizeof size_t = %d\n", sizeof (size_t)); printf ( "sizeof ssize_t = %d\n", sizeof (ssize_t)); printf ( "sizeof off_t = %d\n", sizeof (off_t)); printf ( "sizeof time_t = %d\n", sizeof (time_t)); printf ( "sizeof uid_t = %d\n", sizeof (uid_t)); printf ( "sizeof \"\" = %d\n", sizeof ("")); return (EXIT_SUCCESS); } C sizeof char = 1 sizeof double = 8 sizeof float = 4 sizeof int = 4 sizeof long = 8 sizeof long long = 8 sizeof short = 2 sizeof void * = 8 sizeof clock_t = 8 sizeof gid_t = 4 sizeof pid_t = 4 sizeof size_t = 8 sizeof ssize_t = 8 sizeof off_t = 8 sizeof time_t = 8 sizeof uid_t = 4 sizeof "" = 1 So that seems clear. As for the blocking rand, well hrmmm, not unless I was trying to read a ton of data from /dev/random wherein : Devices random(7D) NAME random, urandom - Strong random number generator device SYNOPSIS /dev/random /dev/urandom DESCRIPTION The /dev/random and /dev/urandom files are special files that are a source for random bytes generated by the kernel random number generator device. The /dev/random and /dev/urandom files are suitable for applications requiring high quality random numbers for cryptographic purposes. The generator device produces random numbers from data and devices available to the kernel and estimates the amount of randomness (or entropy) collected from these sources. The entropy level determines the amount of high quality random numbers that are produced at a given time. Applications retrieve random bytes by reading /dev/random or /dev/urandom. The /dev/random interface returns random bytes only when sufficient amount of entropy has been collected. If there is no entropy to produce the requested number of bytes, /dev/random blocks until more entropy can be obtained. Non-blocking I/O mode can be used to disable the blocking behavior. The /dev/random interface also supports poll(2). Note that using poll(2) will not increase the speed at which random numbers can be read. etc etc ... So I would expect that /dev/random may slow down but not by too much while many other processes are running on the system and in this case the build system is a single virtual zone inside a machine with a number of zones. There should be plenty of data. However I have never run a benchmark. I can certainly run a test for "blocking rand()" as per http://pubs.opengroup.org/onlinepubs/9699919799/functions/rand.html However I will say that the Apache 2.4.25 server seems to be running very well with this new apr and apr-util but I am sure we can sort out this weird test behavior. I certainly have the Sparc hardware sitting here and can even provide the Oracle Sparc M7 tests if needed. Dennis