Skip to content

[Native Image] local class incompatible: serialVersionUID #12419

@kwillenson

Description

@kwillenson

Describe the Issue

After compiling the code with native-image and reading an "old" file, I get the following error

Exception com.performanceplanningsystem.site.setup.PenColorMap; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = -2769420628433509693

When I run the same code, read the same file, from the development environment it works.

PenColorMap.java

Using the latest version of GraalVM can resolve many issues.

GraalVM Version

java version "23.0.2" 2025-01-21
Java(TM) SE Runtime Environment Oracle GraalVM 23.0.2+7.1 (build 23.0.2+7-jvmci-b01)
Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 23.0.2+7.1 (build 23.0.2+7-jvmci-b01, mixed mode, sharing)

Operating System and Version

OS Name Microsoft Windows 11 Home Version 10.0.26100 Build 26100 Other OS Description Not Available OS Manufacturer Microsoft Corporation System Name KEITH-OMEN System Manufacturer HP System Model OMEN by HP 25L Gaming Desktop GT15-2xxx System Type x64-based PC System SKU 9U9Z0AA#ABA Processor Intel(R) Core(TM) i7-14700F, 2100 Mhz, 20 Core(s), 28 Logical Processor(s) BIOS Version/Date AMI F.26, 8/12/2024 SMBIOS Version 3.6 Embedded Controller Version 12.17 BIOS Mode UEFI BaseBoard Manufacturer HP BaseBoard Product 8B1D BaseBoard Version 11 Platform Role Desktop Secure Boot State On PCR7 Configuration Elevation Required to View Windows Directory C:\windows System Directory C:\windows\system32 Boot Device \Device\HarddiskVolume1 Locale United States Hardware Abstraction Layer Version = "10.0.26100.1" User Name Keith-Omen\keith Time Zone Central Daylight Time Installed Physical Memory (RAM) 32.0 GB Total Physical Memory 31.8 GB Available Physical Memory 8.57 GB Total Virtual Memory 83.8 GB Available Virtual Memory 54.0 GB Page File Space 52.0 GB Page File C:\pagefile.sys Kernel DMA Protection On Virtualization-based security Running Virtualization-based security Required Security Properties Base Virtualization Support Virtualization-based security Available Security Properties Base Virtualization Support, Secure Boot, DMA Protection, UEFI Code Readonly, SMM Security Mitigations 1.0, Mode Based Execution Control, APIC Virtualization Virtualization-based security Services Configured Hypervisor enforced Code Integrity Virtualization-based security Services Running Hypervisor enforced Code Integrity App Control for Business policy Enforced App Control for Business user mode policy Off Automatic Device Encryption Support Elevation Required to View A hypervisor has been detected. Features required for Hyper-V will not be displayed.

Troubleshooting Confirmation

Run Command

"C:\Program Files\LandMentor\LandMentor2020Native.exe"

Expected Behavior

user interface starts - check
load files - not working for "old" files

Actual Behavior

user interface starts
loading old file does not work due to serialVersionUID mismatch

Steps to Reproduce

start program
go to File on the top Menu bar
select Open
file dialog popup shows up
select file (in this case Day_1\Beginning Step 3.ppf)
file does not load, error message about loading failure shows up in message box

Additional Context

old files have com.performanceplanningsystem.* classes
everything moved to com.neighborhoodinnovations.*
so com.performanceplanningsystem.* is stubs pointing to com.neighborhoodinnovations.*

PenColorMap.java

Run-Time Log Output and Error Messages

com.neighborhoodinnovations.ui.App.preApp(18621) LandMentor 2020 compiled at 2025-10-21 14:41:01.421
fixEnvJNI.c(155) context d. monitor_v2 dpi 96 setProcess 0 setThread 1
com.neighborhoodinnovations.ui.App.showScreenSize(18546) screenSize 1920, 1080, 96
com.neighborhoodinnovations.ui.App.createContents(17389) LandMentor 2020, compiled=2025-10-21 14:41:01.421
version=FULL, id=BC37-E795-C865-AEEF-7C9E-5DBC
started at 2025-10-23 09:47:33.417
com.neighborhoodinnovations.site.setup.Setup.(410) C:\Users\keith\AppData\Local\LMSetup/default.set exists, now read it
com.neighborhoodinnovations.site.setup.Setup.readExternal(1013) readExternal initialize screenDPI 0
com.neighborhoodinnovations.site.setup.Setup.(425) fileSetupVersion 20191011 Setup.VERSION_NUMBER 20191011
com.neighborhoodinnovations.site.setup.Setup.setSiteFileHome(14327) Setup.setSiteFileHome C:\Users\keith\AppData\Local\LMSetup
com.neighborhoodinnovations.site.setup.Setup.readExternal(1013) readExternal initialize screenDPI 0
com.neighborhoodinnovations.ui.App.createContents(17485) cleanupEventLogs
com.neighborhoodinnovations.site.setup.Setup.setSiteFileHome(14327) Setup.setSiteFileHome C:\Users\keith
com.neighborhoodinnovations.ui.App.createContents(17487) cleanupEventLogs done
com.neighborhoodinnovations.ui.App.createContents(17662) after verticalDesign 1689
com.neighborhoodinnovations.site.SiteLog.(321) rafFileName C:\Users\keith\AppData\Local\LMSetup\site1_20251023_0947.evt
com.neighborhoodinnovations.site.Site.load(22108) Site.load(site1)
com.neighborhoodinnovations.site.SiteLog.(321) rafFileName C:\Users\keith\AppData\Local\LMSetup\site1_20251023_0947.evt
com.neighborhoodinnovations.site.SiteLog.(321) rafFileName C:\Users\keith\AppData\Local\LMSetup\site_20251023_0947.evt
com.neighborhoodinnovations.site.setup.Setup.setSiteFileHome(14327) Setup.setSiteFileHome H:\DAY_1
com.neighborhoodinnovations.site.SiteLog.close(367) SiteLog.close delete C:\Users\keith\AppData\Local\LMSetup\site_20251023_0947.evt
com.neighborhoodinnovations.site.SiteLog.(321) rafFileName H:\DAY_1\Beginning Step3_20251023_0954.evt
com.neighborhoodinnovations.site.Site.load(22108) Site.load(H:\DAY_1\Beginning Step3.ppf)
com.neighborhoodinnovations.ui.App.showHourglass2(2083) set Info/arrows_spinning_chase_500_clr_9838.gif
com.neighborhoodinnovations.site.SiteLog.(321) rafFileName H:\DAY_1\Beginning Step3_20251023_0954.evt
com.neighborhoodinnovations.site.Site.readIn(11926) Site.readIn attempt to read H:\DAY_1\Beginning Step3.ppf
com.neighborhoodinnovations.site.Site.readExternal(1357) Exception com.performanceplanningsystem.site.setup.PenColorMap; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = -2769420628433509693
java.io.InvalidClassException: com.performanceplanningsystem.site.setup.PenColorMap; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = -2769420628433509693
at java.base@23.0.2/java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:604)
at java.base@23.0.2/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2072)
at java.base@23.0.2/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1915)
at java.base@23.0.2/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2246)
at java.base@23.0.2/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1750)
at java.base@23.0.2/java.io.ObjectInputStream.readObject(ObjectInputStream.java:528)
at java.base@23.0.2/java.io.ObjectInputStream.readObject(ObjectInputStream.java:486)
at com.neighborhoodinnovations.site.setup.Setup.readExternal20160824(Setup.java:2525)
at com.neighborhoodinnovations.site.setup.Setup.readExternal(Setup.java:1078)
at java.base@23.0.2/java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2327)
at java.base@23.0.2/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2276)
at java.base@23.0.2/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1750)
at java.base@23.0.2/java.io.ObjectInputStream.readObject(ObjectInputStream.java:528)
at java.base@23.0.2/java.io.ObjectInputStream.readObject(ObjectInputStream.java:486)
at com.neighborhoodinnovations.site.Site.readExternal20180522(Site.java:1598)
at com.neighborhoodinnovations.site.Site.readExternal(Site.java:1064)
at java.base@23.0.2/java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2327)
at java.base@23.0.2/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2276)
at java.base@23.0.2/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1750)
at java.base@23.0.2/java.io.ObjectInputStream.readObject(ObjectInputStream.java:528)
at java.base@23.0.2/java.io.ObjectInputStream.readObject(ObjectInputStream.java:486)
at com.neighborhoodinnovations.site.Site.readIn(Site.java:11990)
at com.neighborhoodinnovations.site.Site.load(Site.java:6789)
at com.neighborhoodinnovations.site.LoadSave$1.load(LoadSave.java:47)
at com.neighborhoodinnovations.site.LoadSave.loadSave(LoadSave.java:324)
at com.neighborhoodinnovations.site.LoadSave.load(LoadSave.java:428)
at com.neighborhoodinnovations.site.Site$LoadSaveSite.run(Site.java:29884)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:124)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:832)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:808)
com.neighborhoodinnovations.site.SiteLog.(321) rafFileName H:\DAY_1\Beginning Step3_20251023_0954.evt
com.neighborhoodinnovations.site.LoadSave.loadSave(349) Unexpected type of exception
Oct 23, 2025 9:54:31 AM com.neighborhoodinnovations.ui.App diagAndLog
SEVERE: Unexpected type of exception
java.lang.NullPointerException
at com.neighborhoodinnovations.site.Site.set(Site.java:6949)
at com.neighborhoodinnovations.site.Site.load(Site.java:6803)
at com.neighborhoodinnovations.site.LoadSave$1.load(LoadSave.java:47)
at com.neighborhoodinnovations.site.LoadSave.loadSave(LoadSave.java:324)
at com.neighborhoodinnovations.site.LoadSave.load(LoadSave.java:428)
at com.neighborhoodinnovations.site.Site$LoadSaveSite.run(Site.java:29884)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:124)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:832)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:808)
com.neighborhoodinnovations.site.SiteLog.(321) rafFileName H:\DAY_1\Beginning Step3_20251023_0954.evt
com.neighborhoodinnovations.site.Site.loadSave(22037) pointMap.size is 0
com.neighborhoodinnovations.site.SiteLog.(321) rafFileName C:\Users\keith\AppData\Local\LMSetup\site1_20251023_0954.evt
com.neighborhoodinnovations.site.Site.load(22108) Site.load(site1)
com.neighborhoodinnovations.site.SiteLog.(321) rafFileName C:\Users\keith\AppData\Local\LMSetup\site1_20251023_0954.evt

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions