JDK-8346999 : javax/sound/midi/Gervill/SoftSynthesizer/TestRender1 and javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels exit 134
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.sound
  • Affected Version: 11
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: linux
  • CPU: aarch32
  • Submitted: 2025-01-03
  • Updated: 2025-08-25
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11
11-poolUnresolved
Related Reports
Causes :  
Description
The following jtreg tier3 tests are failing for 11 linux armv7 and armv7_musl fastdebug builds:
javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java
javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java

Attached .jtr file test results

build configuration opts:
'--with-zlib=bundled --with-freetype=bundled --with-jvm-features='zgc shenandoahgc' --enable-headless-only=no --with-debug-level=fastdebug --with-native-debug-symbols=zipped --with-boot-jdk=/root/boot-jdk/ --with-sysroot=/opt/sysroot/ --with-toolchain-path=/opt/sysroot/ --disable-warnings-as-errors --openjdk-target=arm-linux-gnueabihf'
Comments
Looks like there is problem with register description sinceVFP instruction accepts only 5 bit numbers while dflt_reg defines 64 registers. However D64 registers are accessible by pairs only (see Advanced SIMD and Floating-point register mapping) with numbers 0-31. Probably this function need to be fixed instruct vmul2F_reg_vfp(vecD dst, vecD src1, vecD src2) %{ predicate(n->as_Vector()->length() == 2 && !VM_Version::simd_math_is_compliant()); match(Set dst (MulVF src1 src2)); size(4*2); ins_cost(DEFAULT_COST*2); // FIXME format %{ "FMULS $dst.a,$src1.a,$src2.a\n\t" "FMULS $dst.b,$src1.b,$src2.b" %} ins_encode %{ __ mul_float($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister); __ mul_float($dst$$FloatRegister->successor(), $src1$$FloatRegister->successor(), $src2$$FloatRegister->successor()); %} ins_pipe(fmulF_reg_reg); // FIXME %}
10-01-2025

Stack trace #8 0xf724ae02 in report_vm_error (file=0xf7bfe128 "/home/ubuntu/jdk11u/src/hotspot/cpu/arm/assembler_arm_32.hpp", line=line@entry=641, error_msg=0xf7c0331c "assert(fn->hi_bit() == 0 && fd->hi_bit() == 0 && fm->hi_bit() == 0) failed", detail_fmt=0xf7c03300 "double precision register?") at /home/ubuntu/jdk11u/src/hotspot/share/utilities/debug.cpp:248 #9 0xf6e188f0 in Assembler::fmuls (this=0xf6e0bb87 <vmul2F_reg_vfpNode::emit(CodeBuffer&, PhaseRegAlloc*) const+154>, fd=0x20, fn=0x20, fm=0x1e, cond=al) at /home/ubuntu/jdk11u/src/hotspot/cpu/arm/assembler_arm_32.hpp:641 #10 0xf6e0bb86 in MacroAssembler::mul_float (arg3=<optimized out>, arg2=0x20, arg1=0x2, this=0xb01fcf54) at /home/ubuntu/jdk11u/src/hotspot/cpu/arm/macroAssembler_arm.hpp:766 #11 vmul2F_reg_vfpNode::emit (this=0xaf559da8, cbuf=..., ra_=0xb01fd3a0) at /home/ubuntu/jdk11u/src/hotspot/cpu/arm/arm.ad:13497 #12 0xf71a6812 in Compile::scratch_emit_size (this=0xb01fe220, n=0xaf559da8) at /home/ubuntu/jdk11u/src/hotspot/share/opto/compile.cpp:623 #13 0xf77792ee in MachNode::emit_size (ra_=<optimized out>, this=<optimized out>) at /home/ubuntu/jdk11u/src/hotspot/share/opto/machnode.cpp:155 #14 0xf6e0be20 in vmul2F_reg_vfpNode::size (this=0xaf559da8, ra_=0xb01fd3a0) at ad_arm.cpp:18013 #15 0xf78e58c8 in Compile::shorten_branches (this=0xf7c12508, this@entry=0xb01fe220, blk_starts=0xf78e6c03 <Compile::init_buffer(unsigned int*)+534>, blk_starts@entry=0xafe1a614, code_size=@0xb01fd1f8: 0, reloc_size=@0xe596f8: -136544780, stub_size=<optimized out>) at /home/ubuntu/jdk11u/src/hotspot/share/opto/output.cpp:333 #16 0xf78e6c02 in Compile::init_buffer (this=this@entry=0xb01fe220, blk_starts=0xafe1a614, blk_starts@entry=0x0) at /home/ubuntu/jdk11u/src/hotspot/share/opto/output.cpp:1029 #17 0xf78f069a in Compile::Output (this=this@entry=0xb01fe220) at /home/ubuntu/jdk11u/src/hotspot/share/opto/output.cpp:122 #18 0xf71b7568 in Compile::Code_Gen (this=this@entry=0xb01fe220) at /home/ubuntu/jdk11u/src/hotspot/share/opto/compile.cpp:2576 #19 0xf71bb608 in Compile::Compile (this=0xb01fe220, ci_env=<optimized out>, compiler=0xf6bb6638, target=<optimized out>, osr_bci=-1, subsume_loads=true, do_escape_analysis=true, eliminate_boxing=true, do_locks_coarsening=true, directive=0xb1bedc10) at /home/ubuntu/jdk11u/src/hotspot/share/opto/compile.cpp:920 #20 0xf702dac6 in C2Compiler::compile_method (this=0xb122beb0, env=0x0, target=0xaf8929f0, entry_bci=0, directive=0xb1bedc10) at /home/ubuntu/jdk11u/src/hotspot/share/opto/c2compiler.cpp:114 #21 0xf71c759c in CompileBroker::invoke_compiler_on_method (task=task@entry=0xb05d3ce0) at /home/ubuntu/jdk11u/src/hotspot/share/compiler/compileBroker.cpp:2183 #22 0xf71c84f4 in CompileBroker::compiler_thread_loop () at /home/ubuntu/jdk11u/src/hotspot/share/compiler/compileBroker.cpp:1876 #23 0xf7af31be in JavaThread::thread_main_inner (this=0xb0419400) at /home/ubuntu/jdk11u/src/hotspot/share/runtime/thread.hpp:1246 #24 0xf7aeda46 in Thread::call_run (this=this@entry=0xb0419400) at /home/ubuntu/jdk11u/src/hotspot/share/runtime/thread.cpp:388 #25 0xf78d3384 in thread_native_entry (thread=0xb0419400) at /home/ubuntu/jdk11u/src/hotspot/os/linux/os_linux.cpp:826 #26 0xf7efcf5e in start_thread (arg=0xec3d3be4) at pthread_create.c:447 #27 0xf7f50ad8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone3.S:71 from /lib/arm-linux-gnueabihf/libc.so.6
10-01-2025