Skip to content

Pulsar Java Client 2.8.0 does not work on openjdk:8-jdk-alpine #11224

@hadesy

Description

@hadesy

Describe the bug

  • Docker image: openjdk: 8-jdk-alpine
  • Pulsar client verison: 2.8.0

It crashes with a core dump.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000000000003efe, pid=7, tid=0x00007fe439886b10
#
# JRE version: OpenJDK Runtime Environment (8.0_212-b04) (build 1.8.0_212-b04)
# Java VM: OpenJDK 64-Bit Server VM (25.212-b04 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea 3.12.0
# Distribution: Custom build (Sat May  4 17:33:35 UTC 2019)
# Problematic frame:
# C  0x0000000000003efe
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
#   https://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x000056051e70a000):  JavaThread "main" [_thread_in_native, id=8, stack(0x00007fe439786000,0x00007fe439886ad0)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000003efe

Registers:
RAX=0x0000000000000000, RBX=0x0000560524633340, RCX=0x0000000000000000, RDX=0x0000000000000003
RSP=0x00007fe4398822d8, RBP=0x00007fe439882310, RSI=0x0000000000000018, RDI=0x0000560524633348
R8 =0x00007fe41ccff7d9, R9 =0x8080808080808080, R10=0x0000000000000000, R11=0x0000000000000406
R12=0x00007fe41ccfe794, R13=0x0000000000000018, R14=0x00007fe43988234c, R15=0x00007fe439882578
RIP=0x0000000000003efe, EFLAGS=0x0000000000010216, CSGSFS=0x002b000000000033, ERR=0x0000000000000014
  TRAPNO=0x000000000000000e

Top of Stack: (sp=0x00007fe4398822d8)
0x00007fe4398822d8:   00007fe41ccfe39a 00007fe439882320
0x00007fe4398822e8:   00007fe43a32ba68 00007fe41ccfe794
0x00007fe4398822f8:   0000560524633340 00007fe41ccf73e0
0x00007fe439882308:   000056051e70a1e0 00007fe439882370
0x00007fe439882318:   00007fe41ccfe487 0000560524633340
0x00007fe439882328:   00007fe41ccf3000 0000000000000000
0x00007fe439882338:   0000000000000000 000056051e70a1e0
0x00007fe439882348:   00000000397672ae 0000560524633060
0x00007fe439882358:   0000000000000000 00005605246331e0
0x00007fe439882368:   000056051e70a1e0 00007fe439882570
0x00007fe439882378:   00007fe439750b04 0001000126c40b0d
0x00007fe439882388:   00007fe41ccf7200 00000000e8ad6ff0
0x00007fe439882398:   00007fe43a25ca80 00007fe439882400
0x00007fe4398823a8:   00007fe42a734ffd 00000000a32c7bc8
0x00007fe4398823b8:   00007fe42ad7b6ac 00000000a32c7bc8
0x00007fe4398823c8:   0000000d26c40b0d 00000000e8ad6ff0
0x00007fe4398823d8:   00000000a362de18 0000000000000000
0x00007fe4398823e8:   00000000e8ad13f0 0000000000000000
0x00007fe4398823f8:   00007fe439882410 00007fe439882498
0x00007fe439882408:   00007fe42a734ffd 00007fe439882498
0x00007fe439882418:   00007fe42a734e54 000056051e70a000
0x00007fe439882428:   00007fe439882570 00007fe439882500
0x00007fe439882438:   0000000000000000 00007fe42a82f280
0x00007fe439882448:   00007fe43a29a760 00000000a39d0ad8
0x00007fe439882458:   0000000000000021 00000000e8ad7030
0x00007fe439882468:   0000000040200020 00007fe4398824a0
0x00007fe439882478:   00007fe4398824a0 00007fe425b0c4d8
0x00007fe439882488:   00007fe42a734ffd 00000000e8ad7030
0x00007fe439882498:   00000000e8ad7030 00007fe439882548
0x00007fe4398824a8:   3f7174e756f2292c 00007fe4398824a0
0x00007fe4398824b8:   00007fe425cad518 00007fe439882548
0x00007fe4398824c8:   0000000000000000 00007fe425cad518 

Instructions: (pc=0x0000000000003efe)
0x0000000000003ede:   
[error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb]

Register to memory mapping:

RAX=0x0000000000000000 is an unknown value
RBX=0x0000560524633340 is an unknown value
RCX=0x0000000000000000 is an unknown value
RDX=0x0000000000000003 is an unknown value
RSP=0x00007fe4398822d8 is pointing into the stack for thread: 0x000056051e70a000
RBP=0x00007fe439882310 is pointing into the stack for thread: 0x000056051e70a000
RSI=0x0000000000000018 is an unknown value
RDI=0x0000560524633348 is an unknown value
R8 =0x00007fe41ccff7d9: _fini+0x11c1 in /tmp/liborg_apache_pulsar_shade_netty_transport_native_epoll_x86_644194879947447332573.so at 0x00007fe41ccf3000
R9 =0x8080808080808080 is an unknown value
R10=0x0000000000000000 is an unknown value
R11=0x0000000000000406 is an unknown value
R12=0x00007fe41ccfe794: _fini+0x17c in /tmp/liborg_apache_pulsar_shade_netty_transport_native_epoll_x86_644194879947447332573.so at 0x00007fe41ccf3000
R13=0x0000000000000018 is an unknown value
R14=0x00007fe43988234c is pointing into the stack for thread: 0x000056051e70a000
R15=0x00007fe439882578 is pointing into the stack for thread: 0x000056051e70a000


Stack: [0x00007fe439786000,0x00007fe439886ad0],  sp=0x00007fe4398822d8,  free space=1008k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  0x0000000000003efe
C  [liborg_apache_pulsar_shade_netty_transport_native_epoll_x86_644194879947447332573.so+0xb487]  netty_jni_util_JNI_OnLoad+0x67
C  [libjava.so+0xeb04]  Java_java_lang_ClassLoader_00024NativeLibrary_load+0xb4
C  0x00000000e8ad7030

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.lang.ClassLoader$NativeLibrary.load(Ljava/lang/String;Z)V+0
j  java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/io/File;)Z+328
j  java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)V+48
j  java.lang.Runtime.load0(Ljava/lang/Class;Ljava/lang/String;)V+57
j  java.lang.System.load(Ljava/lang/String;)V+7
j  org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryUtil.loadLibrary(Ljava/lang/String;Z)V+5
v  ~StubRoutines::call_stub
J 2581  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007fe42af4db37 [0x00007fe42af4dac0+0x77]
J 2580 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007fe42af5624c [0x00007fe42af550c0+0x118c]
J 2145 C1 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x00007fe42aded644 [0x00007fe42aded540+0x104]
J 2262 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007fe42ae5644c [0x00007fe42ae56060+0x3ec]
j  org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader$1.run()Ljava/lang/Object;+53
v  ~StubRoutines::call_stub
J 1103  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; (0 bytes) @ 0x00007fe42aae94cf [0x00007fe42aae9480+0x4f]
j  org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(Ljava/lang/Class;Ljava/lang/String;Z)V+10
j  org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibrary(Ljava/lang/ClassLoader;Ljava/lang/String;Z)V+15
j  org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.load(Ljava/lang/String;Ljava/lang/ClassLoader;)V+394
j  org.apache.pulsar.shade.io.netty.channel.epoll.Native.loadNativeLibrary()V+71
j  org.apache.pulsar.shade.io.netty.channel.epoll.Native.<clinit>()V+38
v  ~StubRoutines::call_stub
j  org.apache.pulsar.shade.io.netty.channel.epoll.Epoll.<clinit>()V+28
v  ~StubRoutines::call_stub
j  org.apache.pulsar.common.util.netty.EventLoopUtil.newEventLoopGroup(IZLjava/util/concurrent/ThreadFactory;)Lorg/apache/pulsar/shade/io/netty/channel/EventLoopGroup;+0
j  org.apache.pulsar.client.impl.PulsarClientImpl.getEventLoopGroup(Lorg/apache/pulsar/client/impl/conf/ClientConfigurationData;)Lorg/apache/pulsar/shade/io/netty/channel/EventLoopGroup;+16
j  org.apache.pulsar.client.impl.PulsarClientImpl.<init>(Lorg/apache/pulsar/client/impl/conf/ClientConfigurationData;)V+3
j  org.apache.pulsar.client.impl.ClientBuilderImpl.build()Lorg/apache/pulsar/client/api/PulsarClient;+131
j  com.demo.grpc.consumer.server.infrastructure.message.PulsarMessageClient.init()V+41
v  ~StubRoutines::call_stub
J 2581  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007fe42af4db37 [0x00007fe42af4dac0+0x77]
J 2580 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007fe42af5624c [0x00007fe42af550c0+0x118c]
J 2145 C1 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x00007fe42aded644 [0x00007fe42aded540+0x104]
J 2262 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007fe42ae5644c [0x00007fe42ae56060+0x3ec]
j  org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(Ljava/lang/Object;)V+16
j  org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(Ljava/lang/Object;Ljava/lang/String;)V+122
j  org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;+12
j  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;+39
j  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;+49
j  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Ljava/lang/Object;+245
j  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Ljava/lang/Object;+169
j  org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Ljava/lang/Object;+4
j  org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$195.getObject()Ljava/lang/Object;+16
j  org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(Ljava/lang/String;Lorg/springframework/beans/factory/ObjectFactory;)Ljava/lang/Object;+132
J 3239 C1 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Object;Z)Ljava/lang/Object; (833 bytes) @ 0x00007fe42b1a49fc [0x00007fe42b1a2d40+0x1cbc]
j  org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ljava/lang/String;)Ljava/lang/Object;+5
j  org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons()V+248
j  org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)V+124
j  org.springframework.context.support.AbstractApplicationContext.refresh()V+54
j  org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh()V+1
j  org.springframework.boot.SpringApplication.refresh(Lorg/springframework/context/ApplicationContext;)V+10
j  org.springframework.boot.SpringApplication.refreshContext(Lorg/springframework/context/ConfigurableApplicationContext;)V+2
j  org.springframework.boot.SpringApplication.run([Ljava/lang/String;)Lorg/springframework/context/ConfigurableApplicationContext;+118
j  org.springframework.boot.SpringApplication.run([Ljava/lang/Class;[Ljava/lang/String;)Lorg/springframework/context/ConfigurableApplicationContext;+9
j  org.springframework.boot.SpringApplication.run(Ljava/lang/Class;[Ljava/lang/String;)Lorg/springframework/context/ConfigurableApplicationContext;+9
j  com.demo.grpc.consumer.server.GrpcConsumerApplication.main([Ljava/lang/String;)V+3
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100
j  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+56
j  org.springframework.boot.loader.MainMethodRunner.run()V+43
j  org.springframework.boot.loader.Launcher.launch([Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V+14
j  org.springframework.boot.loader.Launcher.launch([Ljava/lang/String;)V+19
j  org.springframework.boot.loader.JarLauncher.main([Ljava/lang/String;)V+8
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x00005605209f5000 JavaThread "container-0" [_thread_blocked, id=42, stack(0x00007fe41d3bf000,0x00007fe41d4bfad0)]
  0x00005605245b1800 JavaThread "Catalina-utility-2" [_thread_blocked, id=41, stack(0x00007fe41e3f1000,0x00007fe41e4f1ad0)]
  0x0000560524547800 JavaThread "Catalina-utility-1" [_thread_blocked, id=40, stack(0x00007fe41ea5d000,0x00007fe41eb5dad0)]
  0x00005605230bb800 JavaThread "com.alibaba.nacos.client.Worker.longPolling.fixed-config.demo.com_8848-3ba348af-9766-4cd5-ae6c-12a44fc5fc13" daemon [_thread_blocked, id=38, stack(0x00007fe41eb5e000,0x00007fe41ec5ead0)]
  0x0000560520251800 JavaThread "com.alibaba.nacos.client.Worker.longPolling.fixed-config.demo.com_8848-3ba348af-9766-4cd5-ae6c-12a44fc5fc13" daemon [_thread_in_native, id=37, stack(0x00007fe41ec5f000,0x00007fe41ed5fad0)]
  0x0000560523bc0800 JavaThread "com.alibaba.nacos.client.Worker.fixed-config.demo.com_8848-3ba348af-9766-4cd5-ae6c-12a44fc5fc13" daemon [_thread_blocked, id=36, stack(0x00007fe41e20f000,0x00007fe41e30fad0)]
  0x0000560520c06800 JavaThread "com.alibaba.nacos.client.config.security.updater" daemon [_thread_blocked, id=35, stack(0x00007fe41d9e9000,0x00007fe41dae9ad0)]
  0x0000560522f76000 JavaThread "Keep-Alive-Timer" daemon [_thread_blocked, id=34, stack(0x00007fe41d8c0000,0x00007fe41d9c0ad0)]
  0x0000560520e26800 JavaThread "Timer-0" daemon [_thread_blocked, id=33, stack(0x00007fe41e4f2000,0x00007fe41e5f2ad0)]
  0x00005605204a2000 JavaThread "logback-3" daemon [_thread_blocked, id=32, stack(0x00007fe41e910000,0x00007fe41ea10ad0)]
  0x000056051f368800 JavaThread "logback-2" daemon [_thread_blocked, id=31, stack(0x00007fe422abe000,0x00007fe422bbead0)]
  0x000056051e9da800 JavaThread "Service Thread" daemon [_thread_blocked, id=27, stack(0x00007fe422dee000,0x00007fe422eeead0)]
  0x000056051e9b7000 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=26, stack(0x00007fe422ef0000,0x00007fe422ff0ad0)]
  0x000056051e98a000 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=25, stack(0x00007fe422ff2000,0x00007fe4230f2ad0)]
  0x000056051e96e000 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=24, stack(0x00007fe4230f4000,0x00007fe4231f4ad0)]
  0x000056051e95e000 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=23, stack(0x00007fe4231f6000,0x00007fe4232f6ad0)]
  0x000056051e95c000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=22, stack(0x00007fe4232f7000,0x00007fe4233f7ad0)]
  0x000056051e92a000 JavaThread "Finalizer" daemon [_thread_blocked, id=21, stack(0x00007fe4233f8000,0x00007fe4234f8ad0)]
  0x000056051e927800 JavaThread "Reference Handler" daemon [_thread_blocked, id=20, stack(0x00007fe4234f9000,0x00007fe4235f9ad0)]
=>0x000056051e70a000 JavaThread "main" [_thread_in_native, id=8, stack(0x00007fe439786000,0x00007fe439886ad0)]

Other Threads:
  0x000056051e91d000 VMThread [stack: 0x00007fe4235fb000,0x00007fe4236fbad0] [id=19]
  0x000056051e9fa800 WatcherThread [stack: 0x00007fe422ced000,0x00007fe422dedad0] [id=28]


To Reproduce
In order to reproduce you have to run a Java application that boots the Pulsar Client on a docker container with an imaged based on openjdk:8-jdk-alpine.

Expected behavior
The client works as for Pulsar 2.7.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/bugThe PR fixed a bug or issue reported a bug

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions