codelipenghui commented on PR #23612:
URL: https://github.com/apache/pulsar/pull/23612#issuecomment-2486427211
We hit an issue with following core dump
```
--------------- T H R E A D ---------------
Current thread (0x00007f334cfa2780): JavaThread
"broker-topic-workers-OrderedExecutor-16-0" [_thread_in_Java, id=200,
stack(0x00007f2fab00d000,0x00007f2fab10da90) (1026K)]
Stack: [0x00007f2fab00d000,0x00007f2fab10da90], sp=0x00007f2fab10cad0,
free space=1022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native
code)
v ~StubRoutines::jbyte_disjoint_arraycopy_avx3 0x00007f3767573140
siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr:
0x00007f2f2d883000
Registers:
RAX=0x000000000000001e, RBX=0x00007f33576fc2c0, RCX=0x000000000039211e,
RDX=0x00000000003d0715
RSP=0x00007f2fab10cad0, RBP=0x00007f2fab10cad0, RSI=0x00007f2f2d0efee2,
RDI=0x00007f2f2d4f0ecb
R8 =0x000000000003e537, R9 =0x00000000802ae9a0, R10=0x00007f376757b1a0,
R11=0x000000000000001e
R12=0x00000000003d0715, R13=0x0000040359706768, R14=0x00000000802ce3f0,
R15=0x00007f334cfa2780
RIP=0x00007f3767573140, EFLAGS=0x0000000000010202,
CSGSFS=0x002b000000000033, ERR=0x0000000000000004
TRAPNO=0x000000000000000e
Register to memory mapping:
RAX=0x000000000000001e is an unknown value
RBX={method} {0x00007f33576fc2c0} 'memoryAddress' '()J' in
'io/netty/buffer/UnpooledUnsafeDirectByteBuf'
RCX=0x000000000039211e is an unknown value
RDX=0x00000000003d0715 is an unknown value
RSP=0x00007f2fab10cad0 is pointing into the stack for thread:
0x00007f334cfa2780
RBP=0x00007f2fab10cad0 is pointing into the stack for thread:
0x00007f334cfa2780
RSI=0x00007f2f2d0efee2 points into unknown readable memory: 00 00 00 00 00 00
RDI=0x00007f2f2d4f0ecb is an unknown value
R8 =0x000000000003e537 is an unknown value
R9 =0x00000000802ae9a0 is a pointer to class:
io.netty.buffer.UnpooledUnsafeDirectByteBuf {0x00000000802ae9a0}
- instance size: 10
- klass size: 309
- access: public synchronized
- flags: rewritten has_nonstatic_fields should_verify_class
has_localvariable_table has_miranda_methods has_final_method
- state: fully_initialized
- name: 'io/netty/buffer/UnpooledUnsafeDirectByteBuf'
- super: 'io/netty/buffer/UnpooledDirectByteBuf'
- sub:
'io/netty/buffer/ByteBufUtil$ThreadLocalUnsafeDirectByteBuf'
'io/netty/buffer/WrappedUnpooledUnsafeDirectByteBuf'
'io/netty/buffer/UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf'
'io/netty/buffer/UnpooledUnsafeNoCleanerDirectByteBuf' (0 more klasses...)
- arrays: null
- methods: Array<T>(0x00007f33576fbce8)
- method ordering: Array<T>(0x00007f3356000018)
- default_methods: Array<T>(0x0000000000000000)
- local interfaces: Array<T>(0x00007f3356000058)
- trans. interfaces: Array<T>(0x00007f3357685620)
- constants: constant pool [246] {0x00007f33576fb4b8} for
'io/netty/buffer/UnpooledUnsafeDirectByteBuf' cache=0x00007f33595640d8
- class loader data: loader data: 0x00007f3355d6a670 for instance a
'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x00000406bc200868}
- source file: 'UnpooledUnsafeDirectByteBuf.java'
- class annotations: Array<T>(0x0000000000000000)
- class type annotations: Array<T>(0x0000000000000000)
- field annotations: Array<T>(0x0000000000000000)
- field type annotations: Array<T>(0x0000000000000000)
- inner classes: Array<T>(0x00007f3356000028)
- nest members: Array<T>(0x00007f3356000028)
- permitted subclasses: Array<T>(0x00007f3356000028)
- java mirror: a 'java/lang/Class'{0x000004000e274580} =
'io/netty/buffer/UnpooledUnsafeDirectByteBuf'
- vtable length 234 (start addr: 0x00000000802aeb68)
- itable length 17 (start addr: 0x00000000802af2b8)
- ---- static fields (0 words):
- ---- non-static fields (8 words):
- 'readerIndex' 'I' @12
- 'writerIndex' 'I' @16
- private 'markedReaderIndex' 'I' @20
- private 'markedWriterIndex' 'I' @24
- private 'maxCapacity' 'I' @28
- private volatile 'refCnt' 'I' @32
- private 'capacity' 'I' @36
- private 'doNotFree' 'Z' @40
- private final 'alloc' 'Lio/netty/buffer/ByteBufAllocator;' @48
- 'buffer' 'Ljava/nio/ByteBuffer;' @56
- private 'tmpNioBuf' 'Ljava/nio/ByteBuffer;' @64
- 'memoryAddress' 'J' @72
- non-static oop maps: 48-64
R10=0x00007f376757b1a0 is at begin+0 in a stub
StubRoutines::unsafe_arraycopy [0x00007f376757b1a0, 0x00007f376757b1d7] (55
bytes)
R11=0x000000000000001e is an unknown value
R12=0x00000000003d0715 is an unknown value
R13=0x0000040359706768 is a zaddress:
org.apache.pulsar.common.api.proto.MessageMetadata
{0x0000040359706768} - klass:
'org/apache/pulsar/common/api/proto/MessageMetadata'
- ---- fields (total size 36 words):
- private '_replicatedFromBufferLen' 'I' @12 -1 (0xffffffff)
- private 'sequenceId' 'J' @16 -1 (0xffffffffffffffff)
- private 'highestSequenceId' 'J' @24 -1 (0xffffffffffffffff)
- private 'txnidLeastBits' 'J' @32 0 (0x0000000000000000)
- private 'publishTime' 'J' @40 1729041383477 (0x0000019292e5c035)
- private 'txnidMostBits' 'J' @48 0 (0x0000000000000000)
- private 'deliverAtTime' 'J' @56 0 (0x0000000000000000)
- private 'eventTime' 'J' @64 0 (0x0000000000000000)
- private '_replicatedFromBufferIdx' 'I' @72 -1 (0xffffffff)
- private '_partitionKeyBufferIdx' 'I' @76 -1 (0xffffffff)
- private 'uncompressedSize' 'I' @80 0 (0x00000000)
- private '_replicateTosCount' 'I' @84 0 (0x00000000)
- private 'numMessagesInBatch' 'I' @88 3868 (0x00000f1c)
- private '_encryptionKeysCount' 'I' @92 0 (0x00000000)
- private '_producerNameBufferLen' 'I' @96 20 (0x00000014)
- private '_producerNameBufferIdx' 'I' @100 -1 (0xffffffff)
- private '_encryptionParamIdx' 'I' @104 -1 (0xffffffff)
- private '_encryptionAlgoBufferLen' 'I' @108 -1 (0xffffffff)
- private '_schemaVersionIdx' 'I' @112 -1 (0xffffffff)
- private '_encryptionParamLen' 'I' @116 -1 (0xffffffff)
- private '_schemaVersionLen' 'I' @120 -1 (0xffffffff)
- private '_orderingKeyIdx' 'I' @124 -1 (0xffffffff)
- private '_orderingKeyLen' 'I' @128 -1 (0xffffffff)
- private 'markerType' 'I' @132 0 (0x00000000)
- private '_propertiesCount' 'I' @136 1 (0x00000001)
- private '_partitionKeyBufferLen' 'I' @140 -1 (0xffffffff)
- private '_encryptionAlgoBufferIdx' 'I' @144 -1 (0xffffffff)
- private '_cachedSize' 'I' @148 78 (0x0000004e)
- private '_uuidBufferIdx' 'I' @152 -1 (0xffffffff)
- private 'chunkId' 'I' @156 0 (0x00000000)
- private '_uuidBufferLen' 'I' @160 -1 (0xffffffff)
- private 'numChunksFromMsg' 'I' @164 0 (0x00000000)
- private 'totalChunkMsgSize' 'I' @168 0 (0x00000000)
- private '_bitField0' 'I' @172 2097671 (0x00200207)
- private 'partitionKeyB64Encoded' 'Z' @176 false (0x00)
- private 'nullValue' 'Z' @177 false (0x00)
- private 'nullPartitionKey' 'Z' @178 false (0x00)
- private 'producerName' 'Ljava/lang/String;' @184
"KOP-PID-PREFIX--1--1"{0x0000040359706500} (0x00806b2e0ca01510)
- private 'properties' 'Ljava/util/List;' @192 a
'java/util/ArrayList'{0x0000040359706888} (0x00806b2e0d111510)
- private 'replicatedFrom' 'Ljava/lang/String;' @200 null
(0x0000000000000000)
- private 'partitionKey' 'Ljava/lang/String;' @208 null
(0x0000000000000000)
- private 'replicateTos' 'Ljava/util/List;' @216 null (0x0000000000000000)
- private 'compression'
'Lorg/apache/pulsar/common/api/proto/CompressionType;' @224 a
'org/apache/pulsar/common/api/proto/CompressionType'{0x00000400946c6ea8}
(0x0080128d8dd51510)
- private 'encryptionKeys' 'Ljava/util/List;' @232 null
(0x0000000000000000)
- private 'encryptionAlgo' 'Ljava/lang/String;' @240 null
(0x0000000000000000)
- private 'encryptionParam' 'Lio/netty/buffer/ByteBuf;' @248 null
(0x0000000000000000)
- private 'schemaVersion' 'Lio/netty/buffer/ByteBuf;' @256 null
(0x0000000000000000)
- private 'orderingKey' 'Lio/netty/buffer/ByteBuf;' @264 null
(0x0000000000000000)
- private 'uuid' 'Ljava/lang/String;' @272 null (0x0000000000000000)
- private '_parsedBuffer' 'Lio/netty/buffer/ByteBuf;' @280 null
(0x0000000000000000)
R14=0x00000000802ce3f0 is a pointer to class:
io.netty.buffer.PooledUnsafeDirectByteBuf {0x00000000802ce3f0}
- instance size: 14
- klass size: 304
- access: final synchronized
- flags: rewritten has_nonstatic_fields should_verify_class
has_localvariable_table has_miranda_methods
- state: fully_initialized
- name: 'io/netty/buffer/PooledUnsafeDirectByteBuf'
- super: 'io/netty/buffer/PooledByteBuf'
- sub:
- arrays: null
- methods: Array<T>(0x00007f33577af718)
- method ordering: Array<T>(0x00007f3356000018)
- default_methods: Array<T>(0x0000000000000000)
- local interfaces: Array<T>(0x00007f3356000058)
- trans. interfaces: Array<T>(0x00007f3357685620)
- constants: constant pool [301] {0x00007f33577b0000} for
'io/netty/buffer/PooledUnsafeDirectByteBuf' cache=0x00007f2fa5585e58
- class loader data: loader data: 0x00007f3355d6a670 for instance a
'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x00000406bc200868}
- source file: 'PooledUnsafeDirectByteBuf.java'
- class annotations: Array<T>(0x0000000000000000)
- class type annotations: Array<T>(0x0000000000000000)
- field annotations: Array<T>(0x0000000000000000)
- field type annotations: Array<T>(0x0000000000000000)
- generic signature:
'Lio/netty/buffer/PooledByteBuf<Ljava/nio/ByteBuffer;>;'
- inner classes: Array<T>(0x00007f33577b2da0)
- nest members: Array<T>(0x00007f3356000028)
- permitted subclasses: Array<T>(0x00007f3356000028)
- java mirror: a 'java/lang/Class'{0x000004000cdb1158} =
'io/netty/buffer/PooledUnsafeDirectByteBuf'
- vtable length 229 (start addr: 0x00000000802ce5b8)
- itable length 17 (start addr: 0x00000000802cece0)
- ---- static fields (1 words):
- private static final 'RECYCLER' 'Lio/netty/util/internal/ObjectPool;'
@176
- ---- non-static fields (12 words):
- 'readerIndex' 'I' @12
- 'writerIndex' 'I' @16
- private 'markedReaderIndex' 'I' @20
- private 'markedWriterIndex' 'I' @24
- private 'maxCapacity' 'I' @28
- private volatile 'refCnt' 'I' @32
- protected 'offset' 'I' @36
- protected 'handle' 'J' @40
- protected 'length' 'I' @48
- 'maxLength' 'I' @52
- private final 'recyclerHandle' 'Lio/netty/util/Recycler$EnhancedHandle;'
@56
- protected 'chunk' 'Lio/netty/buffer/PoolChunk;' @64
- protected 'memory' 'Ljava/lang/Object;' @72
- 'cache' 'Lio/netty/buffer/PoolThreadCache;' @80
- 'tmpNioBuf' 'Ljava/nio/ByteBuffer;' @88
- private 'allocator' 'Lio/netty/buffer/ByteBufAllocator;' @96
- private 'memoryAddress' 'J' @104
- non-static oop maps: 56-96
R15=0x00007f334cfa2780 is a thread
```
And set `io.netty.noUnsafe=true` can resolve the crash issue as a short term
solution.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]