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

Kafka snappy conversion fails on native aarch64 for missing native library #43801

Closed
mocenas opened this issue Oct 10, 2024 · 3 comments · Fixed by #43905
Closed

Kafka snappy conversion fails on native aarch64 for missing native library #43801

mocenas opened this issue Oct 10, 2024 · 3 comments · Fixed by #43905
Assignees
Labels
Milestone

Comments

@mocenas
Copy link
Contributor

mocenas commented Oct 10, 2024

Describe the bug

When using quarkus-messaging-kafka, with snappy enabled (quarkus.kafka.snappy.enabled=true), it fails to start on native on architecture aarch64, with exception

java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
	at io.quarkus.runtime.Application.start(Application.java:101)
	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
	at io.quarkus.runner.GeneratedMain.main(Unknown Source)
Caused by: java.lang.RuntimeException: no native library is found for os.name=Linux and os.arch=aarch64
	at io.quarkus.kafka.client.runtime.SnappyRecorder.getLibraryFile(SnappyRecorder.java:45)
	at io.quarkus.kafka.client.runtime.SnappyRecorder.loadSnappy(SnappyRecorder.java:26)
	at io.quarkus.deployment.steps.KafkaProcessor$loadSnappyIfEnabled133026306.deploy_0(Unknown Source)
	at io.quarkus.deployment.steps.KafkaProcessor$loadSnappyIfEnabled133026306.deploy(Unknown Source)

Expected behavior

No response

Actual behavior

No response

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

No response

Mandrel or GraalVM version (if different from Java)

No response

Quarkus version or git rev

No response

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

No response

@mocenas mocenas added area/native-image kind/bug Something isn't working labels Oct 10, 2024
@quarkus-bot
Copy link

quarkus-bot bot commented Oct 10, 2024

/cc @Karm (mandrel), @alesj (kafka), @cescoffier (kafka), @galderz (mandrel), @ozangunalp (kafka), @zakkak (mandrel,native-image)

@zakkak
Copy link
Contributor

zakkak commented Oct 10, 2024

@cescoffier if I get this right #40304 is only meant for JVM mode, so restricting it to JVM-mode and applying something like #43782 in native-mode wouldn't break it, right?

@cescoffier
Copy link
Member

Yes.

We started receiving more demands to include native libraries for other os/arch (not only the host one). I will start a discussion on Monday as we need to discuss how we can handle that and the consequences on native compilation.

@zakkak zakkak closed this as completed in b9ec68c Oct 16, 2024
@quarkus-bot quarkus-bot bot added this to the 3.17 - main milestone Oct 16, 2024
@gsmet gsmet modified the milestones: 3.17 - main, 3.16.0 Oct 21, 2024
gsmet pushed a commit to gsmet/quarkus that referenced this issue Oct 21, 2024
Always registers the correct native library as the logic runs on the
same architecture we are targeting (even when using containers).

Closes quarkusio#43801

(cherry picked from commit b9ec68c)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants