Size: a a a

2020 April 11

ПФ

Паша Финкельштейн in pro.jvm
Понятно что никакие выкручивания хипа не помогают
источник

AK

Alexander Komarov in pro.jvm
А выставить снятие дампа автоматом при падении?
источник

ПФ

Паша Финкельштейн in pro.jvm
Alexander Komarov
А выставить снятие дампа автоматом при падении?
Не сымается ))
источник

VP

Vladimir Petrakovich in pro.jvm
Паша Финкельштейн
Взываю к коллективному разуму: что такое
 java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects 

И как это дебажить?
А как можно дебажить кончившийся хип?
источник

ПФ

Паша Финкельштейн in pro.jvm
Vladimir Petrakovich
А как можно дебажить кончившийся хип?
ну например иногда можно его дампануть и посмотреть что там произошло
источник

ПФ

Паша Финкельштейн in pro.jvm
Но я не верю что у меня кончается хип
источник

VP

Vladimir Petrakovich in pro.jvm
Хм, ну тогда всё конечно интереснее
источник

ПФ

Паша Финкельштейн in pro.jvm
Паша Финкельштейн
Не сымается ))
@shipilev а это случайно не похоже на баг? Там не безусловное снятие хипдампа при падении?
источник

ПФ

Паша Финкельштейн in pro.jvm
В документации такого типа падения даже не описано https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/memleaks002.html
источник

ПФ

Паша Финкельштейн in pro.jvm
На всякий случай я прокидываю параметры аж так: export _JAVA_OPTIONS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/my.heapdump -Xmx8G"
Должны подцепляться вообще всеми дочерними что бы там ни было
источник

AS

Aleksey Shipilev in pro.jvm
Это падение при деоптимизации, которой нужно восстановить объекты в куче, снесённые EA/scalar-replacement-ом. -XX:+HeapDumpOnOutOfMemoryError обрабатывается при OOME на обычном аллокационном пути. Это же OOME кидается из нестандартного пути, по сути из компилятора/рантайма, и поэтому опция не поможет.
источник

AS

Aleksey Shipilev in pro.jvm
В целом, да, UX-баг, что хипдамп не дампится в этом случае. Но хип очевидно закончился.
источник

ПФ

Паша Финкельштейн in pro.jvm
Блин, как же оно 8 гектар хипа так быстро аллоцирует
источник

ПФ

Паша Финкельштейн in pro.jvm
так, ну я дал 14, легче не стало )
источник

ПФ

Паша Финкельштейн in pro.jvm
сейчас дам 20, там уже в своп должно пойти
источник

ПФ

Паша Финкельштейн in pro.jvm
Упало моментально ))) Видимо не все дочерние процессы обязаны подхватывать _JAVA_OPTIONS
источник

AS

Aleksey Shipilev in pro.jvm
ну, могу только посоветовать хакнуть код и посмотреть, что там пытается аллоцироваться; вот отсюда прилетает исключение, там же надо шариться: http://hg.openjdk.java.net/jdk/jdk/file/19afeaa0fdbe/src/hotspot/share/runtime/deoptimization.cpp#l1027
источник

ПФ

Паша Финкельштейн in pro.jvm
и JAVA_OPTS тоже
источник

AS

Aleksey Shipilev in pro.jvm
Ну или хотя бы с fastdebug билдом запусти, вдруг там вообще какая-то ересь происходит, которую ассерт поймает
источник

ПФ

Паша Финкельштейн in pro.jvm
Aleksey Shipilev
Ну или хотя бы с fastdebug билдом запусти, вдруг там вообще какая-то ересь происходит, которую ассерт поймает
А у тебя был где-то билд с фастдебагом же?
источник