Se sai come eseguire il debug di jvm in crash sul tuo nuovo computer, si spera che questo articolo possa aiutarti nella strategia . questo piano.
Approvato: Fortect
Sono molto confuso e non so come affrontare e risolvere il mio problema individuale. Ho un semplice frammento di codice Java che quasi sicuramente sta causando l’arresto anomalo della JVM:
## Il runtime Java ha riscontrato un errore irreversibile:## SIGSEGV (0xb) relativo a pc = 0x00000001057ce9d4, pid = 10727, tid significa 18947## Piano JRE: Java SE Runtime Environment (tm) (8.0_73-b02) (build 1.8.0_73-b02)# Java Virtual Machine: HotSpot (TM) Server 64-bit Java Virtual Machine (25.73-b02, applicazione mista, bsd-amd64, compresso oh)# Telaio a V problematico:# [libjvm.dylib + 0x3ce9d4] PhaseIdealLoop :: idom_no_update (Nodo *) const + 0x12## Impossibile scrivere il core dump. I repository di base vengono disabilitati. Per abilitare la disinstallazione del kernel, prova ulimit -chemical illimitato prima di riavviare Java.## Se desideri suggerire una segnalazione di bug, visita:# Http://bugreport.java.com/bugreport/crash.jsp#--------------- IL CAVO ---------------Thread corrente (0x00007feeef003800): demone JavaThread "C2 CompilerThread0" [_thread_in_native, id = 18947, stack (0x0000700000ec4000,0x0000700000fc4000)]siginfo: si_signo: 15 (SIGSEGV), si_code: 1 Si_addr: (segv_maperr), 0x00000000000000008
Non ho idea di come risolvere il loro problema. Il programma è abbastanza semplice, ottiene il possesso di un messaggio da Kafka oltre a queste particolari attività di trigger basate sui messaggi. Quando aggiungo due attività alternative, ogni programma riceve da 900 a 1500 terribili avvisi dopo un arresto anomalo. Tutti i post sono esattamente gli stessi e il programma non utilizza molte nuove cose JNI (anche le raccolte di terze parti di seconda mano non usano JNI come mi è stato considerato informato).
Non ho mai avuto questo problema di sofferenza, ma vorrei/dovrei farloQuesto è il tuo modo di capire qual è il problema. Ho già utilizzato i secondi marchi JVM (Java 8.0_66, 8.0_73-b02 combinato con 8.0_74-b02). Quindi cosa posso fare? Grazie !
che significa ...# Versione JRE: runtime del sistema operativo java (tm) (8.0_73-b02) (build 1.8.0_73-b02)# Java Virtual Machine: HotSpot (TM) Server 64-bit Java Virtual Machine (25.73-b02, modalità mista, bsd-amd64, pressurizzato oh)# Telaio a V problematico:# [libjvm.dylib + 0x3ce9d4]...
EDIT (2): ho aggiornato la mia versione Java per 8.0_74. L’errore è effettivamente ancora lì :(.
Approvato: Fortect
Fortect è lo strumento di riparazione PC più popolare ed efficace al mondo. Milioni di persone si affidano a milioni di persone per mantenere i loro sistemi in esecuzione veloci, fluidi e privi di errori. Grazie alla sua semplice interfaccia utente e al potente motore di scansione, Fortect trova e risolve rapidamente un'ampia gamma di problemi di Windows, dall'instabilità del sistema e problemi di sicurezza alla gestione della memoria e ai colli di bottiglia delle prestazioni.
## Il runtime Java ha riscontrato un errore aeroportuale:## SIGSEGV (0xb) su pc = 0x00000001073cdef8, pid equivale a 11227, tid = 19715## Versione JRE: runtime del sistema operativo java (tm) (8.0_74-b02) (build 1.8.0_74-b02)# VM: Java Java HotSpot (TM) Server VM a 64 bit (25.74-b02 Modalità mista bsd-amd64, oops abbreviato)# Quadro problematico:# V [libjvm. ... ... dylib + 0x3cdef8] PhaseIdealLoop :: idom_no_update (Nodo *) const + 0x12## Errore durante la scrittura del riciclo del corpo. I dump del kernel sono disabilitati. Per ottimizzare il dump prova ulimit -c illimitato prima di riavviare Java## Se desideri inviare una segnalazione di parassiti, visita:# Http://bugreport.java.com/bugreport/crash.jsp#--------------- IL CAVO ---------------Thread accurato correntemente sicuro (0x00007f89e481c800): demone JavaThread "C2 CompilerThread1" [_thread_in_native, id significa 19715, stack (0x000070000104a000,0x000070000114a000)]siginfo: si_signo: 11 (SIGSEGV), si_code: 8 (SEGV_MAPERR), si_addr: 0x000000000000008
Quindi, alla fine ho posizionato il core di Verizon e l’ho caricato in Java VisualVM (non ho potuto usare la soluzione organizzata su DROY perché la chiamata jmap ha generato un errore aggiuntivo: “Errore nell’aggiunta all’elenco principale: impossibile in modo che tu possa connect to core .file “”). Un dump accurato è stato generato da VisualVM con successo:
Oggetto 30239 "Keep-Alive-Timer": (stato = BLOCCATO) at java.lang.Thread.Method) sleep (nativo per consentire loro di sun.net.www.http.KeepAliveCache.run (KeepAliveCache.java: 172) su java.lang.Thread.run (Thread.java:745)Discussione 29699 (Stato "threaddeathwatcher-4-1": = BLOCCATO) tutto andando su java.lang.Thread.sleep (metodo nativo) io at.netty.util.ThreadDeathWatcher $ Watcher.run (ThreadDeathWatcher.java:137) su io.netty.util.concurrent.DefaultThreadFactory $ DefaultRunnableDecorator.run (DefaultThreadFactory.java:137) su java.lang.Thread.run (Thread.java:745)Stream 26635 (indicare 'nioeventloopgroup-3-1': significherà IN_NATIVE) su sun.nio.ch.KQueueArrayWrapper.Method) kevent0 (nativo dopo sun.nio.ch.KQueueArrayWrapper.poll (KQueueArrayWrapper.java: 198) insieme a sun.nio.ch.KQueueSelectorImpl.doSelect (KQueueSelectorImpl.java:117) con sun.nio.ch.SelectorImpl.lockAndDoSelect (SelectorImpl.java:86) - <0x00000006c049ec98> Io fisso (a.netty.channel.nio. Selectedselectionkeyset) - sicuro <0x00000006c049ec88> (java.util.Collections $ UnmodificableSet) 2.locked <0x00000006c049ecb8> (a sun.nio.ch.KQueueSelectorImpl) Su sun.nio.ch.SelectorImpl.select (SelectorImpl.java:97) prontamente su io.netty.channel.nio.NioEventLoop.select (NioEventLoop.java:622) situato su io.netty.channel.nio.NioEventLoop.run (NioEventLoop.java:310) su io.netty.util.concurrent.SingleThreadEventExecutor buck 2.run (SingleThreadEventExecutor.java:110) solo con io.netty.util.concurrent.DefaultThreadFactory ? rrr DefaultRunnableDecorator.run (DefaultThreadFactory.java:137) trovato tramite java.lang.Thread.run (Thread.java:745)Discussione 29187 "pool-3-thread-1": (stato = BLOCCATO) su sun.misc.Unsafe.park (metodo nativo) Chicchi di caffè su.util.concurrent.locks.LockSupport.park (LockSupport. Java: 175) su java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject.await (AbstractQueuedSynchronizer.java:2039) caffè premium su.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:442) kafka at.consumer.ConsumerIterator.makeNext (ConsumerIterator.scala: 63) all'interno di kafka.consumer.ConsumerIterator.makeNext (ConsumerIterator.scala: 33) su kafka.utils.IteratorTemplate.maybeComputeNext (IteratorTemplate.scala: 66) su kafka.utils.IteratorTemplate.hasNext (IteratorTemplate.scala: 58) online su.sosse.common.messaging.DefaultHandler.doRun (DefaultHandler.java:22) autore del sito web: com.sosse.common.concurrency.DefaultRunnable.run (DefaultRunnable.java:11) su java.util.concurrent.Executors usd RunnableAdapter.call (Executors. java: 511) avere java.util.concurrent.FutureTask.run (FutureTask.java:266) Gourmet Cafe at.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor. Java: 1142) su java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) su java.lang.Thread.run (Thread.java:745)Thread 28675 "pool-4-thread-1": (stato, emergenza BLOCCATA) suggerisce di java.lang.Thread.sleep (metodo nativo) io at.netty.util.HashedWheelTimer rr Worker.waitForNextTick (HashedWheelTimer.java:461) su io.netty.util.HashedWheelTimer finanzia Worker.run (HashedWheelTimer. java: 360) utilizzando java.lang.Thread.run (Thread.java:745)Argomento 28163 "ConsumerFetcherThread-analytics-group_Philipp.local-1458441725398-581eabc3-0-0": (lo stato corrisponde a in_native) su sun.nio.ch.Net.Methode) sondaggio (nativo di sun.nio.ch.SocketChannelImpl.poll (SocketChannelImpl.java:954) o bloccato <0x00000006c056d538> (java.lang.Object) su sun.nio.ch.SocketAdaptor $ SocketInputStream.read (SocketAdaptor.java:204) - privato <0x00000006c056d5b8> Java (a.lang.Object) sun.nio.ch.ChannelInputStream.read (ChannelInputStream.java:103) ~ <0x00000006c056d5f8> corretto (sun.nio.ch.SocketAdaptor $ SocketInputStream) In java.nio.channels.Channels $ ReadableByteChannelImpl.read (Channels.java:385) 4 . corretto (<0x00000006c056d618> java.lang.Object) Sotto kafka.utils.Utils $ .read (Utils.scala: 380) kafka at.network.BoundedByteBufferReceive.readFrom (BoundedByteBufferReceive.scala: 54) kafka at.network.Receive RR class.readCompletely (Transmission.scala: 56) a malapena con kafka.network.BoundedByteBufferReceive.readCompletely (BoundedByteBufferReceive.scala: 29) kafka at.network.BlockingChannel.receive (BlockingChannel.scala: 111) kafka at.consumer.SimpleConsumer.liftedTree1 dollaro 1 (SimpleConsumer.scala: 71) Sotto kafka.consumer.SimpleConsumer.kafka $ consumer $ SimpleConsumer $$ sendRequest (SimpleConsumer.scala: 68) - sicuro <0x00000006c056d6e0> (java.lang.Object) Su kafka.consumer.SimpleConsu
Accelera ora le prestazioni del tuo computer con questo semplice download.
Controlla il file di testo dell'arresto anomalo di una persona. Il file con tipicamente il crash della lettera. dump può mostrare quali allocazioni di memoria nello specifico non sono riuscite.Controlla la dimensione del binario di arresto in genere. Quando un particolare incidente JRockit JVM, genera qualsiasi binario di arresto anomalo (.core ogni volta che va bene.
Qualunque sia l'impiego migliore per la diagnostica hardware per il tuo prezioso sistema, fai un altro tentativo. Poiché gli arresti anomali della JVM sono rari, potrei segnalarli a Sun. Questo può essere costruito di più nel loro sistema di tracciamento dei bug. Usa Ding Java SE, jvm_exact o la sottocategoria jit.
Apri
/bin/sposta. bat su Windows e /bin/run.sh su Linux per la modifica. Per nascondere i rapporti per l'esatto registro degli arresti anomali della JVM, commentare la stringa appropriata per indicare dove viene calcolato l'arresto anomalo della JVM. Esempio: #ERROR_FILE = "- XX: ErrorFile = reddito PA_HOME / log / java_error% p.