首页 / 浏览问题 / 组件GIS / 问题详情
supermapX打开工作空间崩溃
121EXP 2023年07月31日
使用产品:SuperMap iDesktopX 11i (V11.0.1) SuperMap iDesktopX 11i(2022) SP1 for Windows(x64)(安装包) (2022-10-31) 数据类型:文件型 问题详细描述:下面代码打开工作空间崩溃, 问题重现步骤: try { IFormScene formScene = (IFormScene) FormUtilities.fireNewWindowEvent(WindowType.SCENE); if (formScene != null) { formScene.openScene(sceneName); } } catch (Exception var2) { Application.getActiveApplication().getOutput().output(var2); } supermapX文件夹自动生成错误日志太多,没放全,看不出问题 # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_UNCAUGHT_CXX_EXCEPTION (0xe06d7363) at pc=0x00007ffa54c8cf19, pid=6048, tid=0x0000000000000784 # # JRE version: Java(TM) SE Runtime Environment (8.0_301-b09) (build 1.8.0_301-b09) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.301-b09 mixed mode windows-amd64 compressed oops) # Problematic frame: # C [KERNELBASE.dll+0x2cf19] # # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows # # If you would like to submit a bug report, please visit: # http://bugreport.java.com/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x0000020d9d033800): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=1924, stack(0x0000001ac6b00000,0x0000001ac6c00000)] siginfo: ExceptionCode=0xe06d7363, ExceptionInformation=0x0000000019930520 0x0000001ac6bf6370 0x00007ffa12efb0c0 0x00007ffa12e40000 Registers: RAX=0x00000003fffffffe, RBX=0x00007ffa12efb0c0, RCX=0x0000001ac6bf0000, RDX=0x0000001ac6bf5c45 RSP=0x0000001ac6bf61e0, RBP=0x0000001ac6bf6320, RSI=0x0000001ac6bf64d8, RDI=0x0000001ac6bf6370 R8 =0x00007ffa550c3bf5, R9 =0x0000001ac6bf5bc0, R10=0x00007ffa573c0800, R11=0x00007ff9ee008694 R12=0x0000000000000000, R13=0x0000000000000000, R14=0x0000020dabb8df40, R15=0x0000000000000000 RIP=0x00007ffa54c8cf19, EFLAGS=0x0000000000000206 Top of Stack: (sp=0x0000001ac6bf61e0) 0x0000001ac6bf61e0: 0000000000000000 00007ffa12efb0c0 0x0000001ac6bf61f0: 0000001ac6bf64d8 0000000000000006 0x0000001ac6bf6200: 00000001e06d7363 0000000000000000 0x0000001ac6bf6210: 00007ffa54c8cf19 0000020d00000004 0x0000001ac6bf6220: 0000000019930520 0000001ac6bf6370 0x0000001ac6bf6230: 00007ffa12efb0c0 00007ffa12e40000 0x0000001ac6bf6240: 0000000000000000 0000000000000000 0x0000001ac6bf6250: 0000001ac6bf64d8 0000001ac6bf6320 0x0000001ac6bf6260: 0000001ac6bf6330 00007ffa573a4a5f 0x0000001ac6bf6270: 0000001ac6bf6370 0000000000000000 0x0000001ac6bf6280: 0000020dabb8df40 0000001ac6bf6370 0x0000001ac6bf6290: 00007ffa12f4e000 00007ffa12e40000 0x0000001ac6bf62a0: 0000e63e67201f3e 000000000000008c 0x0000001ac6bf62b0: 00007ffa12efb0c0 00007ffa5016485d 0x0000001ac6bf62c0: fffffffffffffffe 0000001ac6bf64f8 0x0000001ac6bf62d0: 0000001ac6bf64f8 00007ff9ed9578bc Instructions: (pc=0x00007ffa54c8cf19) 0x00007ffa54c8cef9: 8b d1 44 0f 47 c0 44 89 44 24 38 49 c1 e0 03 e8 0x00007ffa54c8cf09: ea 90 08 00 48 8d 4c 24 20 48 ff 15 ff 80 1b 00 0x00007ffa54c8cf19: 0f 1f 44 00 00 48 8b 8c 24 c0 00 00 00 48 33 cc 0x00007ffa54c8cf29: e8 52 85 06 00 48 81 c4 d8 00 00 00 c3 cc 83 64 Register to memory mapping: RAX=0x00000003fffffffe is an unknown value RBX=0x00007ffa12efb0c0 is an unknown value RCX=0x0000001ac6bf0000 is pointing into the stack for thread: 0x0000020d9d033800 RDX=0x0000001ac6bf5c45 is pointing into the stack for thread: 0x0000020d9d033800 RSP=0x0000001ac6bf61e0 is pointing into the stack for thread: 0x0000020d9d033800 RBP=0x0000001ac6bf6320 is pointing into the stack for thread: 0x0000020d9d033800 RSI=0x0000001ac6bf64d8 is pointing into the stack for thread: 0x0000020d9d033800 RDI=0x0000001ac6bf6370 is pointing into the stack for thread: 0x0000020d9d033800 R8 =0x00007ffa550c3bf5 is an unknown value R9 =0x0000001ac6bf5bc0 is pointing into the stack for thread: 0x0000020d9d033800 R10=0x00007ffa573c0800 is an unknown value R11=0x00007ff9ee008694 is an unknown value R12=0x0000000000000000 is an unknown value R13=0x0000000000000000 is an unknown value R14=0x0000020dabb8df40 is an unknown value R15=0x0000000000000000 is an unknown value Stack: [0x0000001ac6b00000,0x0000001ac6c00000], sp=0x0000001ac6bf61e0, free space=984k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [KERNELBASE.dll+0x2cf19] C [vcruntime140.dll+0x485d] C 0x00007ffa12e45fbd C 0x00007ffa12e9e5aa C 0x00007ffa12e9ee53 C 0x00007ff9edb8aadb C 0x00007ff9edb8b735 C 0x00007ff9ed992f21 C 0x00007ff9edea0877 C 0x00007ff9ede4da01 C 0x00007ff9ede4d81a C [SuGraphics3D.dll+0x3b625] C [SuGraphics3D.dll+0x35b93] C 0x0000020da5b09479 C 0x0000020d85749fae Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j com.supermap.ui.SceneControlNative.jni_Render(Ljava/awt/Component;J)V+0 j com.supermap.ui.SceneControl.render()V+27 j com.supermap.ui.SceneControl.actionPerformed(Ljava/awt/event/ActionEvent;)V+1 j com.supermap.ui.SceneControl_this_ActionAdapter.actionPerformed(Ljava/awt/event/ActionEvent;)V+5 J 12598 C2 javax.swing.Timer$DoPostEvent.run()V (95 bytes) @ 0x0000020d87079710 [0x0000020d87079460+0x2b0] J 7978 C2 java.awt.EventQueue$3.run()Ljava/lang/Object; (5 bytes) @ 0x0000020d86856a80 [0x0000020d868567c0+0x2c0] v ~StubRoutines::call_stub J 1116 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x0000020d85b50ba6 [0x0000020d85b50b40+0x66] J 6035 C2 java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V (80 bytes) @ 0x0000020d868b3188 [0x0000020d868b2920+0x868] J 11947 C2 java.awt.EventDispatchThread.pumpOneEventForFilters(I)V (190 bytes) @ 0x0000020d879200d0 [0x0000020d8791ff00+0x1d0] J 12355 C1 java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V (47 bytes) @ 0x0000020d87a0f52c [0x0000020d87a0f240+0x2ec] j java.awt.EventDispatchThread.pumpEventsForFilter(Ljava/awt/Conditional;Ljava/awt/EventFilter;)V+4 j java.awt.WaitDispatchSupport$2.run()V+59 j java.awt.WaitDispatchSupport$4.run()Ljava/lang/Void;+4 j java.awt.WaitDispatchSupport$4.run()Ljava/lang/Object;+1 v ~StubRoutines::call_stub J 805 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; (0 bytes) @ 0x0000020d85a7da52 [0x0000020d85a7da00+0x52] j java.awt.WaitDispatchSupport.enter()Z+325 j java.awt.Dialog.show()V+233 j java.awt.Component.show(Z)V+5 j java.awt.Component.setVisible(Z)V+2 j java.awt.Window.setVisible(Z)V+2 j java.awt.Dialog.setVisible(Z)V+2 j com.supermap.desktop.controls.ui.controls.SmDialog.showDialog()Lcom/supermap/desktop/controls/ui/controls/DialogResult;+226 j com.supermap.desktop.controls.ui.controls.progress.SmDialogProgress.doWork(Lcom/supermap/desktop/core/progress/Interface/UpdateProgressCallable;)V+36 j com.example.rail.DialogRail.lambda$new$4(Ljava/awt/event/ActionEvent;)V+176 j com.example.rail.DialogRail$$Lambda$680.actionPerformed(Ljava/awt/event/ActionEvent;)V+5 j javax.swing.AbstractButton.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+83 j javax.swing.AbstractButton$Handler.actionPerformed(Ljava/awt/event/ActionEvent;)V+5 j javax.swing.DefaultButtonModel.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+34 J 12458 C1 javax.swing.DefaultButtonModel.setPressed(Z)V (125 bytes) @ 0x0000020d8646bda4 [0x0000020d8646a800+0x15a4] j

1个回答

您好,上述异常是由于新建三维场景窗口的逻辑没有放到 UI 线程中执行导致的,需要使用 SwingUtilities.invokeLater 接口将新建场景窗口的代码放到 UI 线程中执行,可参考 https://blog.csdn.net/Causal321/article/details/131592251 教程。

希望可以帮到您。

2,163EXP 2023年07月31日
...