开源改变世界!!

NSInternalInconsistencyException – NSWindow 拖动区域应该只在主线程上无效! #1542

推推 grbl 2年前 (2023-01-28) 101次浏览
关闭
dvsingletary 打开了这个问题 2021 年 2 月 19 日 · 2 条评论
关闭

NSInternalInconsistencyException – NSWindow 拖动区域应该只在主线程上无效!#1542

dvsingletary 打开了这个问题 2021 年 2 月 19 日 · 2 条评论

注释

NSInternalInconsistencyException - NSWindow 拖动区域应该只在主线程上无效! #1542

尝试通过克隆存储库并使用 run_platform.sh 脚本构建/运行 UGS 平台时,出现以下异常:
2021-02-18 10:09:57.620 java[32125:1062505] *** Terminating app due to uncaught异常“NSInternalInconsistencyException”,原因:“NSWindow 拖动区域只能在主线程上无效!”
*** 首先抛出调用堆栈:(
0
CoreFoundation 0x00007fff206496af __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007fff203813c9 objc_exception_throw + 48
2 CoreFoundation 0x00007fff20671a9a -[NSException raise] + 9
3 AppKit 0x00007fff22e18460 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 321
4 AppKit 0x00007fff22e03121 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1375
5 AppKit 0x00007fff22e02bbb -[NSWindow initWithContentRect:styleMask:backing:defer:] + 42
6 libnativewindow_macosx.jnilib 0x00000001437973fe Java_jogamp_nativewindow_macosx_OSXUtil_CreateNSWindow0 + 398
7 ??? 0x0000000123513c90 0x0 + 4887493776
)
libc++abi.dylib:以 NSException 类型的未捕获异常终止

重现:

  1. 克隆存储库
  2. run_platform.sh(使用最新安装的 Java 构建和运行)- 将因上述消息而崩溃。
  3. 如果您运行 ugs-platform/application/target/ugsplatform/bin/ugsplatform 并且 –jdkhome 指向以下任何 JDK,也会以同样的方式崩溃:
    adoptopenjdk-11.jdk
    jdk-13.0.1.jdk <- – 我发现这特别奇怪,因为这是编译后的二进制文件附带的版本!
    jdk-13.0.2.jdk
    jdk-15.0.2.jdk
    openjdk-13.0.1.jdk
    jdk1.8.0_281.jdk

值得注意的是,如果我使用以下较旧的 JDK,一切正常:
jdk1.8.0_241.jdk

这是在 MacOS 11.2.1 上

我很想弄清楚这里发生了什么。愿意提供您需要的任何其他信息来确定这一点。我在这里看到其他人报告的这个问题,但除了针对旧的 JDK 1.8.0_281 运行之外找不到任何确定的解决方案。

NSInternalInconsistencyException - NSWindow 拖动区域应该只在主线程上无效! #1542
合作者
布雷勒 评论了 2021 年 2 月 19 日  

欢迎回来@dvsingletary

我可以在 MacOS 10.12.6 上使用 adoptopenjdk-13.0.1 进行构建(我知道,它很旧但没有升级空间🤦
这个问题将在我们获得新版本的 JOGL 2.4.0 后得到解决(我已经用快照构建测试了这个),直到那时我们仍然使用旧的 JDKs…

NSInternalInconsistencyException - NSWindow 拖动区域应该只在主线程上无效! #1542
作者

谢谢!

如果这是一个已知问题,我之前并不清楚。很高兴您知道并且使用较旧的 JDK 8u241 是一个可以接受的解决方案。