Skip to content

Local runner: Invalid signature file digest for Manifest main attributes #10419

@YannPerthuis

Description

@YannPerthuis

Describe the bug
Hi, I'm currently working with the pulsar functions local runner and I got this following error when I run my application. It throws when I instantiate the FunctionConfig class like the example in the doc.

Error:

Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
        at java.base/sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:336)
        at java.base/sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:269)
        at java.base/java.util.jar.JarVerifier.processEntry(JarVerifier.java:316)
        at java.base/java.util.jar.JarVerifier.update(JarVerifier.java:230)
        at java.base/java.util.jar.JarFile.initializeVerifier(JarFile.java:757)
        at java.base/java.util.jar.JarFile.ensureInitialization(JarFile.java:1034)
        at java.base/java.util.jar.JavaUtilJarAccessImpl.ensureInitialization(JavaUtilJarAccessImpl.java:69)
        at java.base/jdk.internal.loader.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:870)
        at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:786)
        at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        at PulsarFunctionLocalRunner.main(PulsarFunctionLocalRunner.java:17)

To Reproduce
Steps to reproduce the behavior:

  1. Create gradle project
  2. Add following dependencies to your build.gradle :
dependencies { 
    implementation group: 'org.apache.pulsar', name: 'pulsar-functions-api', version: '2.7.1'
    implementation group: 'org.apache.pulsar', name: 'pulsar-functions-local-runner', version: '2.7.1'
}
  1. Copy paste the ExclamationFunction class from the Debug with localrun mode example
  2. Run the main method

Expected behavior
Be able to run the function on the local runner without getting this problem.

Desktop:

  • OS: macOs v11.2.3
  • Gradle: v7.0
  • Java: v8
  • Pulsar: v2.7.1

Originally posted by @YannPerthuis in #8539 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions