JVM выдает общую ошибку защиты при выполнении кода в DozerBeanMapper

Немного любопытно, мы запускаем Dozer (5.3.2) в одном из наших приложений (в 64-битной JVM IBM). В прошлую пятницу одна из наших производственных коробок внезапно остановилась, поскольку JVM выдавала общую ошибку защиты. К сожалению, у нас нет никакой полезной регистрации, чтобы показать нам, что происходило в то время, однако файл javacore JVM предполагает, что проблема возникла во время выполнения кода в Dozer DozerBeanMapper:

1XMCURTHDINFO Current thread
NULL ----------------------
3XMTHREADINFO "WebContainer : 70" J9VMThread:0x0000000011B1C600, j9thread_t:0x00002AAAC4F95920, java/lang/Thread:0x000000012D92E198, state:R, prio=5
3XMTHREADINFO1 (native thread ID:0x6BE2, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO2 (native stack address range from:0x00002AAAC2CD4000, to:0x00002AAAC2D15000, size:0x41000)
3XMTHREADINFO3 Java callstack:
4XESTACKTRACE at org/dozer/DozerBeanMapper.getMappingProcessor(DozerBeanMapper.java:184)
1INTERNAL Unable to walk in-flight data on call stack

Я бросил быстрый взгляд на исходный код Dozer для DozerBeanMapper и заметил, что строка кода, о которой сообщается в журнале javacore, использует java.util.concurrent.atomic.AtomicBoolean от Sun, который сам использует sun.misc.Unsafe. Из чего понимаю sun.misc.Unsafe он предоставляет гораздо больше возможностей для прямого и произвольного выделения памяти, чем обычно предоставляет JVM. Я, конечно, размышляю здесь, но это заставило меня задуматься о том, мог ли gpf, который мы видели, быть связан с использованием Дозером sun.misc.Unsafe,

Чтобы еще больше усложнить ситуацию, мы, к сожалению, используем несколько приложений DozerBeanMappers (что мы работаем над исправлением... разве это не забавное наследование кода). Эти сопоставители, по крайней мере, создаются только один раз во время запуска приложения, а не для каждого запроса.

К сожалению, я еще не выяснил, как воспроизвести проблему, поэтому подумал, что соберу некоторую информацию, пока я пытаюсь это сделать, так как я в настоящее время изо всех сил пытаюсь придумать, как я могу доказать / опровергнуть мою теорию. Кто-нибудь еще сталкивался с gpf-ситуациями при использовании Dozer? Вероятно ли, что наше использование нескольких DozerMapperBeans вызывает проблему?

Благодарен за любые мысли,

Эдд

0 ответов

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