huaweicloud-sdk-java-obs
huaweicloud-sdk-java-obs copied to clipboard
Raise StackOverflowError with latest version sdk (3.23.9.1)
Runtime JDK 11, with sdk com.huaweicloud:esdk-obs-java-bundle:3.23.9.1
2023-12-08T06:14:55.533Z [ArchiveThread-persistent://data/uu/feature.plain.result.queue-partition-0] ERROR com.xxx.archive.PartitionArchive - Last message archive upload failed, exit message archive
com.obs.services.exception.ObsException: OBS service Error Message. Request Error: java.lang.StackOverflowError
at com.obs.services.internal.utils.ServiceUtils.changeFromServiceException(ServiceUtils.java:540)
at com.obs.services.AbstractClient.doActionWithResult(AbstractClient.java:398)
at com.obs.services.AbstractObjectClient.putObject(AbstractObjectClient.java:284)
at com.obs.services.AbstractObjectClient.putObject(AbstractObjectClient.java:321)
at com.xxx.obs.HuaweiObjectStorageService.lambda$putArchive$0(HuaweiObjectStorageService.java:86)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.StackOverflowError
at java.base/java.util.Collections$UnmodifiableCollection.isEmpty(Collections.java:1033)
at java.base/java.util.Collections$UnmodifiableCollection.isEmpty(Collections.java:1033)
at java.base/java.util.Collections$UnmodifiableCollection.isEmpty(Collections.java:1033)
at java.base/java.util.Collections$UnmodifiableCollection.isEmpty(Collections.java:1033)
at java.base/java.util.Collections$UnmodifiableCollection.isEmpty(Collections.java:1033)
at java.base/java.util.Collections$UnmodifiableCollection.isEmpty(Collections.java:1033)
at java.base/java.util.Collections$UnmodifiableCollection.isEmpty(Collections.java:1033)
at java.base/java.util.Collections$UnmodifiableCollection.isEmpty(Collections.java:1033)
at java.base/java.util.Collections$UnmodifiableCollection.isEmpty(Collections.java:1033)
at java.base/java.util.Collections$UnmodifiableCollection.isEmpty(Collections.java:1033)
...
Client putObject
code below:
Observed once in production, cause currently unknown.
检查jvm参数xss, 建议将xss参数设置为1M。xss是jvm启动的每个线程分配的内存大小,默认JDK1.4中是256K,JDK1.5+中是1M。
检查jvm参数xss, 建议将xss参数设置为1M。xss是jvm启动的每个线程分配的内存大小,默认JDK1.4中是256K,JDK1.5+中是1M。
We do use the default value for xss
. According to the stacktrace, it looks like a infinite recursive call, no idea what's happened here.
Related https://bugs.openjdk.org/browse/JDK-8177031