UiEventHandler message limit is 1GB, accommodating JDK9+ UTF-8 parser In JDK9+, the String(byte[], int, int, Charset) constructor may allocate a new byte[] buffer with size twice the "length" parameter if the Charset is UTF-8 and the input byte[] buffer contains a byte with the high bit set. If double the "length" integer parameter overflows, this leads to a NegativeArraySizeException that crashes the build tool. UI messages are already limited to just under 2GB to avoid common JVM limitations. Since we do not expect UI messages between [1GB, 2GB) to be useful for human consumption, and any such UI messages come from stdout/stderr files that can be preserved for inspection, we can reduce the existing limit from ~2GB to ~1GB. PiperOrigin-RevId: 305930463
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md