通常,当对 Java 核心文件运行“where”命令时,通常会引用我的函数调用之一。
这里,似乎没有任何提及我的任何电话。该堆栈似乎只包含 Java
(gdb) where
#0 0x0000147f7b43770f in raise () from /usr/lib64/libc.so.6
#1 0x0000147f7b421b25 in abort () from /usr/lib64/libc.so.6
#2 0x0000147f7a075017 in os::abort(bool, void*, void const*) [clone .cold.42] () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#3 0x0000147f7ad9c47c in VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long) ()
from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#4 0x0000147f7ad9cfd1 in VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*, char const*, ...) () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#5 0x0000147f7ad9d012 in VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*) () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#6 0x0000147f7ac39ad2 in JVM_handle_linux_signal () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#7 <signal handler called>
#8 0x0000147f7a991a6c in markWord::displaced_mark_helper() const () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#9 0x0000147f7a585f69 in G1ParScanThreadState::steal_and_trim_queue(GenericTaskQueueSet<OverflowTaskQueue<ScannerTask, (MEMFLAGS)5, 131072u>, (MEMFLAGS)5>*) ()
from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#10 0x0000147f7a539e73 in G1ParEvacuateFollowersClosure::do_void() () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#11 0x0000147f7a53df86 in G1EvacuateRegionsTask::evacuate_live_objects(G1ParScanThreadState*, unsigned int) () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#12 0x0000147f7a53b7bb in G1EvacuateRegionsBaseTask::work(unsigned int) () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#13 0x0000147f7adcc9f4 in GangWorker::loop() () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#14 0x0000147f7adcca52 in GangWorker::run() () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#15 0x0000147f7ad20d61 in Thread::call_run() () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#16 0x0000147f7aa524a9 in thread_native_entry(Thread*) () from /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so
#17 0x0000147f7b9ce2de in start_thread () from /usr/lib64/libpthread.so.0
#18 0x0000147f7b4fbe83 in clone () from /usr/lib64/libc.so.6
关联的转储文件如下:
--------------- S U M M A R Y ------------
Command Line: -Xbootclasspath/a:/lib/corba-stub.jar:/lib/jacorb.jar:/usr/java/latest/lib/rt.jar:/usr/java/latest/lib/resources.jar:/usr/java/latest/lib/charsets.jar:/usr/java/latest/lib/jce.jar:/usr/java/latest/lib/jsse.jar -Djava.library.path=/xalocal/L/lib/sb:/xalocal/L/lib/es:/opt/CARKaim/sdk -Djava.net.preferIPv4Stack=true -Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORB.Singleton -Xverify:none -Xms512M -Xmx2G MyApp
Host: Intel(R) Xeon(R) Gold 6342 CPU @ 2.80GHz, 4 cores, 11G, Red Hat Enterprise Linux release 8.2 (Ootpa)
Time: Tue Nov 21 07:54:10 2023 CST elapsed time: 32.259012 seconds (0d 0h 0m 32s)
--------------- T H R E A D ---------------
Current thread (0x0000147f38005070): GCTaskThread "GC Thread#1" [stack: 0x0000147f4800a000,0x0000147f4810a000] [id=972621]
Stack: [0x0000147f4800a000,0x0000147f4810a000], sp=0x0000147f48108b88, free space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xb6fa6c] markWord::displaced_mark_helper() const+0x1c
V [libjvm.so+0x717e73] G1ParEvacuateFollowersClosure::do_void()+0xf3
V [libjvm.so+0x71bf86] G1EvacuateRegionsTask::evacuate_live_objects(G1ParScanThreadState*, unsigned int)+0x96
V [libjvm.so+0x7197bb] G1EvacuateRegionsBaseTask::work(unsigned int)+0xab
V [libjvm.so+0xfaa9f4] GangWorker::loop()+0x74
V [libjvm.so+0xfaaa52]
V [libjvm.so+0xefed61] Thread::call_run()+0x71
V [libjvm.so+0xc304a9] thread_native_entry(Thread*)+0xe9
siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000014
Register to memory mapping:
RAX=0x0000000000000014 is an unknown value
RBX=0x000000009c4997f8 is an oop: dir.objects.MyObject1
{0x000000009c4997f8} - klass: 'dir/objects/MyObject1'
- ---- fields (total size 8 words):
- public 'field1' 'I' @12 0
- public 'field2' 'I' @16 4
- public 'field3' 'I' @20 8
- public 'field4' 'I' @24 9
- public 'field5' 'I' @28 10 (a)
- public 'field6' 'I' @32 11 (b)
- public 'field7' 'I' @36 12 (c)
- public 'field8' 'I' @40 13 (d)
- public 'field9' 'I' @44 17 (11)
- public 'field10' 'I' @48 0
- public 'field11' 'I' @52 0
- public 'field12' 'I' @56 0
RCX=0x0 is NULL
RDX=0x0000000000000001 is an unknown value
RSP=0x0000147f48108b88 points into unknown readable memory: 0x0000147f7a585f69 | 69 5f 58 7a 7f 14 00 00
RBP=0x0000147f48108c40 points into unknown readable memory: 0x0000147f48108d00 | 00 8d 10 48 7f 14 00 00
RSI=0x0000147f7b375320: <offset 0x0000000001553320> in /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-1.el8_7.x86_64/lib/server/libjvm.so at 0x0000147f79e22000
RDI=0x0000147f48108c00 points into unknown readable memory: 0x0000000000000014 | 14 00 00 00 00 00 00 00
R8 =0x0000000000000001 is an unknown value
R9 =0x000000dc00000375 is an unknown value
R10=0x0 is NULL
R11=0x000000008cac381d is pointing into object: dir.objects.MyObject2
{0x000000008cac3798} - klass: 'dir/objects/MyObject2'
- ---- fields (total size 26 words):
- private 'field1' 'I' @12 360 (168)
- private 'field2' 'J' @16 1700574836289 (f228b641 18b)
- private 'field3' 'J' @24 1700574849269 (f228e8f5 18b)
- private 'field4' 'J' @32 0 (0 0)
- private volatile 'field5' 'J' @40 1700574849269 (f228e8f5 18b)
- private 'field6' 'I' @48 0
- private 'field7' 'I' @52 3
- private 'field8' 'I' @56 0
- private 'field9' 'I' @60 6
- private 'field10' 'Z' @64 true
- private 'field11' 'Z' @65 false
- private 'field12' 'Z' @66 false
- private 'field13' 'Z' @67 false
- private 'field14' 'Ljava/lang/Object;' @68 a 'java/lang/Object'{0x000000008cac3868} (8cac3868)
- private 'field15' 'Ljava/lang/Object;' @72 a 'java/lang/Object'{0x000000008cac3878} (8cac3878)
- private 'field16' 'Ldir/objects/Timer;' @76 a 'dir/objects/Timer'{0x000000008cac3888} (8cac3888)
- private 'field17' 'Ldir/objects/Timer;' @80 a 'dir/objects/Timer'{0x000000008cac3940} (8cac3940)
- private 'field18' 'Ljava/util/HashMap;' @84 a 'java/util/HashMap'{0x000000008cac39f8} (8cac39f8)
- private 'field19' 'Ljava/util/HashMap;' @88 a 'java/util/HashMap'{0x000000008c8b2ca0} (8c8b2ca0)
- private 'field20' 'Ljava/util/HashMap;' @92 a 'java/util/HashMap'{0x000000008c8b2ce0} (8c8b2ce0)
- private 'field21' 'Ljava/util/HashMap;' @96 a 'java/util/HashMap'{0x000000008c670578} (8c670578)
- private 'field22' 'Ljava/util/HashMap;' @100 a 'java/util/HashMap'{0x000000008c6705a8} (8c6705a8)
- private 'field23' 'Ljava/util/HashMap;' @104 a 'java/util/HashMap'{0x000000008b542058} (8b542058)
- private 'field24' 'Ljava/util/HashMap;' @108 a 'java/util/HashMap'{0x000000008b542028} (8b542028)
- private 'field25' 'Ljava/util/HashMap;' @112 a 'java/util/HashMap'{0x000000008b541ff8} (8b541ff8)
- private 'field26' 'Ljava/util/HashMap;' @116 a 'java/util/HashMap'{0x000000008b541fc8} (8b541fc8)
- private 'field27' 'Ljava/util/Vector;' @120 a 'java/util/Vector'{0x000000008b541520} (8b541520)
- private 'field28' 'Ljava/util/Vector;' @124 a 'java/util/Vector'{0x000000008b5413d0} (8b5413d0)
- private 'field29' 'Ljava/util/Vector;' @128 a 'java/util/Vector'{0x000000008b541378} (8b541378)
- private 'field30' 'Ldir/objects/MyObject1;' @132 a 'dir/objects/MyObject1'{0x000000009c4997f8} (9c4997f8)
- private 'field31' 'Ljava/util/Vector;' @136 a 'java/util/Vector'{0x000000008b66e400} (8b66e400)
- private 'field32' 'Ljava/util/Vector;' @140 a 'java/util/Vector'{0x000000008b66def0} (8b66def0)
- private 'field33' 'Ljava/lang/Object;' @144 a 'java/lang/Object'{0x000000008b66dee0} (8b66dee0)
- private 'field34' 'Ljava/lang/Object;' @148 a 'java/lang/Object'{0x000000008b66ded0} (8b66ded0)
- private 'field35' 'Ljava/lang/Object;' @152 a 'java/lang/Object'{0x000000008b66dec0} (8b66dec0)
- private 'field36' 'Ljava/lang/Object;' @156 a 'java/lang/Object'{0x000000008b66deb0} (8b66deb0)
- private 'field37' 'Ljava/lang/Object;' @160 a 'java/lang/Object'{0x000000008b66dea0} (8b66dea0)
- private 'field38' 'Ljava/util/Hashtable;' @164 a 'java/util/Hashtable'{0x000000008b66de30} (8b66de30)
- private 'field39' 'Ljava/util/Vector;' @168 a 'java/util/Vector'{0x000000008b66ddd8} (8b66ddd8)
- private 'field40' 'Ljava/lang/Object;' @172 a 'java/lang/Object'{0x000000008b66ddc8} (8b66ddc8)
- private 'field41' 'Ljava/lang/Thread;' @176 NULL (0)
- private 'field42' 'Ljava/lang/Object;' @180 a 'java/lang/Object'{0x000000008b66ddb8} (8b66ddb8)
- private 'field43' 'Ljava/util/HashMap;' @184 a 'java/util/HashMap'{0x000000008b66dd78} (8b66dd78)
- private 'field44' 'Ljava/lang/Object;' @188 a 'java/lang/Object'{0x000000008b376740} (8b376740)
- private 'field45' 'Ljava/util/Map;' @192 a 'java/util/Collections$SynchronizedMap'{0x000000008b3766f0} (8b3766f0)
- private 'field46' 'Ljava/util/Map;' @196 a 'java/util/Collections$SynchronizedMap'{0x000000008b3766a0} (8b3766a0)
- private 'field47' 'Ljava/util/Map;' @200 a 'java/util/Collections$SynchronizedMap'{0x000000008b376538} (8b376538)
- private 'field48' 'Ljava/util/Map;' @204 a 'java/util/Collections$SynchronizedMap'{0x000000008b3764e8} (8b3764e8)
R12=0x0000000000000008 is an unknown value
R13=0x0000147f00140000 points into unknown readable memory: 0x0000147f7b2c4f20 | 20 4f 2c 7b 7f 14 00 00
R14=0x0000147f74053e90 points into unknown readable memory: 0x0000147f7b2c4130 | 30 41 2c 7b 7f 14 00 00
R15=0x00000000834e0b5f points into unknown readable memory: 00
Registers:
RAX=0x0000000000000014, RBX=0x000000009c4997f8, RCX=0x0000000000000000, RDX=0x0000000000000001
RSP=0x0000147f48108b88, RBP=0x0000147f48108c40, RSI=0x0000147f7b375320, RDI=0x0000147f48108c00
R8 =0x0000000000000001, R9 =0x000000dc00000375, R10=0x0000000000000000, R11=0x000000008cac381d
R12=0x0000000000000008, R13=0x0000147f00140000, R14=0x0000147f74053e90, R15=0x00000000834e0b5f
RIP=0x0000147f7a991a6c, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000004
TRAPNO=0x000000000000000e
虽然正在加载 dir.objects.MyObject1 和 dir.objects.MyObject2,但它们似乎都有问题。 但由于它在第一组错误后没有失败,因此看起来好像并不重要。
您是否发现任何特定于 JVM 的可能问题?
有什么明显的东西我可以看吗?
似乎是与垃圾收集相关的问题。如果您的应用程序不使用本机代码,则可能会出现 JVM 错误。我不知道所使用的 CORBA 库是否是一个因素。