記一次aviator ibm jdk 不兼容問題排查

問題背景

在was8.5平臺,調用AviatorEvaluator.compile 方法時,整個進程都掛掉了,但是同樣的代碼在本地運行是沒有問題的。

解決過程
  1. 在項目的根目錄下找到了當進程掛掉時生成的三個文件,分別是:
    core.20190816.115359.86949.0001.dmp
    javacore.20190816.115359.86949.0002.txt
    Snap.20190816.115359.86949.0003.trc
    那就先從txt文件下手了,找到了下面的提示


從上面的日誌中看到問題很可能出在了虛擬機廠商不同,導致本地現象和was平臺不一致

  • was8.5jdk版本


  • 本地版本


  1. 定位到錯誤中的代碼行


錯誤是出現在標紅的地方
這段代碼也給出的暗示,如果錯誤次數達到10000次,就將preferClassLoader設置爲 true,但是我們碰到的情況是隻要執行標紅的代碼整個進程就會掛掉,根本等不到10000次。所以我們的解決方案是:在啓動參數中,將配置aviator.preferClassloaderDefiner設置爲 true

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章