久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何解決/調(diào)試 JVM 崩潰的最佳方法 (SIGSEGV)

Best way on how to solve/debug JVM crash (SIGSEGV)(如何解決/調(diào)試 JVM 崩潰的最佳方法 (SIGSEGV))
本文介紹了如何解決/調(diào)試 JVM 崩潰的最佳方法 (SIGSEGV)的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

限時(shí)送ChatGPT賬號(hào)..

我真的很迷茫,我不知道如何面對(duì)和解決我的問(wèn)題.我有一段簡(jiǎn)單的 Java 代碼,導(dǎo)致 JVM 崩潰:

I'm really lost and I don't know how to face and solve my problem. I have a piece of simple Java Code, which leads to a JVM crash:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00000001057ce9d4, pid=10727, tid=18947
#
# JRE version: Java(TM) SE Runtime Environment (8.0_73-b02) (build 1.8.0_73-b02)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.73-b02 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.dylib+0x3ce9d4]  PhaseIdealLoop::idom_no_update(Node*) const+0x12
#
# 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 visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

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

Current thread (0x00007feeef003800):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=18947, stack(0x0000700000ec4000,0x0000700000fc4000)]

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

我不知道如何解決這個(gè)問(wèn)題.該程序非常簡(jiǎn)單,它通過(guò) Kafka 接收消息并根據(jù)收到的消息觸發(fā)任務(wù).如果我添加兩個(gè)不同的任務(wù),程序會(huì)在 900 - 1,500 條消息后崩潰.所有消息都是相同的,并且程序不使用任何 JNI 東西(據(jù)我所知,使用過(guò)的 3rd 方庫(kù)也不使用任何 JNI).

I have no idea on how to solve the problem. The program is pretty simple, it receives a message through Kafka and triggers tasks based on the message received. If I add two different tasks, the program crashes after 900 - 1,500 messages. All of the messages are the same and the program does not use any JNI stuff (the used 3rd party libraries don't use any JNI as well, as far as I'm informed).

我從未遇到過(guò)這個(gè)問(wèn)題,但我希望/需要找到一種方法來(lái)找出問(wèn)題所在.我已經(jīng)使用過(guò)其他版本的 JVM(Java 8.0_66、8.0_73-b02 和 8.0_74-b02).那么我能做什么呢?非常感謝!

I never faced this problem, but I'd love/need to find a way on how to figure out what the problem is. I already used other versions of the JVM (Java 8.0_66, 8.0_73-b02, and 8.0_74-b02). So what can I do? Thank you so much!

編輯(1):有時(shí)我也會(huì)收到以下錯(cuò)誤/信息:

EDIT (1): Sometimes I also get the following error/info:

...
# JRE version: Java(TM) SE Runtime Environment (8.0_73-b02) (build 1.8.0_73-b02)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.73-b02 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.dylib+0x3ce9d4]
...

編輯 (2):我將 Java 版本更新為 8.0_74.錯(cuò)誤仍然存??在:(.

EDIT (2): I updated my Java version to 8.0_74. The error is still there :(.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00000001073cdef8, pid=11227, tid=19715
#
# JRE version: Java(TM) SE Runtime Environment (8.0_74-b02) (build 1.8.0_74-b02)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.74-b02 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.dylib+0x3cdef8]  PhaseIdealLoop::idom_no_update(Node*) const+0x12
#
# 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 visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

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

Current thread (0x00007f89e481c800):  JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=19715, stack(0x000070000104a000,0x000070000114a000)]

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

編輯(3):核心轉(zhuǎn)儲(chǔ)

所以最后我創(chuàng)建了一個(gè)核心轉(zhuǎn)儲(chǔ)并將其加載到 Java VisualVM 中(我無(wú)法使用 DROY 提供的解決方案,因?yàn)檎{(diào)用 jmap 會(huì)導(dǎo)致另一個(gè)錯(cuò)誤:附加到核心文件時(shí)出錯(cuò):無(wú)法附加到核心文件").使用 VisualVM 創(chuàng)建的線程轉(zhuǎn)儲(chǔ)結(jié)果:

So finally I created a core dump and loaded it into Java VisualVM (I could not use the solution presented by DROY because calling jmap lead to another error: "Error attaching to core file: Can't attach to the core file"). The threaddump created with VisualVM results in:

Thread 30239 "Keep-Alive-Timer": (state = BLOCKED)
    at java.lang.Thread.sleep(Native Method)
    at sun.net.www.http.KeepAliveCache.run(KeepAliveCache.java:172)
    at java.lang.Thread.run(Thread.java:745)

Thread 29699 "threadDeathWatcher-4-1": (state = BLOCKED)
    at java.lang.Thread.sleep(Native Method)
    at io.netty.util.ThreadDeathWatcher$Watcher.run(ThreadDeathWatcher.java:137)
    at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
    at java.lang.Thread.run(Thread.java:745)

Thread 26635 "nioEventLoopGroup-3-1": (state = IN_NATIVE)
    at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
    at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
    at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
    - locked <0x00000006c049ec98> (a io.netty.channel.nio.SelectedSelectionKeySet)
    - locked <0x00000006c049ec88> (a java.util.Collections$UnmodifiableSet)
    - locked <0x00000006c049ecb8> (a sun.nio.ch.KQueueSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
    at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:622)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:310)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:110)
    at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
    at java.lang.Thread.run(Thread.java:745)

Thread 29187 "pool-3-thread-1": (state = BLOCKED)
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at kafka.consumer.ConsumerIterator.makeNext(ConsumerIterator.scala:63)
    at kafka.consumer.ConsumerIterator.makeNext(ConsumerIterator.scala:33)
    at kafka.utils.IteratorTemplate.maybeComputeNext(IteratorTemplate.scala:66)
    at kafka.utils.IteratorTemplate.hasNext(IteratorTemplate.scala:58)
    at com.sosse.common.messaging.DefaultHandler.doRun(DefaultHandler.java:22)
    at com.sosse.common.concurrency.DefaultRunnable.run(DefaultRunnable.java:11)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Thread 28675 "pool-4-thread-1": (state = BLOCKED)
    at java.lang.Thread.sleep(Native Method)
    at io.netty.util.HashedWheelTimer$Worker.waitForNextTick(HashedWheelTimer.java:461)
    at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:360)
    at java.lang.Thread.run(Thread.java:745)

Thread 28163 "ConsumerFetcherThread-analytics-group_Philipp.local-1458441725398-581eabc3-0-0": (state = IN_NATIVE)
    at sun.nio.ch.Net.poll(Native Method)
    at sun.nio.ch.SocketChannelImpl.poll(SocketChannelImpl.java:954)
    - locked <0x00000006c056d538> (a java.lang.Object)
    at sun.nio.ch.SocketAdaptor$SocketInputStream.read(SocketAdaptor.java:204)
    - locked <0x00000006c056d5b8> (a java.lang.Object)
    at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
    - locked <0x00000006c056d5f8> (a sun.nio.ch.SocketAdaptor$SocketInputStream)
    at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:385)
    - locked <0x00000006c056d618> (a java.lang.Object)
    at kafka.utils.Utils$.read(Utils.scala:380)
    at kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54)
    at kafka.network.Receive$class.readCompletely(Transmission.scala:56)
    at kafka.network.BoundedByteBufferReceive.readCompletely(BoundedByteBufferReceive.scala:29)
    at kafka.network.BlockingChannel.receive(BlockingChannel.scala:111)
    at kafka.consumer.SimpleConsumer.liftedTree1$1(SimpleConsumer.scala:71)
    at kafka.consumer.SimpleConsumer.kafka$consumer$SimpleConsumer$$sendRequest(SimpleConsumer.scala:68)
    - locked <0x00000006c056d6e0> (a java.lang.Object)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(SimpleConsumer.scala:112)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply(SimpleConsumer.scala:112)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply(SimpleConsumer.scala:112)
    at kafka.metrics.KafkaTimer.time(KafkaTimer.scala:33)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply$mcV$sp(SimpleConsumer.scala:111)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply(SimpleConsumer.scala:111)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply(SimpleConsumer.scala:111)
    at kafka.metrics.KafkaTimer.time(KafkaTimer.scala:33)
    at kafka.consumer.SimpleConsumer.fetch(SimpleConsumer.scala:110)
    at kafka.server.AbstractFetcherThread.processFetchRequest(AbstractFetcherThread.scala:94)
    at kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:86)
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60)

Thread 27651 "analytics-group_Philipp.local-1458441725398-581eabc3-leader-finder-thread": (state = BLOCKED)
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at kafka.consumer.ConsumerFetcherManager$LeaderFinderThread.doWork(ConsumerFetcherManager.scala:61)
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60)

Thread 27139 "analytics-group_Philipp.local-1458441725398-581eabc3_watcher_executor": (state = BLOCKED)
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2163)
    at kafka.consumer.ZookeeperConsumerConnector$ZKRebalancerListener$$anon$1.run(ZookeeperConsumerConnector.scala:544)

Thread 26115 "kafka-consumer-scheduler-0": (state = BLOCKED)
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Thread 25603 "main-EventThread": (state = BLOCKED)
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:494)

Thread 25091 "main-SendThread(localhost:2181)": (state = IN_NATIVE)
    at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
    at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
    at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
    at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
    - locked <0x00000006c0022c50> (a sun.nio.ch.Util$2)
    - locked <0x00000006c0022c60> (a java.util.Collections$UnmodifiableSet)
    - locked <0x00000006c0022c00> (a sun.nio.ch.KQueueSelectorImpl)
    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:349)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)

Thread 24579 "ZkClient-EventThread-16-localhost:2181": (state = BLOCKED)
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:67)

Thread 24067 "metrics-meter-tick-thread-2": (state = BLOCKED)
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Thread 23555 "metrics-meter-tick-thread-1": (state = BLOCKED)
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Thread 23303 "pool-1-thread-1": (state = BLOCKED)
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

VM Thread 20995 "Service Thread": (state = BLOCKED)

VM Thread 20483 "C1 CompilerThread3": (state = BLOCKED)

VM Thread 19971 "C2 CompilerThread2": (state = IN_NATIVE)

VM Thread 19459 "C2 CompilerThread1": (state = IN_NATIVE)

VM Thread 18947 "C2 CompilerThread0": (state = IN_NATIVE)

Thread 15887 "Signal Dispatcher": (state = BLOCKED)

Thread 14339 "Finalizer": (state = BLOCKED)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000006c005fa88> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    - locked <0x00000006c005fa88> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

Thread 13827 "Reference Handler": (state = BLOCKED)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000006c0029358> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
    - locked <0x00000006c0029358> (a java.lang.ref.Reference$Lock)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

Thread 2823 "main": (state = BLOCKED)
    at java.lang.Thread.sleep(Native Method)
    at com.sosse.analytics.ActivityProducer.sleep(ActivityProducer.java:110)
    at com.sosse.analytics.DemoMain$1.startApplication(DemoMain.java:37)
    at com.sosse.common.application.DefaultApplication.start(DefaultApplication.java:166)
    - locked <0x00000006c00e6080> (a java.lang.Thread)
    at com.sosse.common.application.DefaultApplication.start(DefaultApplication.java:118)
    at com.sosse.analytics.DemoMain.main(DemoMain.java:48)

編輯(4):源代碼反序列化器

EDIT (4): Source Code Deserializer

public static Object[] deserialize(final JsonElement jsonElement, final JsonDeserializationContext context, final BiFunction<Class<?>, JsonElement, Serializable[]> timeSeriesDeserializer) {
    final JsonObject jsonObject = jsonElement.getAsJsonObject();

    // get the important classes
    final Class<?> bucketContent = resolveClass("bucketContent", jsonObject, context);

    // configuration
    final TimeUnit timeUnit = context.deserialize(jsonObject.get("timeUnit"), TimeUnit.class);
    final int bucketSize = context.deserialize(jsonObject.get("bucketSize"), int.class);
    final boolean fillNumberWithZero = context.deserialize(jsonObject.get("fillNumberWithZero"), boolean.class);

    // the values
    final Long now = context.deserialize(jsonObject.get("now"), Long.class);
    final Serializable[] timeSeries = timeSeriesDeserializer.apply(bucketContent, jsonObject.get("timeSeries"));

    @SuppressWarnings("unchecked")
    final BucketTimeSeriesConfig config = new BucketTimeSeriesConfig(bucketContent, timeUnit, timeSeries.length, bucketSize, fillNumberWithZero);
    return new Object[]{config, timeSeries, now};
}

推薦答案

崩潰報(bào)告告訴 JIT 編譯器線程發(fā)生了錯(cuò)誤:

The crash report tells the error has happened in JIT compiler thread:

Current thread (0x00007f89e481c800):  JavaThread "C2 CompilerThread1"

采取以下步驟診斷編譯器問(wèn)題:

Take the following steps do diagnose compiler problems:

  1. 試用 JDK 9 EA 中可用的最新 JVM 構(gòu)建:https://jdk9.java.網(wǎng)絡(luò)/下載/

如果問(wèn)題消失,您可以繼續(xù)使用此版本,或者嘗試找到解決問(wèn)題的確切提交,然后將其反向移植到 JDK 8.如何反向移植修復(fù)以及如何自己構(gòu)建 HotSpot - 這是一個(gè)單獨(dú)的主題,但我可以告訴你是否有興趣.

If the problem disappears, you can either stay with this version or try to locate the exact commit that solves the issue and then backport it to JDK 8. How to backport fixes and how to build HotSpot yourself - it's a separate topic, but I can tell if you're interested.

如果問(wèn)題仍然存在,請(qǐng)嘗試找到有問(wèn)題的方法并將其從編譯中排除.

If the problem persists, try to find a problematic method and exclude it from compilation.

Current CompileTask: C2: 114667 5303 4 com.sosse.time.timeseries.gson.TypeConverterHelper::deserialize (157 bytes)

在您的情況下,它似乎無(wú)法編譯 TypeConverterHelper.deserialize().添加以下 JVM 選項(xiàng)以排除此特定方法:

Looks like in your case it fails compiling TypeConverterHelper.deserialize(). Add the following JVM option to exclude this particular method:

-XX:CompileCommand=exclude,com.sosse.time.timeseries.gson.TypeConverterHelper::deserialize

  • 如果沒(méi)有幫助,嘗試通過(guò)提供多個(gè)-XX:CompileCommand來(lái)排除更多方法.要查找要排除的候選人,請(qǐng)使用 -XX:+PrintCompilation 并查看打印列表的底部.您還可以從編譯中排除整個(gè)類和包,例如

  • If it does not help, try to exclude more methods by providing multiple -XX:CompileCommand. To find candidates to exclude use -XX:+PrintCompilation and look at the bottom of the printed list. You can also exclude the whole classes and packages from compilation, e.g.

    -XX:CompileCommand=exclude,com.sosse.time.timeseries.gson.*::*
    

  • 嘗試一一禁用某些編譯器優(yōu)化.可以嘗試的一些選項(xiàng)是:

  • Try to disable certain compiler optimizations one by one. Some options to try are:

    -XX:-DoEscapeAnalysis
    -XX:LoopUnrollLimit=0
    -XX:-PartialPeelLoop
    -XX:-UseLoopPredicate
    -XX:-LoopUnswitching
    -XX:-ReassociateInvariants
    -XX:MaxInlineLevel=1
    -XX:-IncrementalInline
    -XX:-RangeCheckElimination
    -XX:-EliminateAllocations
    -XX:-UseTypeProfile
    -XX:AliasLevel=0
    

  • 無(wú)論是否找到有問(wèn)題的方法/優(yōu)化,再次運(yùn)行 JVM

  • Whether the problematic method/optimization is found or not, run JVM again with

    -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation
    

    這將在當(dāng)前目錄中創(chuàng)建 hotspot_pid1234.log 文件,其中包含詳細(xì)的編譯日志.

    This will create hotspot_pid1234.log file in the current directory with detailed compilation log.

    在 bugreport.java.com 提交錯(cuò)誤報(bào)告.選擇

    Submit the bug report at bugreport.java.com. Select

    Product/Category: HotSpot Virtual Machine (errors)
    Subcategory:      J2SE Server Compiler
    

    確保包含第 5 步中的完整 hs_err_pid.loghotspot_pid.log.如果您可以提供一個(gè)簡(jiǎn)化的獨(dú)立示例來(lái)演示問(wèn)題.

    Make sure to include full hs_err_pid.log and hotspot_pid.log from step 5. It would be very helpful if you could provide a reduced self-contained example that demonstrates the problem.

    為了更快的反應(yīng),您也可以將消息發(fā)布到 hotspot-compiler-dev 郵件列表.

    For a faster reaction you may also post a message to hotspot-compiler-dev mailing list.

    這篇關(guān)于如何解決/調(diào)試 JVM 崩潰的最佳方法 (SIGSEGV)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

    【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!
  • 相關(guān)文檔推薦

    Parsing an ISO 8601 string local date-time as if in UTC(解析 ISO 8601 字符串本地日期時(shí)間,就像在 UTC 中一樣)
    How to convert Gregorian string to Gregorian Calendar?(如何將公歷字符串轉(zhuǎn)換為公歷?)
    Java: What/where are the maximum and minimum values of a GregorianCalendar?(Java:GregorianCalendar 的最大值和最小值是什么/在哪里?)
    Calendar to Date conversion for dates before 15 Oct 1582. Gregorian to Julian calendar switch(1582 年 10 月 15 日之前日期的日歷到日期轉(zhuǎn)換.公歷到儒略歷切換)
    java Calendar setFirstDayOfWeek not working(java日歷setFirstDayOfWeek不起作用)
    Java: getting current Day of the Week value(Java:獲取當(dāng)前星期幾的值)
    主站蜘蛛池模板: 日韩免费在线视频 | 二区三区在线观看 | 中文字幕不卡在线88 | 国产亚洲区 | 中文字幕电影在线观看 | 亚洲精品视频免费 | 91中文在线观看 | 亚洲精品一区二区三区中文字幕 | 亚洲成人在线视频播放 | 久久久久久久久蜜桃 | 拍真实国产伦偷精品 | 欧美日韩在线精品 | 一区二区三区福利视频 | 久久综合久色欧美综合狠狠 | 日本三级网址 | 天天色av | 激情伊人网 | 国产成人精品一区二 | 夜夜操天天操 | 91婷婷韩国欧美一区二区 | 91文字幕巨乱亚洲香蕉 | 色视频在线免费观看 | 福利网站在线观看 | 在线一区二区三区 | 一级毛片,一级毛片 | 久久免费国产视频 | 超碰97在线免费 | 一本综合久久 | 色综合视频在线 | 国产一级淫片a直接免费看 免费a网站 | 国产精久久久久久 | h视频在线观看免费 | 欧美精品首页 | 精品国产色 | 91在线精品一区二区 | 欧美成人在线网站 | 色999日韩 | 国产最新视频在线 | 作爱视频免费观看 | 精精国产xxxx视频在线播放7 | 精一区二区 |