我們在 App Engine 上為我們的應用程式使用 Java 8,最近我們在嘗試在應用程式中繪制影像時隨機遇到錯誤。有時(但并非總是),我們得到一個UnsatisfiedLinkError似乎是因為 App Engine 找不到依賴項。下面的堆疊跟蹤片段:
java.lang.UnsatisfiedLinkError: /base/alloc/tmpfs/dynamic_runtimes/apphosting_java_openjre8/a26d810ece7dc740/lib/amd64/libfontmanager.so: libfreetype.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1124)
at sun.font.FontManagerNativeLibrary$1.run(FontManagerNativeLibrary.java:61)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerNativeLibrary.<clinit>(FontManagerNativeLibrary.java:32)
at sun.font.SunFontManager$1.run(SunFontManager.java:346)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.<clinit>(SunFontManager.java:342)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.awt.Font.getFont2D(Font.java:491)
at java.awt.Font.access$000(Font.java:224)
at java.awt.Font$FontAccessImpl.getFont2D(Font.java:228)
at sun.font.FontUtilities.getFont2D(FontUtilities.java:180)
at sun.java2d.SunGraphics2D.checkFontInfo(SunGraphics2D.java:669)
at sun.java2d.SunGraphics2D.getFontInfo(SunGraphics2D.java:830)
at sun.java2d.SurfaceData.getTextPipe(SurfaceData.java:754)
at sun.java2d.SurfaceData.validatePipe(SurfaceData.java:652)
at sun.java2d.SunGraphics2D.validatePipe(SunGraphics2D.java:446)
at sun.java2d.pipe.ValidatePipe.validate(ValidatePipe.java:55)
at sun.java2d.pipe.ValidatePipe.scaleImage(ValidatePipe.java:218)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3400)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3344)
我們也得到一個ClassDefNotFounError看起來非常相似的 - 但我的理解是UnsatisfiedLinkError 也是潛在的問題。
我們沒有對專案的依賴項進行任何更改。根據檔案,App Engine for Java 8 支持 AWT,過去我們對此沒有任何問題 - 它只是在幾天前隨機啟動。只有在部署到 App Engine 時,本地運行沒有問題。真正令人討厭的部分是,這種情況有時會發生——實際上相對很少——但它已經開始變得稍微頻繁一些,并且沒有模式可以告訴它何時會或不會起作用。
我們已經嘗試將 App Engine Java sdk 更新到版本 1.9.98(當前使用 1.9.93),并且我們已經在無頭模式下運行 AWT(我在其他執行緒中看到的建議)。兩者都沒有解決問題。
有沒有人有任何想法,或者知道為什么有時只會發生這種情況?
uj5u.com熱心網友回復:
已經有幾天了,這似乎已經自行解決了,所以我只能假設這是 Google/App Engine 端的問題。考慮到這個解決了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/507742.html
標籤:Google Cloud Collective 谷歌应用引擎 java-8 awt noclassdeffound错误 不
上一篇:PHP致命錯誤:嘗試運行Google的示例腳本時,vendor/google/apiclient/src/Client.php:982中不存在檔案“credentials.json”
