The Wire · Showcase
ANDROID CRYPTO CRASH FIXED, ORLEANS DURABLES GET MAJOR PERF OVERHAUL
By RepoJournal · Filed · About .NET
Runtime patched a JNI exception bug crashing Android RSA operations on Pixel 6a, while Orleans shipped a three-PR stack that rewires DurableJobs scheduling, journaling, and instrumentation for production scale.
The Android crypto fix [1] eliminates a CheckJNI SIGABRT when System.Security.Cryptography tries to import RSA keys that BoringSSL won't construct, particularly 16384-bit keys on Android 16. This lands alongside a JIT cleanup [2] that removes dead loop assertions and formatting alignment fixes [3] for generated thunk code. On the Orleans front, three interdependent PRs landed addressing the entire DurableJobs pipeline: the foundation improves journaled shard throughput with due-now execution, shard striping, and batched writes [4], while a second PR layers on distributed tracing and batching metrics [5]. A third PR tackles Azure Blob journaling instrumentation and WAL retry tuning [6]. The reminder scheduling fix [7] adds diagnostic events to prevent test races when advancing fake time. These Orleans changes represent the team's push toward production-ready distributed job handling at scale.
Action items
- → Pull Android RSA crypto patch [ref:1] if shipping to Pixel 6a / Android 16 dotnet/runtime [immediate]
- → Review Orleans DurableJobs three-PR stack [ref:9] [ref:8] [ref:10] if using journaled storage in production dotnet/orleans [plan]
- → Monitor DurableJobs instrumentation output once deployed to tune shard throughput dotnet/orleans [monitor]
References
- [1] [Android] Clear pending JNI exceptions in pal_rsa.c to avoid CheckJNI aborts (#128747) dotnet/runtime
- [2] JIT: remove dead BBJ_RETURN-in-loop assertion in loop cloner (#128791) dotnet/runtime
- [3] Align thunk gen formating with dotnet-format ↗ dotnet/runtime
- [4] perf(durablejobs): improve journaled shard throughput ↗ dotnet/orleans
- [5] feat(durablejobs,journaling): add tracing and batching metrics ↗ dotnet/orleans
- [6] feat(journaling-azure): add instrumentation and retry tuning ↗ dotnet/orleans
- [7] Fix deterministic reminder scheduling waits ↗ dotnet/orleans
FAQ
- What changed in .NET on May 31, 2026?
- Runtime patched a JNI exception bug crashing Android RSA operations on Pixel 6a, while Orleans shipped a three-PR stack that rewires DurableJobs scheduling, journaling, and instrumentation for production scale.
- What should .NET teams do about it?
- Pull Android RSA crypto patch [ref:1] if shipping to Pixel 6a / Android 16 • Review Orleans DurableJobs three-PR stack [ref:9] [ref:8] [ref:10] if using journaled storage in production • Monitor DurableJobs instrumentation output once deployed to tune shard throughput
- Which .NET repositories shipped on May 31, 2026?
- dotnet/runtime, dotnet/orleans