Contact me: hankecnc@gmail.com

退出时崩溃(操纵杆线程) #1927

推推 grbl 3年前 (2023-01-29) 411次浏览
关闭
bertieconfundo 打开了这个问题 2022 年 7 月 17 日 · 3条评论
关闭

退出时崩溃(操纵杆线程)#1927

bertieconfundo 打开了这个问题 2022 年 7 月 17 日 · 3条评论

注释

退出时崩溃(操纵杆线程) #1927
贡献者

版本

其他

硬件/固件

GRBL 1.1

发生了什么

退出 UGS 时,MacOS 报告崩溃。这是崩溃线程的堆栈跟踪(看起来与操纵杆代码有关):

Thread 1098 Crashed:: /Stop
0 libsystem_kernel.dylib 0x7ff80d03a00e __pthread_kill + 10
1 libsystem_pthread.dylib 0x7ff80d0701ff pthread_kill + 263
2 libsystem_c.dylib 0x7ff80cfbbd24 abort + 123
3 libjvm.dylib 0x1099c0fb8 os::abort(bool, void
 , void const*) + 22
4 libjvm.dylib 0x109b80a34 VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long) + 2770
5 libjvm .dylib 0x109b7ff3c VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*, char const*, …) + 152
6 libjvm.dylib 0x109b80a81 VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*) + 33
7 libjvm.dylib 0x1099c489c JVM_handle_bsd_signal + 794
8 libjvm.dylib 0x1099c23ee signalHandler(int, __s ) + 45
9 libsystem_platform.dylib 0x7ff80d085dfd _sigtramp + 29
10 ??? 0x70004b94c050 ???
11 CoreFoundation 0x7ff80d15796c CFRunLoopRemoveSource + 670
12 IOKit 0x7ff80fa5f3d5 IOHIDDeviceUnscheduleFromRunLoop + 108
13 IOKit 0x7ff80fa6366e __IOHIDManagerDeviceApplier + 556
14 CoreFoundation 0x7ff80d101766 __CFSetApplyFunction_block_invoke + 18
15 CoreFoundation 0x7ff80d1015d3 CFBasicHashApply + 115
16 CoreFoundation 0x7ff80d101523 CFSetApplyFunction + 131
17 IOKit 0x7ff80fa62116 __ApplyToDevices + 105
18 IOKit 0x7ff80fa62206 IOHIDManagerUnscheduleFromRunLoop + 75
19 IOKit 0x7ff80fa62160 IOHIDManagerClose + 34
20 libjamepad64.dylib 0x15f96cbb2 DARWIN_JoystickQuit + 82
21 libjamepad64.dylib 0x15f8c2e85 SDL_JoystickQuit + 69
22 libjamepad64.dylib 0x15f89f22b SDL_QuitSubSystem_REAL + 155
23 libjamepad64.dylib 0x15f89f425 SDL_Quit_REAL + 21
24 ??? 0x10ffa6c90 ???
25 ???0x10ffa0fb3 ???
26 ???0x10ffa0fb3 ???
27 ???0x10ffa0ff8 ???
28 ???0x110dbc8bc ???
29 ???0x10ff97949 ???
30 libjvm.dylib 0x10973ba89 JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*) + 619
31 libjvm.dylib 0x10973ae7d JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, 线程*) + 231
32 libjvm.dylib 0x10973af3a JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Thread*) + 98
33 libjvm.dylib 0x1097b84f6 thread_entry(JavaThread*, Thread*) + 120
34 libjvm.dylib 0x109b2d8d4 JavaThread ::thread_main_inner() + 134
35 libjvm.dylib 0x109b2d712 JavaThread::run() + 292
36 libjvm.dylib 0x109b2b4f3 Thread::call_run() + 113
37 libjvm.dylib 0x1099c0871 thread_native_entry(Thread*) + 306 36 libjvm.dylib 0x109b2b4f3 线程::call_run() + 113 37 libjvm.dylib 0x1099c0871 thread_native_entry(Thread*) + 306
38 libjvm.dylib7pthread0dy libsystem10 _pthread_start + 125
39 libsystem_pthread.dylib 0x7ff80d06bf6b thread_start + 15

如何重现

运行 UGS(夜间构建已经这样做了几个月 – 可能是因为我开始使用操纵杆控制器进行慢跑)。连接到 GRBL。断开。退出 UGS(崩溃)。

操作系统

MacOS v12.4 蒙特雷

还要别的吗

我将调查这里发生的事情,看看我是否可以为此提交修复。

退出时崩溃(操纵杆线程) #1927
合作者

我一直在考虑将库从https://github.com/williamahartman/Jamepad切换到https://github.com/electronstudio/sdl2gdx,因为它的规格看起来更好一些(尽管不确定 Linux ARM 上的 sdl2gdx)。

我不确定这两个项目的状态了,如果你有时间研究它,我将不胜感激!

退出时崩溃(操纵杆线程) #1927
贡献者作者

我没有时间考虑切换到不同的 API,但我会考虑为这次崩溃提出一个修复方案。这个崩溃真正烦人的方面是,因为它发生在 UGS 退出时,它有时会在写出它的 UI 状态和/或宏文件的过程中使 UGS 崩溃——如果发生这种情况,一个或两个都会损坏,这真的很不方便.

bertieconfundo 添加了对引用此问题的 bertieconfundo/Universal-G-Code-Sender 的提交 2022 年 7 月 23 日

退出时崩溃(操纵杆线程) #1927
贡献者作者

我能够使用 Jamepad 使一切正常工作 – 退出时不再崩溃,并且热插拔现在也可以工作。(至少,在 Mac 上它确实…在其他平台上测试它会很好)