On Sat, 23 Aug 2025 01:46:14 GMT, Chen Liang <li...@openjdk.org> wrote:
> A previous cleanup #14642 accidentally omitted the fact that an > `Array.newInstance` call in `BytecodeDescriptor::parseSig` is intended to > propagate `IllegalArgumentException` to > `MethodType::fromMethodDescriptorString`. This bug is discovered in a recent > cleanup for `BytecodeDescriptor` in #24978. > > Instead of restoring the original `newInstance` call, this patch catches the > `UnsupportedOperationException` thrown by `Class::arrayType` to because the > cause IAE thrown by `newInstance` has no message at all. The existing > reporting system in `BytecodeDescriptor::parseMethod` includes the whole > malformed descriptor string in the error message, which can be triggered by > returning `null` in `parseSig`. Looks good test/jdk/java/lang/invoke/MethodTypeTest.java line 232: > 230: "(" + "[".repeat(256) + "J)I", > 231: "(java/lang/Object)V", > 232: }; Maybe add a case with a bad return type as well? ------------- Marked as reviewed by jvernee (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/26909#pullrequestreview-3151195935 PR Review Comment: https://git.openjdk.org/jdk/pull/26909#discussion_r2297954343