Skip to content

Broken lombok annotations processing in 1.57.0 #4545

Closed

Description

@Slowpool

To Reproduce

The same MainController.java code is used further:

package org.swetlokognatsk.earking_out.app.web.controllers;

import lombok.AllArgsConstructor;

@AllArgsConstructor
public class MainController {
}

How compiling worked before, in 1.56.0:

$ javap -c MainController.class
Compiled from "MainController.java"
public class org.swetlokognatsk.earking_out.app.web.controllers.MainController {
  public org.swetlokognatsk.earking_out.app.web.controllers.MainController();
    Code:
       0: aload_0
       1: invokespecial #10                 // Method java/lang/Object."<init>":()V
       4: return
}

How compiling works now, in 1.57.0:

$ javap -c MainController.class
Compiled from "MainController.java"
public class org.swetlokognatsk.earking_out.app.web.controllers.MainController {
  public org.swetlokognatsk.earking_out.app.web.controllers.MainController();
    Code:
}

So, after compilation by extension now the constructor bytecode contains 0 lines of code, and that's invalid for jvm, and you'll get runtime exception:

Caused by: java.lang.ClassFormatError: Invalid method Code length 0 in class file org/swetlokognatsk/earking_out/app/web/controllers/MainController
        at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
        at java.base/java.lang.ClassLoader.defineClass(Unknown Source) ~[na:na]
        at java.base/java.security.SecureClassLoader.defineClass(Unknown Source) ~[na:na]
        at java.base/java.net.URLClassLoader.defineClass(Unknown Source) ~[na:na]
        at java.base/java.net.URLClassLoader.findClass(Unknown Source) ~[na:na]
        at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.findClass(RestartClassLoader.java:138) ~[spring-boot-devtools-4.1.0.jar:4.1.0]
        at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:120) ~[spring-boot-devtools-4.1.0.jar:4.1.0]
        at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ~[na:na]
        at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
        at java.base/java.lang.Class.forName(Unknown Source) ~[na:na]
        at org.springframework.util.ClassUtils.forName(ClassUtils.java:308) ~[spring-core-7.0.8.jar:7.0.8]
        at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:489) ~[spring-beans-7.0.8.jar:7.0.8]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1638) ~[spring-beans-7.0.8.jar:7.0.8]
        at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1564) ~[spring-beans-7.0.8.jar:7.0.8]
        ... 19 common frames omitted

I tried a lots of extension-independent things to fix this error, like cleaning the language server cache, reinstalling the lombok lib, running the code on windows instead of ubuntu, and in the end I came to the conclusion that that's the bug of extension, because at least 5 days ago everything worked fine, on the same environment. 1.57.0 was released 2 days ago.

At least the same problem occurs with @NoArgsConstructor, and i'm not sure whether all other lombok annotations work fine - it requires a lots of testing to figure it out. maybe they share the same under-the-hood problem, after the fix of which all of them will work fine?

Environment

  • Operating System: I got the same results on both Ubuntu 24.04 and on Windows 10
  • JDK version: 26.0.2
  • Visual Studio Code version: 1.113.0, cfbea10c5ffb233ea9177d34726e6056e89913dc, x64
  • In this example I used this maven lombok package:
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.48</version>
            <scope>compile</scope>
        </dependency>

Activity

  1. datho7561 commented on Oct 15, 2026

    @datho7561
    Contributor

    See #4521

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions