Skip to content

fix: suppress fastjson2 Unsafe deprecation warnings on Java 23+#382

Merged
fglock merged 1 commit intomasterfrom
fix-json-warnings
Mar 26, 2026
Merged

fix: suppress fastjson2 Unsafe deprecation warnings on Java 23+#382
fglock merged 1 commit intomasterfrom
fix-json-warnings

Conversation

@fglock
Copy link
Owner

@fglock fglock commented Mar 26, 2026

Summary

  • Add --sun-misc-unsafe-memory-access=allow JVM option to suppress warnings from fastjson2 using deprecated sun.misc.Unsafe methods
  • Flag is only added on Java 23+ (JEP 471), since the option does not exist in Java 22
  • Updated both jperl (Unix) and jperl.bat (Windows) launchers

Problem

On Java 23+, running ./jperl -MJSON -E 'say encode_json({hello => "world"})' shows warnings:

WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by com.alibaba.fastjson2.util.JDKUtils
WARNING: Please consider reporting this to the maintainers of class com.alibaba.fastjson2.util.JDKUtils
WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release

Solution

Detect Java version at runtime and add the suppression flag only when >= 23.

Test plan

  • Tested on Java 24: no warnings, output is {"hello":"world"}
  • Should be tested on Java 22 to verify no errors from unknown flag

Generated with Devin

Add --sun-misc-unsafe-memory-access=allow JVM option to suppress
warnings about fastjson2 using deprecated sun.misc.Unsafe methods.

These warnings appear on Java 23+ (JEP 471) when using JSON module:
  WARNING: sun.misc.Unsafe::arrayBaseOffset has been called by
  com.alibaba.fastjson2.util.JDKUtils

The flag is only added when Java version >= 23, since the option
does not exist in Java 22.

Updated both jperl (Unix) and jperl.bat (Windows) launchers.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@fglock fglock merged commit 7f9a517 into master Mar 26, 2026
2 checks passed
@fglock fglock deleted the fix-json-warnings branch March 26, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant