Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pulumi up java.lang.NullPointerException #1276

Open
mrge-slawek-mazur opened this issue Nov 22, 2023 · 5 comments
Open

pulumi up java.lang.NullPointerException #1276

mrge-slawek-mazur opened this issue Nov 22, 2023 · 5 comments
Labels
kind/bug Some behavior is incorrect or out of spec

Comments

@mrge-slawek-mazur
Copy link

What happened?

When doing pulumi up exception java.lang.UnsupportedOperationException is being thrown

Example

pulumi up

failed with an unhandled exception:
    java.lang.UnsupportedOperationException: Convert [com.pulumi.aws.alb.TargetGroup.targetHealthStates]: Error converting 'java.util.Collections$UnmodifiableRandomAccessList' to 'TypeShape{type=interface java.util.List, parameters=[TypeShape{type=class com.pulumi.aws.alb.outputs.TargetGroupTargetHealthState, parameters=[]}]}'. null
    	at com.pulumi.serialization.internal.Converter.convertObjectUntyped(Converter.java:119)
    	at com.pulumi.serialization.internal.Converter.convertValue(Converter.java:86)
    	at com.pulumi.core.internal.OutputCompletionSource.setValue(OutputCompletionSource.java:95)
    	at com.pulumi.deployment.internal.DeploymentImpl$ReadOrRegisterResourceInternal.lambda$completeResourceAsync$0(DeploymentImpl.java:1187)
    	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
    	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:479)
    	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
    Caused by: java.lang.NullPointerException
    	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:889)
    	at com.google.common.collect.ImmutableList$Builder.add(ImmutableList.java:813)
    	at com.pulumi.serialization.internal.Converter.tryConvertList(Converter.java:642)
    	at com.pulumi.serialization.internal.Converter.tryConvertObjectInner(Converter.java:277)
    	at com.pulumi.serialization.internal.Converter.convertObjectUntyped(Converter.java:115)
    	... 10 more

Output of pulumi about

CLI
Version      3.94.2
Go Version   go1.21.4
Go Compiler  gc

Plugins
NAME  VERSION
java  unknown

Host
OS       darwin
Version  14.0
Arch     x86_64

This project is written in java: executable='/Users/slawek/.sdkman/candidates/java/11.0.2-open/bin/java' version='openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)' java='/Users/slawek/.sdkman/candidates/java/11.0.2-open/bin/java' javac='11.0.2' maven='Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)'

Backend
Name         Name
URL            s3://...
User           slawek
Organizations
Token type     personal

Additional context

No response

Contributing

Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@mrge-slawek-mazur mrge-slawek-mazur added kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team labels Nov 22, 2023
@Frassle Frassle transferred this issue from pulumi/pulumi Nov 22, 2023
@justinvp justinvp added awaiting-feedback Blocked on input from the author and removed needs-triage Needs attention from the triage team labels Nov 29, 2023
@justinvp
Copy link
Member

@mrge-slawek-mazur, could you share a small, self-contained program that reproduces the behavior?

@cnunciato
Copy link
Contributor

I hit this today also I think -- this program should repro:

package myproject;

import com.pulumi.Pulumi;
import com.pulumi.awsx.lb.ApplicationLoadBalancer;
import com.pulumi.awsx.lb.ApplicationLoadBalancerArgs;
import com.pulumi.awsx.lb.inputs.ListenerArgs;

public class App {
    public static void main(String[] args) {
        Pulumi.run(ctx -> {

            var alb = new ApplicationLoadBalancer("lb", ApplicationLoadBalancerArgs.builder()
                .listener(ListenerArgs.builder()
                    .port(80)
                    .build())
                .build());

            ctx.export("endpoint", alb.loadBalancer().apply(loadBalancer -> loadBalancer.dnsName()));
        });
    }
}

Using:

<dependencies>
    <dependency>
        <groupId>com.pulumi</groupId>
        <artifactId>pulumi</artifactId>
        <version>(,1.0]</version>
    </dependency>
    <dependency>
        <groupId>com.pulumi</groupId>
        <artifactId>aws</artifactId>
        <version>(6.0.2,6.99]</version>
    </dependency>
    <dependency>
        <groupId>com.pulumi</groupId>
        <artifactId>awsx</artifactId>
        <version>(2.0.0,2.99]</version>
    </dependency>
</dependencies>

@darko-pejchinov
Copy link

Hi, any plans for when this might be fixed?

@smsmithee
Copy link

Hello, I have experienced the same issue and so far have been unable to get Pulumi to add my target group to my load balancer. I am very new to Pulumi and created a Github issue in what I now believe is the wrong place:
pulumi/pulumi-ai#66
It has Java code to reproduce this issue

@mikhailshilkov mikhailshilkov added needs-triage Needs attention from the triage team and removed awaiting-feedback Blocked on input from the author labels May 8, 2024
@justinvp
Copy link
Member

justinvp commented May 8, 2024

I tried @cnunciato's example and couldn't repro. But I'm using a more recent version of Java, from pulumi about:

Host
OS       darwin
Version  14.4.1
Arch     arm64

This project is written in java: executable='/opt/homebrew/opt/openjdk/bin/java' version='openjdk 18.0.2 2022-07-19
OpenJDK Runtime Environment Homebrew (build 18.0.2+0)
OpenJDK 64-Bit Server VM Homebrew (build 18.0.2+0, mixed mode, sharing)' java='/opt/homebrew/opt/openjdk/bin/java' javac='18.0.2' maven='Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)' gradle='7.5.1'

@cnunciato, does this still repro for you?

@justinvp justinvp removed the needs-triage Needs attention from the triage team label May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Some behavior is incorrect or out of spec
Projects
None yet
Development

No branches or pull requests

6 participants