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

Clicking another state when VI is running throws an error and crashes the editor #68

Closed
alexgieg opened this issue Apr 5, 2018 · 4 comments

Comments

@alexgieg
Copy link

alexgieg commented Apr 5, 2018

Here's how to reproduce the problem with JKI State Machine Editor v2013.5.3.218 (the most recent one available from VIPM as of this post) in LabVIEW 2017 v17.0f2:

  1. Open a VI with a JKI State Machine in it.
  2. Right click the state machine's border and open the JKI State Machine Explorer.
  3. With the Explorer open, run the VI.
  4. With the VI running, go back to the block diagram.
  5. In the Explorer, click any state other than the current one. The following error window will appear:
    sme_1
  6. Click continue.
  7. Stop the VI. You'll notice the the Explorer windows is still there.
  8. Open the VI again.
  9. Right click the border of the state machine. You'll notice the option to open the Explorer isn't there, so you cannot open it. Other JKI State Machine Editor options do work however, but the Explorer itself is gone.
  10. Close the VI.
  11. Close the project (if there's one).
  12. Open the project again (if there's one).
  13. Open the VI.
  14. Right click the border of the state machine. You'll notice the option to open the Explorer still isn't there.
  15. Close the VI.
  16. Close the project (if there's one).
  17. Close LabVIEW itself.
  18. Sometimes a small error window will appear informing you something is running and asking you whether you want to close it:
    sme_3
  19. Reopen LabVIEW.
  20. Reopen the project (if there's one).
  21. Reopen the VI.
  22. The option to open the Explorer is back and it can be opened normally.

My suggestions:

  • It'd be a good idea to trap these errors so that the Explorer can continue functioning afterwards.
  • It'd be also a good idea for the editor to check whether the VI is running and to disable all of its state-changing functionality until it's stopped, maybe by graying out and preventing clicks anywhere on its windows.
  • And it'd be extra nice to have a Tools menu option to force close and reload the whole editor in case something else goes wrong.

Thanks!

@alexgieg
Copy link
Author

alexgieg commented Apr 5, 2018

I updated the post adding the missing screenshot to step 18.

@jimkring
Copy link
Contributor

jimkring commented Apr 6, 2018 via email

@alexgieg
Copy link
Author

alexgieg commented Apr 6, 2018

You're welcome. :-)

jimkring added a commit that referenced this issue Apr 6, 2018
@jimkring
Copy link
Contributor

jimkring commented Apr 7, 2018

This has been fixed in release 2013.5.4.221

@jimkring jimkring closed this as completed Apr 7, 2018
jimkring added a commit that referenced this issue Aug 22, 2018
* Find_Data_Accessors: (21 commits)
  Fix for Issue #77: QuickDrop Shortcut (Ctrl+J) should work even if no items selected and BD has a JKI SM
  rebuilt
  Fix for #74 LabVIEW Crashes Reference JKI State Machine Helper Now ensures that the JKI SM Explorer dialog is always opened in the NI.LV.Dialog application context and cleaned up some queue reference management, just in case it helps
  Fix for #74 LabVIEW Crashes Reference JKI State Machine Helper Now ensures that the JKI SM Explorer dialog is always opened in the NI.LV.Dialog application context and cleaned up some queue reference management, just in case it helps
  Fix for #74 LabVIEW Crashes Reference JKI State Machine Helper Now ensures that the JKI SM Explorer dialog is always opened in the NI.LV.Dialog application context and cleaned up some queue reference management, just in case it helps
  Rebuilt after adding release notes to VIPB packaqe build spec
  - Fixed Issue #66 (Error 1055 on Cancel while adding dynamic user event), and some other cleanup
  Fix for issue #71 (Category collapses on rename)
  - Fixed issue where wires that were not string types were showing the Insert "Add State(s) to Queue" right-click option
  New Feature: Insert "Add State(s) to Queue" right-click menu on state string wires
  Improvements to code that will make it easier to handle case where Event Structure is not the first frame of the Case Structure

  Fix for Issue #69 (Suggestion: Add scrollbars and mouse wheel support to Explore States windows) Explore State String dialog now shows (and hides) the vertical scrollbar as needed
  Fixed Issue #68 (Clicking another state when VI is running throws an error and crashes the editor)
  - Fix for issue #55 "States tree auto-expands when tree refreshes"
  - Fixed issue with right-click on state strings when they were wired through or inside of nested structures
  rebuilt
  - Fixed issues with navigation that prevented the Idle/Event frame from working correctly in the navigation history
  - Improved quick filtering (search) of states, so that it correctly keeps the Core category and it's sub-items.
  - Improvements to numbering of Event Frames ([0], [1], etc.) when using the quick filter text box - Now preserves the Idle, "" Event Frame when filtering items and an Event Frame is remaining (after filtering) - Added Expand All and Collapse All right-click options to the tree view

  rebuilt
  ...
jimkring added a commit that referenced this issue Aug 22, 2018
* Find_Data_Accessors: (23 commits)
  Don't close VI Reference to queue creator/test VI when creating the queue.
  Revert "Fixed the issue of unable to launch multiple instances"
  Fix for Issue #77: QuickDrop Shortcut (Ctrl+J) should work even if no items selected and BD has a JKI SM
  rebuilt
  Fix for #74 LabVIEW Crashes Reference JKI State Machine Helper Now ensures that the JKI SM Explorer dialog is always opened in the NI.LV.Dialog application context and cleaned up some queue reference management, just in case it helps
  Fix for #74 LabVIEW Crashes Reference JKI State Machine Helper Now ensures that the JKI SM Explorer dialog is always opened in the NI.LV.Dialog application context and cleaned up some queue reference management, just in case it helps
  Fix for #74 LabVIEW Crashes Reference JKI State Machine Helper Now ensures that the JKI SM Explorer dialog is always opened in the NI.LV.Dialog application context and cleaned up some queue reference management, just in case it helps
  Rebuilt after adding release notes to VIPB packaqe build spec
  - Fixed Issue #66 (Error 1055 on Cancel while adding dynamic user event), and some other cleanup
  Fix for issue #71 (Category collapses on rename)
  - Fixed issue where wires that were not string types were showing the Insert "Add State(s) to Queue" right-click option
  New Feature: Insert "Add State(s) to Queue" right-click menu on state string wires
  Improvements to code that will make it easier to handle case where Event Structure is not the first frame of the Case Structure

  Fix for Issue #69 (Suggestion: Add scrollbars and mouse wheel support to Explore States windows) Explore State String dialog now shows (and hides) the vertical scrollbar as needed
  Fixed Issue #68 (Clicking another state when VI is running throws an error and crashes the editor)
  - Fix for issue #55 "States tree auto-expands when tree refreshes"
  - Fixed issue with right-click on state strings when they were wired through or inside of nested structures
  rebuilt
  - Fixed issues with navigation that prevented the Idle/Event frame from working correctly in the navigation history
  - Improved quick filtering (search) of states, so that it correctly keeps the Core category and it's sub-items.
  ...
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

2 participants