java.lang.VerifyError: Ожидание кадра стековой карты в целевой ветви 29

Детали исключения:

Расположение: com/sonicsw/mf/comm/jms/ConnectorClient.setRequestTimeout(J)V @3: ifnonnull Причина: ожидаемый кадр стековой карты в этом месте.

at com.sonicsw.jndi.mfcontext.MFContext.<init>(MFContext.java:101)
at com.sonicsw.jndi.mfcontext.MFContextFac

Кто-нибудь может решить эту проблему? Погуглил его больше недели и перепробовал всевозможные альтернативы. Используется -XX:-UseSplitVerifier . Это тоже не работает. С опцией noverify все работает нормально. Версия Java 1.7.0_51 . Хорошо работает с 7,6 звуковыми библиотеками. Мы недавно обновили эти библиотеки с 7.6 до 2015, и после этого мы получаем эту ошибку.

1 ответ

Даже я также столкнулся с той же проблемой при переносе моего приложения с 1.6 на 1.7. После огромной борьбы мы нашли решение этой проблемы.

Подход 1. Либо вы можете использовать аргумент -XX:-UseSplitVerifier, чтобы решить эту проблему, и вам не нужно беспокоиться об обновлении файлов библиотеки.

Подход 2: Я выполнил следующие шаги, чтобы преодолеть проблему. Шаг 1: Определите и сохраните список внешних библиотек, используемых вашим приложением. Шаг 2: После того, как вы определили список, продолжайте удалять по одному файлы внешней библиотеки и подключите файлы библиотеки обновленной версии, которые помогут вам изолировать библиотеку, которая может вызвать проблему. В моем случае: j2ee.jar и openjpa-1.2.2 jar-файлы создали проблему, а затем я обновил эти библиотеки, которые решили проблемы миграции.

Следовательно, это довольно медленный и болезненный процесс, чтобы выяснить, какая библиотека вызвала проблему, и остановить ее.

Я надеюсь, что эта информация может быть полезной, потому что она основана на моем опыте в реальном времени.

Другие вопросы по тегам