Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UnsatisfiedLinkError: Failed to locate library: liblwjgl.dylib #1404

Open
emrekultursay opened this issue Jan 9, 2025 · 0 comments
Open

Comments

@emrekultursay
Copy link

Environment information:

  • AGI version: 3.3.2
  • Host OS: macOS, arm64
    If tracing on Android:
  • Device model: Pixel 7 Pro
  • Android Version: 15

Bug description
AGI 3.3.2 cannot open the .gfxtrace file that it created. The file can be opened in AGI 3.3.1.

Reproduction steps

  1. Start AGI 3.3.2
  2. Open the attached .gfxtrace file

agi-bug.gfxtrace.zip

Stacktrace

org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.UnsatisfiedLinkError: Failed to locate library: liblwjgl.dylib)
	at org.eclipse.swt.SWT.error(SWT.java:4918)
	at org.eclipse.swt.SWT.error(SWT.java:4833)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4345)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3968)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
	at org.eclipse.jface.window.Window.open(Window.java:799)
	at com.google.gapid.Main$UI.show(Main.java:140)
	at com.google.gapid.Main.main(Main.java:80)
Caused by: java.lang.UnsatisfiedLinkError: Failed to locate library: liblwjgl.dylib
	at org.lwjgl.system.Library.loadSystem(Library.java:164)
	at org.lwjgl.system.Library.loadSystem(Library.java:63)
	at org.lwjgl.system.Library.<clinit>(Library.java:51)
	at org.lwjgl.opengl.GL.<clinit>(GL.java:80)
	at com.google.gapid.widgets.ScenePanel.<init>(ScenePanel.java:63)
	at com.google.gapid.widgets.ImagePanel$ImageComponent.<init>(ImagePanel.java:781)
	at com.google.gapid.widgets.ImagePanel.<init>(ImagePanel.java:166)
	at com.google.gapid.views.FramebufferView.<init>(FramebufferView.java:135)
	at com.google.gapid.GraphicsTraceView$MainTab.lambda$getTabs$2(GraphicsTraceView.java:453)
	at com.google.gapid.widgets.TabComposite$Folder.newTab(TabComposite.java:934)
	at com.google.gapid.widgets.TabArea.restore(TabArea.java:85)
	at com.google.gapid.widgets.TabArea.restore(TabArea.java:89)
	at com.google.gapid.widgets.TabArea.<init>(TabArea.java:40)
	at com.google.gapid.GraphicsTraceView.<init>(GraphicsTraceView.java:99)
	at com.google.gapid.MainWindow$MainViewContainer.updateAndGet(MainWindow.java:441)
	at com.google.gapid.MainWindow$1.lambda$onCaptureLoaded$0(MainWindow.java:134)
	at com.google.gapid.widgets.Widgets.ifNotDisposed(Widgets.java:141)
	at com.google.gapid.widgets.Widgets.lambda$scheduleIfNotDisposed$1(Widgets.java:169)
	at com.google.gapid.widgets.Widgets.lambda$schedule$0(Widgets.java:161)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
	... 6 more

Screenshots
Image


Some debugging help:

  • Comparing the liblwjgl files in AGI 3.3.1 vs. 3.3.2, the .sha1 and .git files claim they are identical versions, but the file sizes are different.
  • On AGI 3.3.1 : 228K liblwjgl.dylib
  • On AGI 3.3.2: 252K liblwjgl.dylib

They are both x64. so there's no ABI issue there.

The version of hardcoded in AGI is 3.3.1: org.lwjgl:lwjgl:3.3.1

When I go to the Maven repo at https://repo1.maven.org/maven2/org/lwjgl/lwjgl/3.3.1/ and download the corresponding file:

  • lwjgl-3.3.1-natives-macos.jar
  • Extract and check size: 228KB liblwjgl.dylib

Is it possible that somehow a different version of liblwjgl.dylib was packaged into AGI 3.3.2?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant