-
Notifications
You must be signed in to change notification settings - Fork 853
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
StackOverflowError on Alpine when using DefaultS3CrtAsyncClient #4935
Comments
So this issue occurred for me as well… I’m just here to mention we switched the image to amazoncorretto 17 jdk ubuntu 20.04 (But of course you can also use non-crt3 as an alternative…) |
@ffried thank you for reaching out - and bonus points for using collapsible sections in the repro steps. We'll investigate. |
I am also encountering this issue. sdk version: 2.25.7 |
I am encountering this issue with:
|
This problem also occurs when the official Alpine-based Apache Kafka container is used in Eventbridge tests. A simplified version of the failing execution: try (var ebClient = EventBridgeAsyncClient.builder()
.region(US_EAST_1)
.endpointOverride(ENDPOINT)
.httpClientBuilder(AwsCrtAsyncHttpClient.builder())
.overrideConfiguration(clientConfig)
.credentialsProvider(DefaultCredentialsProvider.create())
.build()
) {
var entry = PutEventsRequestEntry.builder()
.eventBusName(EVENTBUS_ARN)
.source("kafka-connect.eventbridge-e2e-connector")
.detailType("kafka-connect-eventbridge-e2e")
.detail("{\"topic\":\"eventbridge-e2e\",\"partition\":0,\"offset\":0,\"timestamp\":1688464495808,\"timestampType\":\"CreateTime\",\"headers\":[],\"key\":null,\"value\":{\"hello\":\"world\"}}")
.build();
var request = PutEventsRequest.builder().entries(entry).build();
logger.info("{}", request);
try {
var response = ebClient.putEvents(request).get(SDK_TIMEOUT, MILLISECONDS);
logger.info("{}", response);
} catch (InterruptedException | ExecutionException | TimeoutException e) {
logger.error("Doh!", e);
}
} If does not fail when using Java w/ glibc. See attached log files with alpine-temurin21.log The used versions:
Also, it does not fail if |
@debora-ito any update on this? we're facing the same issue with alpine and temurin 17 and it's blocking us |
Got the same issue here as well, running on:
Same issue running with the S3AsyncClient.builder().build() (no CRT) succeeds, running the CRT client it fails. |
This reverts commit 26e1785. Hit an unexpected error that might be the same issue as this: aws/aws-sdk-java-v2#4935
Same issue, using:
|
Changing the base image for the spring boot app from software.amazon.awssdk 2.26.9 |
This should be fixed in https://github.com/awslabs/aws-crt-java/releases/tag/v0.30.3. Please try it out, and let me know if the issue persists. |
@waahm7 I can confirm this to be fixed using the following versions:
Thank you! |
This issue is now closed. Comments on closed issues are hard for our team to see. |
Describe the bug
Using the
DefaultS3CrtAsyncClient
as produced byS3AsyncClient.crtBuilder().build()
fails with aStackOverflowError
on Alpine when running aListObjectsRequest
.Using
S3AsyncClient.builder().build()
(no CRT) succeeds.Expected Behavior
The CRT client works just as fine as the normal client (if not better 😉).
Current Behavior
A
StackOverflowError
is raised.Reproduction Steps
Reproduction files:
Main.java
pom.xml
Dockerfile
Then building (with buildx) and running the container, passing a bucket name as command will result in a StackOverflowError.
Stack Trace (from
stdout
)Possible Solution
No response
Additional Information/Context
Using a non-alpine image (removing the
-alpine
suffixes in the build layer and run layer base image) does not result in the same exception.This issue was originally reported in the aws-crt-java repository: awslabs/aws-crt-java#737
However, I was asked to report it here instead.
AWS Java SDK version used
2.22.2
JDK version used
21.0.1
Operating System and version
Alpine Linux v3.18
The text was updated successfully, but these errors were encountered: