org.eclipse.swt.SWTError: 没有更多句柄 [gtk_init_check() failed]
Posted
技术标签:
【中文标题】org.eclipse.swt.SWTError: 没有更多句柄 [gtk_init_check() failed]【英文标题】:org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed] 【发布时间】:2021-03-03 21:10:07 【问题描述】:我正在尝试在 Linux (ubuntu 18.04) 上使用 eclipse MAT 工具并收到以下错误:
root@xxx/var/lib/jenkins/workspace/Heap_Analysis/mat# ./MemoryAnalyzer
Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
MemoryAnalyzer: Cannot open display:
MemoryAnalyzer:
An error has occurred. See the log file
/var/lib/jenkins/workspace/Heap_Analysis/mat/configuration/1614805252582.log.
root@xxxx:/var/lib/jenkins/workspace/Heap_Analysis/mat# cat /var/lib/jenkins/workspace/Heap_Analysis/mat/configuration/1614805252582.log
!SESSION 2021-03-03 21:00:52.492 -----------------------------------------------
eclipse.buildId=unknown
java.version=11.0.10
java.vendor=Ubuntu
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en
Command-line arguments: -os linux -ws gtk -arch x86_64
!ENTRY org.eclipse.osgi 4 0 2021-03-03 21:00:53.259
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(SWT.java:4749)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:1130)
at org.eclipse.swt.widgets.Display.create(Display.java:1070)
at org.eclipse.swt.graphics.Device.<init>(Device.java:175)
at org.eclipse.swt.widgets.Display.<init>(Display.java:636)
at org.eclipse.swt.widgets.Display.<init>(Display.java:627)
如果你们知道任何解决问题的方法,将不胜感激。
已经解决了 *** 上的所有类似问题以及以下链接: https://unix.stackexchange.com/questions/94497/org-eclipse-swt-swterror-no-more-handles-gtk-init-check-failed-while-runnin
但没有任何帮助。
【问题讨论】:
【参考方案1】:我自己没见过这个问题,但是:
-
检查您是否安装了
libwebkit2gtk-4.0
检查 DISPLAY 是否设置正确
检查您是否可以让其他 X 应用程序工作
试用最新的内存分析器 1.12 版,因为它基于 Eclipse 的更新版本,2021-06
我可以使用基于 Ubuntu 18.04 的映像在 Windows 上的 Docker 下运行 MAT,因此 Ubuntu 18.04 可以工作:Running MAT under Docker
【讨论】:
以上是关于org.eclipse.swt.SWTError: 没有更多句柄 [gtk_init_check() failed]的主要内容,如果未能解决你的问题,请参考以下文章